Set up Cursor Cloud dev environment#879
Conversation
Co-authored-by: burtenshaw <[email protected]>
|
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update. |
There was a problem hiding this comment.
Alignment Review Report
This PR adds a single new Markdown file, AGENTS.md (+29 lines), documenting Cursor Cloud dev-environment specifics on top of CLAUDE.md. No code, config, CI, or lockfiles are touched.
Automated Checks
- Lint: N/A (PASS) —
.claude/hooks/lint.shonly lints Python (src/,tests/,envs/); this diff is Markdown-only. The hook did fail in the review VM, but solely becauseuvisn't installed there (environmental, not introduced by this PR). Nothing Python changed; defer the canonical lint run to CI. - Debug code: CLEAN —
.claude/hooks/check-debug.shreports only pre-existing prints/TODOs insrc/; zero findings inAGENTS.md.
Open RFCs Context
Current RFCs are In Review (000 project-phases, 001 abstractions, 002 env-spec, 003 mcp-support, 005 agentic-harnesses) or Draft (010 echo-env-token-world-model), plus 004 (rewards/rubrics). None of them cover contributor tooling or dev-environment onboarding docs, so none are relevant to this change.
Tier 1: Fixes Required
None.
Tier 2: Alignment Discussion
Principle Conflicts
None identified. AGENTS.md is contributor-facing onboarding documentation. It does not alter any API surface, reward computation, the client-server boundary, or the MCP/WebSocket dual-API model, so no principle in PRINCIPLES.md or invariant in INVARIANTS.md is affected.
RFC Conflicts
None identified.
Summary
- 0 mechanical issues to fix
- 0 alignment points for human review
- 0 RFC conflicts to discuss
Doc accuracy check (for a docs PR, the review is verifying claims against the codebase — all confirmed):
- "~35" environments → exactly 35 dirs under
envs/✓ envs/echo_env/server/app.pyexists, sopython -m echo_env.server.appanduvicorn echo_env.server.app:appare valid ✓openenv serveis a print-only stub (src/openenv/cli/commands/serve.py) ✓ENABLE_WEB_INTERFACEandCallToolActionare real ✓- Both named pre-existing usort files (
tests/envs/test_grid_world.py,tests/envs/test_julia_env.py) exist ✓ - The Gradio Playground
arguments-as-plain-textbox bug is real:gradio_ui.py:182falls back togr.Textboxfor dict-typed fields ✓
Non-blocking nit: a few hardcoded specifics (~80s suite runtime, ~129 skipped tests, the two named usort files) are accurate today but will drift as the repo evolves. Consider softening them so the doc stays correct without upkeep. Not a blocker — this is a clean, well-verified documentation addition.
Sent by Cursor Automation: Untitled
| - Core deps are enough to run/test the core library and `echo_env`. Most other envs have optional, heavy deps (`torch`, simulators, etc.); their tests auto-skip when deps are absent. Install per-env extras only when working on that env, e.g. `uv pip install -e "envs/coding_env[dev]"`. | ||
|
|
||
| ### Lint / test / build / run (standard commands live in `CLAUDE.md`) | ||
| - Tests need `PYTHONPATH=src:envs`, e.g. `PYTHONPATH=src:envs uv run pytest tests/ -q`. Full suite is ~80s; ~129 tests skip without optional env deps (expected). |
There was a problem hiding this comment.
Non-blocking nit: these hardcoded specifics (~80s runtime, ~129 skipped tests) — and the two named usort files on the next line — are accurate right now but tend to drift as the suite grows and lint gets fixed. Consider softening (e.g. "a handful of optional-dep env tests skip") so the doc stays correct without ongoing upkeep.


Summary
Sets up the development environment for the OpenEnv monorepo and documents cloud-specific setup for future agents.
AGENTS.mdwith a## Cursor Cloud specific instructionssection covering project shape, dependency refresh, lint/test commands, how to run an environment server end-to-end, and the optional Gradio web-UI gotcha.uv(if missing) and runuv sync --all-extras.No application code was modified.
Environment verification
uv sync --all-extrasinstalls core + CLI + provider extras into.venv/.ruff format --checkandruff checkpass;usort checkflags two pre-existing files only.PYTHONPATH=src:envs uv run pytest tests/ -q→ 1379 passed, 129 skipped (optional env deps).echo_envreference server and completed a hello-world client flow (reset→list_tools→step(echo_message)), echoing back the input message.Hello-world client log:
echo_hello_world.log