README for the repo page; HOW-IT-WORKS overview; ARCHITECTURE, PROTOCOL, DEVELOPMENT checked against the code; ROADMAP is backlog only (isolate/dedicated server, sync fixes, rendering+shaders, Windows build, Jellyfin epic). HANDOFF.md and mpv-http-contract.md folded in and deleted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.9 KiB
AGENTS.md
Repo-specific rules. Global interaction rules live in the user-level AGENTS.md. Source of truth: the code, then the docs below.
Docs
- README.md: users. docs/HOW-IT-WORKS.md: plain tour. docs/ARCHITECTURE.md: packages, sync, media, updater, decisions. docs/PROTOCOL.md: wire format. docs/DEVELOPMENT.md: build, test, release, gotchas. docs/ROADMAP.md: backlog and epics.
- Docs describe current truth only: no dates, no "fixed" notes, no phase logs (git has history, plans go in ROADMAP).
- Each fact lives in exactly one file; others link to it.
- Code and its docs change in the same commit. A wire change also bumps
RelayConstants.protoVersionand edits PROTOCOL.md. - User-facing wording says "server" (there is only one), never "room". Code identifiers and wire names keep their real names until the rename in ROADMAP item 1.
Wishlist drafts
The user drops raw idea/bug lists as drafts (gitignored, never committed:
docs/Wishlist.md, docs/drafts/). On sight, translate each entry into its
place in docs/ROADMAP.md (ordered backlog item or epic; keep repro detail
for real bugs), confirm placement with the user, then delete the draft.
Drafts must never be committed, even partially.
Commits
Few commits, one per topic/session, never per fix. Rewriting unpushed
history (amend, squash) is normal. Commit code + its docs together. No
flutter analyze unless asked or diagnosing; scoped dart analyze on touched
files is the pre-commit check. Run tests only when the code under test changed.
Releases
tool/release.sh [patch|minor|major] then git push --follow-tags; CI
publishes. Details: docs/DEVELOPMENT.md. Never commit
secrets: tokens come from env (DISCORD_WEBHOOK_URL, RELEASE_TOKEN) or
Actions (GITHUB_TOKEN/GITEA_TOKEN).