diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..7f8f723 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,65 @@ +# AGENTS + +> **Note:** this file is staged in `cproof-context` for review. Its +> destination is the **cproof** repo root, not this one. It is **not** +> agent instructions for the `cproof-context` repository itself. + +Project-level agent instructions for cproof (terminal XMPP client, fork of +Profanity). + +## Agent context bundle + +Detailed architecture, patterns, testing, build, playbooks, and known +pitfalls for this project live in a separate repository: + +- **Repo:** https://git.jabber.space/devs/cproof-context +- **Pinned commit:** `22977846a3b2c1727ae6aeeaa1de70971bc0136e46b131febac7591df7d72e75` + (branch `draft/split-context`) + +Bump the pinned commit explicitly when the context bundle is updated. Do +not track a moving branch. + +## Load order + +On session start (before doing meaningful work in this repo): + +1. Read `SKILL.md` from the pinned commit — the always-loaded entry hint. +2. Read `INDEX.md` — map of every context file with churn labels and + "When to load" guidance. +3. Pull individual files from the bundle on demand, driven by the task + and the `INDEX.md` "When to load" column. Do **not** preload the whole + bundle. +4. Always scan `gotchas.md` before completing a non-trivial task. +5. If working on a feature branch listed under `wip/` (currently + `wip/feat-ai.md` for branch `feat/ai`), load that file as well — the + stable bundle layers describe `master` only. + +## Hard rules for this project + +- **Build inside Docker.** Use `Dockerfile.debian` at the repo root. Do + not run `./autogen.sh`, `./configure`, or `make` on the host shell. See + `build/docker.md` in the context bundle. +- **`make check` is the only routine test entry point.** Functional tests + (`tests/functionaltests/`) and benches (`tests/bench/`) are not part of + CI; run them locally inside the Docker image when needed. +- **Treat path / identifier references in the context bundle as claims + to verify.** They were authored against a specific cproof commit; grep + the live tree before relying on them. +- **`master` is the canonical baseline.** Feature-branch surface (e.g. + `src/ai/` on `feat/ai`) is documented only under `wip/.md` in + the context bundle. Do not assume branch-specific files exist on + `master`. + +## Where agent context does NOT live + +- This file is the only project-level agent instruction. There is no + parallel `CLAUDE.md`, `.cursorrules`, or per-tool variant. +- User-specific preferences (language, commit-trailer policy, identity) + belong in the agent runtime's user-memory, not in this file. + +## Updating the bundle + +Edits to architectural / pattern / test / build documentation land in the +`cproof-context` repo, not here. After a context-bundle PR merges, +update the pinned commit hash above in the same PR cycle that consumes +the new content.