diff --git a/AGENTS.md b/AGENTS.md index 8601e63..c935c08 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -375,6 +375,20 @@ git add packages/my-tool README.md bd close # Mark task as complete ``` +## Agent skills + +### Issue tracker + +Issues live in the beads database (`.beads/`, driven by the `bd` CLI), synced through `git push`. The Gitea remote is not the issue tracker. See `docs/agents/issue-tracker.md`. + +### Triage labels + +The five canonical triage roles keep their default names, applied as `bd` labels. See `docs/agents/triage-labels.md`. + +### Domain docs + +Single-context layout: `CONTEXT.md` plus `docs/adr/` at the repo root. See `docs/agents/domain.md`. + ## Beads Issue Tracker diff --git a/docs/agents/domain.md b/docs/agents/domain.md new file mode 100644 index 0000000..c53864c --- /dev/null +++ b/docs/agents/domain.md @@ -0,0 +1,55 @@ +# Domain Docs + +How the engineering skills should consume this repo's domain documentation when exploring the codebase. + +## Before exploring, read these + +- **`CONTEXT.md`** at the repo root, or +- **`CONTEXT-MAP.md`** at the repo root if it exists — it points at one `CONTEXT.md` per context. Read each one relevant to the topic. +- **`docs/adr/`** — read ADRs that touch the area you're about to work in. In multi-context repos, also check `src//docs/adr/` for context-scoped decisions. + +If any of these files don't exist, **proceed silently**. Don't flag their absence; don't suggest creating them upfront. The `/domain-modeling` skill (reached via `/grill-with-docs` and `/improve-codebase-architecture`) creates them lazily when terms or decisions actually get resolved. + +## File structure + +Single-context repo (most repos): + +``` +/ +├── CONTEXT.md +├── docs/adr/ +│ ├── 0001-two-overlay-strategies.md +│ └── 0002-package-discovery-via-git-index.md +├── packages/ +├── overlays/ +└── modules/ +``` + +This repo uses the single-context layout. There is no `CONTEXT-MAP.md` and no per-directory `CONTEXT.md` files; the whole overlay is one domain. + +Multi-context repo (presence of `CONTEXT-MAP.md` at the root): + +``` +/ +├── CONTEXT-MAP.md +├── docs/adr/ ← system-wide decisions +└── src/ + ├── ordering/ + │ ├── CONTEXT.md + │ └── docs/adr/ ← context-specific decisions + └── billing/ + ├── CONTEXT.md + └── docs/adr/ +``` + +## Use the glossary's vocabulary + +When your output names a domain concept (in an issue title, a refactor proposal, a hypothesis, a test name), use the term as defined in `CONTEXT.md`. Don't drift to synonyms the glossary explicitly avoids. + +If the concept you need isn't in the glossary yet, that's a signal — either you're inventing language the project doesn't use (reconsider) or there's a real gap (note it for `/domain-modeling`). + +## Flag ADR conflicts + +If your output contradicts an existing ADR, surface it explicitly rather than silently overriding: + +> _Contradicts ADR-0007 (event-sourced orders) — but worth reopening because…_ diff --git a/docs/agents/issue-tracker.md b/docs/agents/issue-tracker.md new file mode 100644 index 0000000..32c8a4b --- /dev/null +++ b/docs/agents/issue-tracker.md @@ -0,0 +1,63 @@ +# Issue tracker: bd (beads) + +Issues and specs for this repo live in the beads database at `.beads/`. The source of truth is `.beads/issues.jsonl`, managed through the `bd` CLI (v1.3.0). beads state is versioned in the repo and synced with `git push`; there is no separate Dolt remote. + +The forge remote (`git.millerson.name`, self-hosted Gitea) is not the issue tracker. Do not open Gitea, GitHub, or GitLab issues for work in this repo. + +## Core commands + +```bash +bd ready # open issues with no active blockers +bd show # full issue detail +bd list # list issues +bd search "" # text search +bd create "title" -d "description" -p 2 -l label1,label2 +bd q "quick capture" # create and print only the id +bd update --claim # claim before starting work +bd close --reason "..." +bd reopen +bd comment "..." # conversation history +bd note "..." # append a note +bd tag