diff --git a/AGENTS.md b/AGENTS.md index 7719ed9..08fff50 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,6 +7,21 @@ This repo is the global AI development configuration repository — the authorit - `plugins/` — installable plugin units; each is self-contained (skills, agents, hooks, MCP servers, bundled assets); install separately via `claude plugin install @holocron` - `providers/claude-code/` — Claude Code adapter (deployed to `~/.claude/` via `install.sh`) +## Setup + +- Install git hooks: `pre-commit install -t pre-commit -t pre-push -t commit-msg`. `.pre-commit-config.yaml` uses all three stages and has no `default_install_hook_types` set, so a plain `pre-commit install` only wires the `pre-commit` stage and silently skips `commit-msg` (Conventional Commits check) and `pre-push` (test suite, manifest check). + +## Testing instructions + +- Run `bash tests/run-tests.sh` before considering any change done, and fix failures — it runs every `test-*.sh` script in the repo plus the bats suite (`tests/run-bats.sh`). +- `bash tests/run-tests.sh --bats-only` runs just the bats suite. +- The bats suite auto-initializes its submodules (`tests/bats`, `tests/test_helper/bats-support`, `tests/test_helper/bats-assert`) on first run if the `bats` binary is missing — no manual `git submodule update` needed. + +## Commit / PR conventions + +- Commit messages must follow Conventional Commits — enforced by the `conventional-pre-commit` hook at the `commit-msg` stage. +- Pushing runs the full test suite (`tests/run-tests.sh`) and `scripts/check-manifests.sh` (validates `marketplace.json`/`plugin.json` paths resolve) via pre-push hooks — run both locally first so a failing push isn't a surprise. + ## Key documents Read CONTEXT.md at the start of every session in this repo.