Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -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 <branch> /tmp/devkit-<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.

## 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 <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 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.
12 changes: 12 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -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).