Skip to content

docs: how to write PR descriptions, with demos recorded against the stub - #60

Open
alukach wants to merge 3 commits into
chore/demo-recorderfrom
docs/pr-description-demos
Open

alukach wants to merge 3 commits into
chore/demo-recorderfrom
docs/pr-description-demos

Conversation

@alukach

@alukach alukach commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Adds a "Pull request descriptions" section to AGENTS.md. CLAUDE.md is @AGENTS.md, so Claude reads it there, and so do other agents and contributors. It writes down the style used in #57:

  • The sections, in order: what users can now do, with example commands; how it behaves; demos; what's not in the PR; follow-ups elsewhere; testing, including what wasn't tried.
  • Demos: one asciinema recording per command or flow, failure paths included. Each is shown as a GIF on the demo-assets branch, linked to its player, where reviewers can pause and rewind. That's the markdown record.py --upload --gif-base … prints. asciinema.org's own SVG and PNG previews show as broken images on GitHub, whose image proxy can't fetch them. Uploads are public to anyone with the link, so record only stub data, and run asciinema auth so recordings stay on an account. Treat recording as a review pass: feat: manage members and invitations (member, invitation) #57's demos caught two awkward messages.
  • The stub server (demo/stub.py): how it runs is in demo/README.md, so this section keeps only the rules for extending it.
    • Never point a demo at a real environment.
    • Keep fixtures obviously fake.
    • Add endpoints as demos need them; anything else gets a clear 404.
    • Use the API's real shapes, taken from the OpenAPI spec or the source.coop routes. Every listing comes in pages, memberships included (since source.coop#673).
    • It checks almost nothing: add refusals only where a demo shows one.

Stacked on #59 (chore/demo-recorder), whose demo/ tooling this section describes. Merge #59 first, then retarget this PR to main.

Note for #57: #57 calls /accounts/{id}/members, /products/{account}/{product}/members and /memberships/{id}/accept|reject|revoke, which source.coop#679 replaced with one /memberships resource. Its own demos used a one-off stub of those old endpoints on its demos/pr-57 branch. demo/stub.py already serves /memberships: listing them as pages, inviting, and changing a role or state. So once #57 moves there, porting its demos to demo/ should need only fixtures and whatever else its commands call.

Testing

Docs only. cargo test still passes, including the README and help checks.

🤖 Generated with Claude Code

@claude

claude Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Claude finished @alukach's task in 8s —— View job


✅ No blocking issues — safe to merge.

Docs-only change to AGENTS.md. I checked it against demo/: record.py has the --upload and --gif-base flags it describes, and demo/README.md has the pr-60 example. The rules it states match the existing AGENTS.md sections.

Simplify (ponytail)

  • AGENTS.md "The stub server": the "Never point a demo at a real environment" and "Keep fixtures obviously fake" bullets repeat what demo/README.md already says. Cut them to a one-line pointer there, or keep them in only one of the two files.

💰 Estimated review cost: $0.10 · 0m07s · 4 turns

@alukach
alukach force-pushed the docs/pr-description-demos branch from 71ecb8c to 7120c02 Compare October 17, 2026 06:36
alukach and others added 3 commits October 16, 2026 23:55
AGENTS.md (which CLAUDE.md includes) now says what a PR description
holds and in what order, how to record and embed demos with demo/, and
how the stub server works and is extended.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
asciinema.org's SVG previews show as broken images on GitHub, whose image
proxy can't fetch them, so demos are GIFs on the demo-assets branch linked
to the player, as #59's record.py now prints. Membership lists are pages on
source.coop since its #673, like every other listing. The stub's mechanics
are left to demo/README.md; this keeps the rules for extending it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@alukach
alukach force-pushed the docs/pr-description-demos branch from 7120c02 to 28b5fc6 Compare October 17, 2026 06:55
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