# Project guidance template

Use this when creating AGENTS.md. Keep it project-specific and short. Copy only
sections that apply.

````markdown
# AGENTS.md

<project> is <one sentence describing the app/library/service>.

## Commands

```bash
mise run check # Runs fix, tidy, vet, vuln, build, and test:quiet
mise run fix # Runs golangci-lint fmt, modernize, and golangci-lint run --fix
mise run build # Builds <binary or packages>
```

## Workflow

- Use `mise` for project tooling and tasks. Run `mise run check` before ending
  the turn. While iterating, use narrower tasks such as `mise run fix`,
  `mise run test`, or parallelised mise tasks when appropriate. Do not bypass
  mise with direct formatter or linter commands.

- Follow red/green TDD for behaviour changes. Write or update the failing test
  first, then implement the smallest slice that makes it green.

- Do not smoke test unless asked. If smoke testing reveals a gap, add or improve
  automated tests so the same issue is caught in the future.

- Work in tiny slices that are independently verifiable. Keep unrelated
  documentation, AGENTS.md, or tooling edits separate from feature changes.

- If the project uses jujutsu, start by reading `jj status`. Use `jj diff --git`
  for git-style diffs. Create a new change before unrelated work.

- If the project uses a spec tool such as acai, update or confirm the relevant
  spec before implementation and reference the exact spec IDs covered by the
  slice.

- If the project explicitly adopts gocuke, keep feature files and step
  definitions aligned with the formulated behaviour. Otherwise, use ordinary Go
  tests.
````
