AGENTS.md
Communication style
Be concise, avoid repetition, and formality. Don't agree reflexively, validate claims and correct mistakes explicitly. When outputing text for human consumption (code comments, PR descriptions, documents, etc) use simplified english
Code Style
- Less code is better, no code is best.
- Build what's needed now, not what might be needed later
- Self-documenting: use clear names for types, fields, variables, functions
- Types should encode meaning (use Duration, not string; use enums, not magic strings)
- Don't write tests for logs, metrics, or other observability behavior
- Zero comments by default, only explain if it is truly complex or unexpected behaviour
- When in doubt, ask.
Security and access
- Zero Trust. Least privilege. Never leak secrets.
- Do not under any circumstance read any secret files into context. Assume what is reasonably a secret (.env, auth token files, etc.)
- Do not search the entire home directory for something. If you don't know where something is, ask
State Mutation
Never mutate state irreversibly without approval. This includes irreversible git operations, OS config edits, etc. Before running any command that writes, deletes, or overwrites irreversibly: ask "is there a way to undo this without my current context? git commit log, reflog, or other persistent mechanism?". If no, it requires explicit permission. Intent ("I'm fixing it") does not override this. If a file edit fails because of non-matching lines, re-read it first and merge your changes, as file may have been edited externally.
Git operations
- Interactive rebase opens
$GIT_EDITORand blocks. Run withGIT_SEQUENCE_EDITOR=: GIT_EDITOR=true git rebase -i <base>. - Use
git switch(notgit checkout) when changing or creating branches - Keep branch names very short and simple. Don't append names or ticket numbers to the branch name
- When pushing feature branches, always use the full push command
git push origin <branch>
Remote access
- Never mutate remote production cloud systems, like databases, Kubernetes, AWS, etc. (read-only access is allowed)
- Services that are used for development (GitHub, Grafana, etc.) are fine to write to when prompted.
- Full local docker read and write access is allowed