Skip to content

README: say how to start the game, pick pygame, and run the image - #204

Merged
dmccoystephenson merged 1 commit into
mainfrom
docs/readme-running-the-game
Sep 26, 2026
Merged

dmccoystephenson merged 1 commit into
mainfrom
docs/readme-running-the-game

Conversation

@dmccoystephenson

Copy link
Copy Markdown
Member

Summary

Stage A documentation accuracy sweep. The README was checked against the source, and one gap was found: it describes four front-ends but never says how to start any of the terminal ones.

  • New "Running the game" section (after Setup): python3 src/fishE.py for the default console front-end; what ./run.sh actually does (git pull, installs pygame/pytest/requirements, runs the suite, starts the game only if it passes, per run.sh); how to switch to pygame (the INTERFACE_TYPE constant in src/fishE.py, which FishE() in __main__ defaults to); and what install.sh / uninstall.sh do.
  • Docker line under "Play in your browser": the Dockerfile builds web/game.zip and runs web/serve.py with FISHE_WEB_HOST=0.0.0.0, FISHE_WEB_PORT=8080, and no save volume. None of this was mentioned in the README.
  • src/fishE.py comment only: the INTERFACE_TYPE comment still referred to "a future web type". It now points at the two browser entry points (examples/web_app.py, web/pyodide_main.py). No code changed.

Other README claims were checked and found accurate: fishing hours and energy cost, the $10,000 goal and the $1,000 reveal, export hold sizes and markets, the housing ladder, investment property names, menu labels, the save-slot summary, and the web and save-dir environment variables.

No tracking issue: the gap was found during the triage sweep, and no issues were open at triage time.

Test plan

  • Full suite passed locally under dummy SDL drivers: 910 passed. Local tak is the editable 0.1.1, not the pinned v0.2.0, so CI on this head is the real anchor.
  • CI Run Unit Tests green on the PR head
  • install.sh, uninstall.sh and docker build were not executed. Shell scripts can't be run in this environment, and CI doesn't run them. The text was written from reading the files.

This PR description was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).

🤖 Generated with Claude Code


drafted by Claude on behalf of Daniel Stephenson

The README described four front-ends but never how to launch the
default console one, how to switch to pygame (edit INTERFACE_TYPE in
src/fishE.py), what install.sh/uninstall.sh do, or that the Dockerfile
packages the in-browser build. The INTERFACE_TYPE comment still
called the web front-ends "a future web type"; point it at their own
entry points instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dmccoystephenson

Copy link
Copy Markdown
Member Author

Self-review rubric (docs-only PR, CI test green on head in 1m8s; full suite 910 passed locally):

  • Scope: PASS. Two files. README.md gets a new section plus one Docker paragraph, and src/fishE.py gets a comment-only change to the INTERFACE_TYPE comment the new section points at. No code was touched.
  • Tests-new: PASS (n/a). No new functions.
  • Tests-fix: PASS (n/a). This is not a bug fix.
  • Sibling structure: PASS. The new ## Running the game heading matches the README's existing ## level, and the code block matches the fenced bash style used under Setup and Contributing.
  • Sibling renames: PASS (n/a). Nothing was renamed.
  • Docs: PASS. Each new claim was traced to source:
    • run.sh runs getLatest (git pull), then checkDependencies (pygame, pytest, requirements), then runTests, which aborts on failure, then startProgram.
    • __main__ in src/fishE.py calls FishE(), which defaults to INTERFACE_TYPE.
    • install.sh clones to /usr/games and writes /bin/fishe, which runs cd /usr/games/FishE && ./run.sh. uninstall.sh removes both.
    • The Dockerfile runs build_zip.py and sets FISHE_WEB_HOST=0.0.0.0 / FISHE_WEB_PORT=8080. There is no VOLUME.
    • The anchor #play-in-your-browser resolves to the existing ### Play in your browser heading.
  • Issue resolution: PASS (n/a). There is no Closes; the gap was found during the triage sweep.
  • CI: PASS. test passed on the PR head.
  • Schema-sync / Money-format / Deterministic-tests / Headless-pygame / camelCase: n/a. No persisted fields, displays, tests or identifiers changed.

Findings:

  • README.md:26 notes that install.sh, uninstall.sh and docker build were described from reading the files, not from running them. Shell scripts can't be executed in this environment, and CI doesn't run them. A manual smoke test of docker build -t fishe . && docker run -p 8080:8080 fishe is recommended but not required, since the command follows directly from the Dockerfile's EXPOSE 8080 / CMD.
  • README.md:26 also leaves out that install.sh runs apt-get install git without -y and calls mkdir /usr/games without -p. It can therefore stop at a confirmation prompt, or print an error on a machine where /usr/games already exists. That is a problem in the script, not in these docs, and it is left out of scope here and filed separately.

Verdict: ready to merge. No protected paths are touched (README.md, src/fishE.py comment only).

This review was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).


drafted by Claude on behalf of Daniel Stephenson

@dmccoystephenson
dmccoystephenson merged commit eec5dd1 into main Sep 26, 2026
1 check passed
@dmccoystephenson
dmccoystephenson deleted the docs/readme-running-the-game branch September 26, 2026 07:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant