Replace the single file-structure.md with a stratified layout designed
for AI/agent skill consumption: tables and concrete identifiers over
prose, files loaded on demand, content separated by churn rate.
Layers:
- architecture/ stable structural reference (overview, source-map,
test-map, data-flow)
- patterns/ memory, commands, autocomplete, events, xmpp,
encryption, ui, plugins
- testing/ unit-tests, stubs, functional-tests, bench
- build/ local, docker, ci
- playbooks/ add-command, add-test, add-autocomplete,
add-event-handler, add-encryption
- gotchas.md append-only dated entries (seven seed entries)
- wip/ branch-specific notes; deleted on merge to master
Stable layers describe cproof on master only. In-flight feature
branches (currently feat/ai) get a single file under wip/.
INDEX.md is the entry map with churn labels; SKILL.md is the
always-loaded skill hint pointing to it.
1.5 KiB
1.5 KiB
name, description
| name | description |
|---|---|
| cproof-context | Architectural and conventional context for the cproof XMPP terminal client. Load INDEX.md first; pull individual files on demand based on the task at hand. |
cproof skill entry
cproof is a terminal-based XMPP client in C, fork of Profanity (renaming WIP). Build: autotools + GLib. Tests: cmocka (unit) + custom runner (functional) + custom benches.
How to use this context
- Read
INDEX.mdfor the full file map and churn labels. - For any non-trivial task, pull only the files relevant to it:
- Touching commands? →
patterns/commands.md,patterns/autocomplete.md,playbooks/add-command.md. - Touching tests? →
testing/unit-tests.md,testing/stubs.md,playbooks/add-test.md. - Touching XMPP? →
patterns/xmpp.md. - Building? →
build/docker.md(canonical) orbuild/local.md.
- Touching commands? →
- Always consult
gotchas.mdbefore finishing — it lists known pitfalls. - If the task is on a feature branch listed under
wip/, load the matching WIP file as well — the stable layers describemasteronly. - Treat path/identifier references in this context as claims to verify against cproof HEAD before acting on them.
Hard rules
- Build inside Docker (
Dockerfile.debian). Do not runautogen.sh/./configure/makeon the host. - Do not mix architecture, patterns, status, and gotchas in a single doc — each has its own home.
- Do not duplicate what
ls/grepwould answer cheaper. This context exists for invariants, decisions, and "why".