Imported from vanillagreencom/kendex (
.github/AGENTS.md). Install upstream withnpx skills add vanillagreencom/kendex --skill .github. Copyright stays with the author.
.github/
This repository's own continuous integration and the instruction files its review bots read. Nothing here is catalog content.
copilot-instructions.md,instructions/code-review.mdandinstructions/*.instructions.mdare rendered by the bot-instructions package and each names its generator in a comment: line 1 of the first two, and below theapplyTofrontmatter in aninstructions/*.instructions.md. Change[bot-instructions]in the effective manifest and re-render, never the file.instructions/code-review.mdis this repository's whole review doctrine.AGENTS.md§ Code Review Rules is the directive line that sends Codex there, andcopilot-instructions.mdcarries the same pointer for Copilot.- Every job runs on a GitHub-hosted runner. This repository is public and declares no self-hosted runner; the two publish workflows read
vars.CI_RUNNER_2Vfor the fleet's runner and fall back toubuntu-latest, which is what runs here since the variable is unset. own-catalog.ymlholds this repository to the same check a consumer gets by callingcatalog-check.yml, which is the reusable workflow consumers call; keep the caller's content out of the reusable one.skill-tests.ymlis the suite runner../skills/AGENTS.mdnames; it carries thetools/andhooks/suites and the Bash 3.2 legs as well. Itschangesjob reads the change class once throughactions/change-class, and../tools/ci-job-setturns that class into the lane selection every gated job reads, in its own condition or, for the platform legs, in the shard matrix. The aggregators keep the required contexts present through../tools/ci-aggregate, which accepts a skipped lane only where the class authorized it. ThePreflight (diff-scoped deterministic checks)andMarkdown (format + references)jobs are required checks on pull requests and skip merge groups.actions/change-classis the composite action this repository's workflows read a change class from, and the one a consumer references asvanillagreencom/kendex/.github/actions/change-class@mainin place of calling its vendored classifier, per../skills/harness-ci/references/wiring.md§ Through the composite action. It wraps../skills/harness-ci/scripts/change-classandharness-only --mode docsand classifies nothing itself; its suite is../tools/tests/change-class-action.test.sh. Itsclassifierinput names the checkout the shipped scripts are read from, andskill-tests.ymlpasses a separate default-branch checkout, so the classifier and the orch contract it measures by are never the pull request's copies. The wrapper itself,tools/ci-job-setandtools/ci-aggregatedo run from the pull request's tree: review holds them, and a change to any of them is refused every narrow class, so it runs every lane. A change to the classifier is proved by the harness-ci suite.review-gate-writer.ymlis a relay whose body must equal the review-gate package's template, which../skills/review-gate/scripts/validate-workflow.shchecks.release.ymlis../docs/RELEASING.md.publish-aur.ymlandpublish-homebrew.ymlcarrypackaging/to the AUR and the Homebrew tap; triggers, the dry-run dispatch and the secrets each needs are../packaging/README.md§ Publishing. Neither is called byrelease.yml: a release is published as a draft and the recipe bump follows it.
