general · git:20260916.b334104 · 2026-09-16 · sha256 caf1cee59e6f5841
general git:20260916.b334104A
Immutable. This exact content is served forever at /api/v1/blob/caf1cee59e6f5841.
--- name: general description: General development guidelines, nix environment, service startup, development preferences, code quality principles. Use for all Donut coding work. --- # General Development Rules - Consult `.agents/agent-map.md` when navigation, focused commands, service assumptions, generated API guidance, ADR locations, or log inspection is unclear. - Architectural decisions: humans approve via `docs/adrs/`; agents use `dough-adr-awareness` (see `architecture-decisions` skill). - Run repo tooling through Nix (`CURSOR_DEV=true nix develop -c …`) unless documented otherwise (e.g. Cloud VM). **Git commands do not need the Nix prefix** — run `git` directly. - For Cursor Cloud VM without Nix, use the `cloud-vm-setup` skill. - When deleting files, prefer `trash` from the Nix environment instead of `rm -f` or `rm -rf`. - Keep high cohesion: minimize duplication, keep one representation for each concept, and place related code together. - Keep changes simple. Do not add defensive layers unless observed behavior requires them. - Failure handling: ADR 0006 (`docs/adrs/0006-failure-handling-accepted.md`). - Unit tests use the "small test" style (stable boundary, data over mocks, focused assertions, concise `makeMe`) — the `unit-testing` skill. - Problem, story, and execution-leaf splits must pass the gates in the `problem-decomposition` skill; planning artifacts and lifecycle use the `planning` skill. - Name permanent artifacts by product capability, not development history or planning sequence numbers. - Do not add comments or docs about past implementations in product code, tests, or permanent docs; code readers care about the current state. - **`.planning/` exception:** while a plan is **in progress**, keep enough history in the PLAN file (slice status, brief learnings) to **stop and resume** across sessions. When the plan is **fully executed** into code and permanent docs, **actively clean up** spent planning history (see `planning` skill). - Planning layout and lifecycle: the `planning` skill.