Repository navigation
ci: add the GitHub Actions workflow + git hooks the docs already reference - #1
Conversation
…rence The README badge, the README "Continuous integration" section, the Makefile `hooks` target, and CHANGELOG all reference `.github/workflows/ci.yml` and `.githooks/` — but neither had ever existed in the repo, leaving a broken CI badge and a `make hooks` target that pointed at a missing directory. Add them, faithful to what the docs describe and wired to the existing `make` targets so there is one source of truth: - .github/workflows/ci.yml — three jobs matching README §CI: rust (fmt-check · clippy -D warnings · test for ctx-symbols + md-db), shellcheck (gate scripts), and plugin (json · eval-validate · version-check · `claude plugin validate --strict`). - .githooks/pre-commit — fast half of `make ci` (fmt-check · json · eval-validate · version-check), no network/tokens. - .githooks/pre-push — full `make ci`. Verified locally: ctx-symbols 17/17 tests pass, `claude plugin validate --strict` passes, all gate scripts pass `bash -n`, the structural gate blocks on duplicate symbols and passes clean (both ctx-symbols and grep backends), and `make json/eval-validate/version-check/fmt-check` are green. https://claude.ai/code/session_013YRoP4XZt3nthiexDiacN7
on:push branches:[**] plus on:pull_request double-fired CI for every PR commit. Scope push to master so branch coverage comes from the PR event, not both. https://claude.ai/code/session_013YRoP4XZt3nthiexDiacN7
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9ffeef5729
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| set -euo pipefail | ||
| cd "$(git rev-parse --show-toplevel)" |
There was a problem hiding this comment.
Honor the documented hook bypass
When a developer follows the README's documented SKIP_HOOKS=1 bypass, this hook still proceeds to run the Make targets because there is no early check for that environment variable (the same pattern exists in pre-push). That makes the newly added hooks unexpectedly block commits/pushes in the exact scenario the docs say should be bypassable, such as a known failing local dependency or an intentional WIP commit.
Useful? React with 👍 / 👎.
Audit + fix: documentation referenced CI and git hooks that never existed
I audited the plugin against the Claude Code platform docs and ran the test suite. The structure is sound — the one concrete gap was docs describing artifacts that were never committed.
Audit results (all good)
SubagentStart/SubagentStopare real events, and both support agent-type-name matchers (intake,red-worker, …) — exactly howhooks/hooks.jsonis wired. The SKILL correctly notes that plugin-subagent frontmatter hooks are ignored, which matches the docs.claude plugin validate ./plugin --strict→ passed.make json/make eval-validate(10 suites) /make version-check→ green.cargo fmt --checkclean.bash -n.ctx-symbolsbackend and with the grep fallback.The gap this PR closes
The README badge, the README "Continuous integration" section, the Makefile
hookstarget, andCHANGELOG.mdall reference.github/workflows/ci.ymland.githooks/— but neither had ever existed in git history. Result: a broken CI badge and amake hookstarget pointing at a missing directory.This adds them, faithful to what the docs describe and wired to the existing
maketargets (one source of truth):.github/workflows/ci.yml— three jobs matching README §CI:rust—fmt-check·clippy -D warnings·test(ctx-symbols + md-db)shellcheck— lints every gate scriptplugin—json·eval-validate·version-check·claude plugin validate --strict.githooks/pre-commit— fast half ofmake ci(no network/tokens).githooks/pre-push— fullmake ciNotes / follow-ups (not in this PR)
kdl 6.7.1dependency requires rustc ≥ 1.95. CI usesstable, which satisfies it; flagging in case you want to pin an MSRV or document it.repositoryURL in plugin.json when you create the public repo," butplugin.jsonalready has it. Left as-is to keep this PR focused.https://claude.ai/code/session_013YRoP4XZt3nthiexDiacN7
Generated by Claude Code