Guidance for AI agents (Codex, Claude Code, Hermes, and any Coven familiar)
opening pull requests against this repo. Humans: your canonical guide is
CONTRIBUTING.md — this is the agent-specific layer on top.
Read first:
README.mdfor what this repo is, andCONTRIBUTING.mdfor the full contribution bar — including the DCO sign-off requirement, which is mandatory here.
coven-github is the GitHub App adapter for OpenCoven (Rust): it routes
GitHub issues, labels, mentions, and review comments into a Coven familiar, then
publishes progress via Check Runs, issue comments, draft PRs, and CovenCave
session links.
This repo uses the Developer Certificate of Origin. Every commit must carry
a Signed-off-by trailer:
git commit -s -m "type: summary"This produces Signed-off-by: Your Name <your.email@example.com>. Use a real
GitHub-linked identity. See CONTRIBUTING.md for the full DCO
text.
- Never push to
main. Every change lands via a PR with green CI. Branch from currentorigin/main. - Fresh branch per task; use a worktree if multiple sessions may touch this
repo:
git fetch origin main git worktree add -b <branch> /tmp/covengh-<branch> origin/main
- Keep the diff scoped to one concern; conventional-commit subjects
(
feat:,fix:,docs:,chore:,refactor:). - After merge: delete the remote branch, remove your local worktree/branch.
CI (.github/workflows/ci.yml) rejects on any of these. Run them first:
cargo check --all-targets
cargo clippy --all-targets -- -D warnings
cargo test --all-D warnings has no exceptions. Fix lints; don't #[allow(...)] without a
justifying comment.
- This is an adapter, not a familiar. Keep GitHub-webhook/App plumbing here;
don't reimplement familiar/authority logic that belongs in
coven. - Never commit App private keys, webhook secrets, or installation tokens. The placeholder-secret list exists to keep test fixtures inert — keep real credentials out of the repo entirely.
- Surface progress through the GitHub-native primitives (Check Runs, comments, draft PRs) rather than inventing new side channels.
When you re-land or build on someone else's work, credit the human contributor with a working GitHub-linked trailer so they appear in the contributors graph and on their profile:
Co-authored-by: Full Name <ID+username@users.noreply.github.com>
- Use the numeric-id no-reply form. Get the id with
gh api users/<login> --jq .id. - Never use a machine/
.localemail in a co-author trailer — it links to no account and gives zero credit. - A commit can carry both
Signed-off-by:(DCO, required) andCo-authored-by:(attribution) trailers — include both when re-landing a contributor's work.
- Never commit secrets, tokens, or private emails. Use
*.noreply.github.comfor attribution. - Don't disable CI gates or branch protection to land a change. If it can't go through a green PR, surface the blocker instead.
CLAUDE.md points here — this file is the source of truth for both.