diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..67f50e2 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,89 @@ +# AGENTS.md — coven-devkit + +Guidance for **AI agents** (Codex, Claude Code, and any Coven familiar) opening +pull requests against this repo. Humans: your canonical guide is +[`CONTRIBUTING.md`](CONTRIBUTING.md) — this is the agent-specific layer on top. + +> **Read first:** [`README.md`](README.md) for what this repo is, and +> [`CONTRIBUTING.md`](CONTRIBUTING.md) for the full contribution bar — including +> the **DCO sign-off requirement**, which is mandatory here. + +--- + +## What this repo is (one line) + +`@opencoven/coven-devkit` is an **OpenClaw plugin package** that bundles narrow, +repo-aware **skills** for expert Coven work. + +## DCO — every commit must be signed off (mandatory) + +This repo uses the **Developer Certificate of Origin**. Every commit needs a +`Signed-off-by` trailer or merge will block it: + +```sh +git commit -s -m "type: summary" +``` + +Use a real GitHub-linked identity. See [`CONTRIBUTING.md`](CONTRIBUTING.md) for +the full DCO text. + +## Branch & PR workflow (all agents) + +- **Never push to `main`.** Every change lands via a PR with green CI. Branch + from current `origin/main`. +- **Fresh branch per task**; use a worktree if multiple sessions may touch this + repo: + ```sh + git fetch origin main + git worktree add -b /tmp/devkit- 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. + +## Checks — run locally before opening the PR + +```sh +pnpm run check # scripts/validate-skills.sh — every skill must validate +``` + +A skill that fails validation blocks the PR. Fix the skill manifest/structure +rather than skipping the check. + +## Repo-specific invariants (don't break these) + +- Skills must stay **narrow and repo-aware** — one clear job each, not + general-purpose grab bags. +- Every skill must pass `validate-skills.sh`. When you add or edit a skill, + keep its `SKILL.md` and any referenced assets consistent and self-contained. +- This is a **plugin package** consumed by OpenClaw; keep the packaging surface + (`@opencoven/coven-devkit`) stable and intentional. + +## Attribution — credit contributors correctly + +When you re-land or build on someone else's work (a fork PR, an issue author's +proposal, a co-author), **credit the human contributor with a working +GitHub-linked trailer** so they appear in the contributors graph: + +``` +Co-authored-by: Full Name +``` + +- Use the **numeric-id no-reply form**. Get the id with `gh api users/ --jq .id`. +- **Never** use a machine or `.local` email in a co-author trailer — it links to + no account and gives **zero** credit. +- A commit can carry **both** `Signed-off-by:` (DCO, required) and + `Co-authored-by:` (attribution) trailers — include both when re-landing a + contributor's work. +- Credit **people**, not AI tools. + +## Secrets & safety + +- Never commit secrets, tokens, or private emails. Use `*.noreply.github.com` + for attribution. +- Don't disable CI gates or branch protection to land a change; surface the + blocker instead. + +## Claude Code + +`CLAUDE.md` points here — this file is the source of truth for both. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..70c0e14 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,12 @@ +# CLAUDE.md — coven-devkit + +**Read [`AGENTS.md`](AGENTS.md).** It is the canonical guide for AI agents +(including Claude Code) contributing to this repo — the mandatory **DCO +sign-off** (`git commit -s`), the branch/PR workflow, local checks +(`pnpm run check` = `validate-skills.sh`), the skill invariants, and contributor +attribution. + +Claude Code auto-loads this file; everything you need lives in `AGENTS.md` plus +[`README.md`](README.md) and [`CONTRIBUTING.md`](CONTRIBUTING.md). There is no +separate Claude-only workflow — follow `AGENTS.md` (and remember `-s` on every +commit).