docs: make README setup commands cross-platform - #138
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the project README to make setup and usage instructions more cross-platform, especially for Windows shells, by clarifying path conventions and standardizing on uv run examples.
Changes:
- Adds a “Shell and path conventions” section to clarify path separators and repo-root assumptions.
- Updates uv instructions to use
uv sync --lockedand encouragesuv runto avoid shell-specific activation. - Expands pip instructions with explicit activation steps for PowerShell/cmd/Linux and updates example commands to be more portable.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| The commands below use `/` in repository paths. This works in PowerShell, | ||
| Command Prompt, macOS, and Linux; you do not need to rewrite paths with `\`. | ||
| Run all commands from the repository root unless noted otherwise. |
thc1006
left a comment
There was a problem hiding this comment.
Sorry for the slow reply, this sat for two days before I noticed the request.
TLDR: I ran everything it tells a competitor to run and all of it works, including the pip path CI never touches. Nothing blocking from me. Two notes below, and one thing about develop that is not visible from here.
What I ran
On a clean checkout of the branch, in order:
uv sync --locked installs
uv run python -m unittest discover tests OK, 22 skipped
uv run python doc/examples/test_navigation_agent.py runs to completion
and every path the new text points at resolves: BalloonPoppingGymEnv/evaluation/evaluate.py, the config beside it, and the results directory.
Then Option B the way the README now words it, in a fresh venv:
python -m venv .venv
python -m pip install -r requirements.txt
python -c "import BalloonPoppingGymEnv, rocketpy" both import
That last one is worth saying out loud because CI has a comment admitting it does not cover it: the gating job installs requirements-dev.txt, and requirements.txt is the file a competitor is sent to. So the part of the README this PR expands most is also the part nothing else checks. It works today, on Linux at least.
The one thing I cannot check here
The PowerShell and cmd branches. This machine has neither, so I read them rather than ran them, and I would not claim more than that.
Copilot's point about / and \ looks fair to me, though smaller than it reads: the new section says paths do not need rewriting with \, and then the activation commands are .\.venv\Scripts\Activate.ps1. Those can both be true, since the sentence is about repository paths and the activation script is a Windows path, but a reader hitting them ten lines apart has to work that out. One clause in the conventions sentence would settle it.
Something not visible from this PR
develop is four PRs ahead of main and one of them, #137, edits the same README block your step 2 sits in: it replaces the working example team_secret with a placeholder. I merged your branch into develop locally and git resolves it cleanly, with the result reading correctly, so this is not a conflict to fix.
Worth knowing anyway, because @zuorenchen has since said the example secret was there on purpose so people can test the submit path without registering, and #137 may be reverted. Either way this PR is unaffected.
Small
uv sync to uv sync --locked is the right change and matches what CI does.
Nothing here needs to change for me. Happy either way on the / and \ clause.
What this changes
Why
How it was checked
(
breaking-change,enhancement,bug,documentation)CHANGELOG.mdunderUnreleased