This document describes the automated release pipeline, CI workflow constraints, contribution gate architecture, and repository maintenance rules in quota-axi.
Release Process & Automation
- Conventional Commits: Releases are driven by conventional commit messages (
feat:,fix:,chore:, etc.) merged intomain. - Release Please:
- Automatically manages version bumps, changelog generation, and release PRs.
.release-please-manifest.jsonwas primed at0.1.0(the version published manually before release-please integration); release-please updates it with each release.release-please-config.jsonlocksbootstrap-shato9f5dc949c50ab8ac0a441be777e1c3693ee0b612(the commit producing the published 0.1.0 package). Never alter this SHA unless correcting the published baseline.- Never Hand-Edit Generated Files: Do not manually edit
CHANGELOG.mdor.release-please-manifest.json. A guard workflow (.github/workflows/guard-generated-files.yml) automatically rejects PRs that touch them.
- npm Publishing:
- Merging the release PR triggers
.github/workflows/release-please.ymlto publish to npm. - Uses npm's OIDC trusted-publisher flow (
id-token: write+--provenance) without stored token secrets. - Publishing steps are gated only on
steps.release.outputs.release_created; the workflow has no repository guard. The binding to this package comes from npm's trusted-publisher OIDC configuration.
- Merging the release PR triggers
- Skill Generation:
skills/quota-axi/SKILL.mdis generated fromsrc/skill.ts.- Regenerate via
pnpm run build:skillrather than editing directly. CI validates parity viapnpm run build:skill -- --check.
CI Workflows & Exclusion Rules
- Release Output Set Exclusions:
- Every
pull_requestworkflow (ci.yml,guard-generated-files.yml) must include apaths-ignorefilter covering the release-please output set (.release-please-manifest.json,CHANGELOG.md,package.json).
- Every
- Gate Check Exception:
- The single deliberate exception to the
paths-ignorerule is.github/workflows/no-mistakes-required.yml. - The gate check verdict is a function of the pull request body, not the changed files. Adding a path filter would drop the gate on PRs that still require attestation.
- Both sides of this rule are guarded by
test/release-ci-exclusions.test.ts.
- The single deliberate exception to the
Contribution Gate Architecture
- Contributor Workflow: CONTRIBUTING.md defines contributor requirements, PR expectations, and exemptions.
- Trusted Repository Configuration:
.no-mistakes.yamldefinescommands.prepareandcommands.test(pnpm test), alongsidetest.instructionsfor post-baseline live validation.allow_repo_commandsremains disabled so untrusted pull request branches cannot inject arbitrary commands or agents.- Guarded by
test/no-mistakes-config.test.ts.
- Composite Action Pinning:
.github/workflows/no-mistakes-required.ymldelegates enforcement tokunchenguid/no-mistakes/.github/actions/require-no-mistakespinned to an immutable commit SHA.- The pin is bumped only via deliberate, standalone pull requests.
Lockfile Formatting
- The repository's
pnpm-lock.yamlis formatted with Prettier. - After updating dependencies, run:
pnpm exec prettier --write pnpm-lock.yaml - This ensures dependency diffs remain minimal and clean. CI's
pnpm install --frozen-lockfileaccepts Prettier-formatted YAML.