Three writing surfaces were being asked to hold design reviews. Commit subjects on main averaged 101 characters, CHANGELOG.md ran to 6,090 lines for eight versions, and module rustdoc carried milestone codes and soak durations that git blame already keeps honest. The rules now live in docs/writing.md: Conventional Commits with a 72-character cap, Keep a Changelog categories for new sections, and comments that state an invariant rather than recap a diff. CONTRIBUTING, AGENTS.md and the Gitea PR template point at it, and the CHANGELOG header says which form new sections take. Nothing existing is rewritten. The changelog archive, the release notes and every current rustdoc header stay as they are; the style applies to what gets written next. Source: github.com/luxus/punktfunk-house-style
1.5 KiB
AGENTS.md
Guidance for coding agents working in this repository.
Writing standards
Read docs/writing.md before you write a commit message, a CHANGELOG.md entry, or a comment.
It is the house style for all three, and §4 is a per-PR checklist. The short version:
- Commit subject is
type(scope): summary— imperative, 72-character hard cap, no trailing period, one logical change. NoCo-Authored-Bytrailer. - The commit body is why, wrapped at 72. The investigation, the measurements and the rejected paths go on the pull request, never in the message.
- Write the Gitea PR title as a conventional commit; Gitea makes it the merge subject.
- New
CHANGELOG.mdsections use Keep a Changelog categories. Leave the older sections alone. - A comment states an invariant or a trap. A comment never enforces a trust boundary — a type, a test or an assertion does.
Agent skills
Issue tracker
Issues live as Gitea issues in unom/punktfunk on git.unom.io, driven by the gitea MCP server
(gh/glab/tea do not work here), and every write needs the user's go-ahead first.
See docs/agents/issue-tracker.md.
Triage labels
The five canonical roles, each label string equal to its name — needs-triage, needs-info,
ready-for-agent, ready-for-human, wontfix — none of which exist in the tracker yet.
See docs/agents/triage-labels.md.
Domain docs
Single-context: one CONTEXT.md and one docs/adr/ at the repo root, covering the whole
workspace. See docs/agents/domain.md.