project-guidance-template.md

 1# Project guidance template
 2
 3Use this when creating AGENTS.md. Keep it project-specific and short. Copy only
 4sections that apply.
 5
 6````markdown
 7# AGENTS.md
 8
 9<project> is <one sentence describing the app/library/service>.
10
11## Commands
12
13```bash
14mise run check # Runs fix, tidy, vet, vuln, build, and test:quiet
15mise run fix # Runs golangci-lint fmt, modernize, and golangci-lint run --fix
16mise run build # Builds <binary or packages>
17```
18
19## Workflow
20
21- Use `mise` for project tooling and tasks. Run `mise run check` before ending
22  the turn. While iterating, use narrower tasks such as `mise run fix`,
23  `mise run test`, or parallelised mise tasks when appropriate. Do not bypass
24  mise with direct formatter or linter commands.
25
26- Follow red/green TDD for behaviour changes. Write or update the failing test
27  first, then implement the smallest slice that makes it green.
28
29- Do not smoke test unless asked. If smoke testing reveals a gap, add or improve
30  automated tests so the same issue is caught in the future.
31
32- Work in tiny slices that are independently verifiable. Keep unrelated
33  documentation, AGENTS.md, or tooling edits separate from feature changes.
34
35- If the project uses jujutsu, start by reading `jj status`. Use `jj diff --git`
36  for git-style diffs. Create a new change before unrelated work.
37
38- If the project uses a spec tool such as acai, update or confirm the relevant
39  spec before implementation and reference the exact spec IDs covered by the
40  slice.
41
42- If the project explicitly adopts gocuke, keep feature files and step
43  definitions aligned with the formulated behaviour. Otherwise, use ordinary Go
44  tests.
45````