8000 ci: add the GitHub Actions workflow + git hooks the docs already reference by adeelahmad · Pull Request #1 · adeelahmad/aloop · GitHub
[go: up one dir, main page]

Skip to content

ci: add the GitHub Actions workflow + git hooks the docs already reference - #1

Merged
adeelahmad merged 2 commits into
masterfrom
claude/audit-review-docs-NsLvW
Jun 8, 2026
Merged

adeelahmad merged 2 commits into
masterfrom
claude/audit-review-docs-NsLvW

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

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)

  • Hooks model is valid against current Claude Code docs. SubagentStart/SubagentStop are real events, and both support agent-type-name matchers (intake, red-worker, …) — exactly how hooks/hooks.json is 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.
  • ctx-symbols: 17/17 unit tests pass. cargo fmt --check clean.
  • All 16 gate scripts pass bash -n.
  • Structural gate verified end-to-end, positive + negative, on both backends: blocks (exit 2) on a duplicate symbol, passes (exit 0) on a clean tree — with the real ctx-symbols backend and with the grep fallback.

The gap this PR closes

The README badge, the README "Continuous integration" section, the Makefile hooks target, and CHANGELOG.md all reference .github/workflows/ci.yml and .githooks/ — but neither had ever existed in git history. Result: a broken CI badge and a make hooks target pointing at a missing directory.

This adds them, faithful to what the docs describe and wired to the existing make targets (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 script
    • plugin — json · eval-validate · version-check · claude plugin validate --strict
  • .githooks/pre-commit — fast half of make ci (no network/tokens)
  • .githooks/pre-push — full make ci

Notes / follow-ups (not in this PR)

  • md-db doesn't build on rustc 1.94 — its kdl 6.7.1 dependency requires rustc ≥ 1.95. CI uses stable, which satisfies it; flagging in case you want to pin an MSRV or document it.
  • Minor doc staleness: README still says "Set the real repository URL in plugin.json when you create the public repo," but plugin.json already has it. Left as-is to keep this PR focused.

https://claude.ai/code/session_013YRoP4XZt3nthiexDiacN7


Generated by Claude Code

…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
@adeelahmad
adeelahmad marked this pull request as ready for review June 8, 2026 13:14
@adeelahmad
adeelahmad merged commit 6f1ee6f into master Jun 8, 2026
3 checks passed
@adeelahmad
adeelahmad deleted the claude/audit-review-docs-NsLvW branch June 8, 2026 13:16
@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread .githooks/pre-commit
Comment on lines +5 to +6
set -euo pipefail
cd "$(git rev-parse --show-toplevel)"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0