ProductDevelopersSolutionsPricingDownload
Integrations
AmpAmpClaude CodeClaude CodeClaude CoworkClaude CoworkCodexCodexGitHub CopilotGitHub CopilotCursorCursorDevinDevinFactory DroidFactory DroidGeminiGeminiKimiKimiKiroKiroOpenClawOpenClawOpenCodeOpenCodePiPiWarpWarpZencoderZencoder
Programs
Open SourceScience & Research
Book a Demo

Add choochoo validate to your CI pipeline to catch spec errors before they merge. Make sure you have installed the CLI and completed the Quickstart first.

GitHub Actions

Add this to .github/workflows/choochoo.yml:

name: ChooChoo Validate

on: [push, pull_request]

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '22'

      - name: Install ChooChoo CLI
        run: npm install -g @choochoo-works/cli

      - name: Validate
        run: choochoo validate ./choochoo/docs --quiet

The --quiet flag outputs JSON only, which is easier to parse in CI. The exit code tells you the result: 0 = all valid, 1 = validation errors, 10 = approval required (pipeline pauses until a human approves via The Station or CLI — treat as "pending", not "failed").

GitLab CI

Add this to .gitlab-ci.yml:

choochoo_validate:
  image: node:22
  script:
    - npm install -g @choochoo-works/cli
    - choochoo validate ./choochoo/docs --quiet
  only:
    - merge_requests
    - main

Pre-commit hook

You can also run validation as a Git pre-commit hook:

# Using husky
npm install husky --save-dev
npx husky install
npx husky add .husky/pre-commit "choochoo validate ./choochoo/docs --quiet"

Understanding CI results

Exit code Meaning
0 All files valid
1 Validation errors found
10 APPROVAL_REQUIRED — a governance gate is blocking; treat as "pending", not "failed"

For detailed error information and exit codes, see Error Messages.

Next steps

  • CLI Reference — Full reference for the validate command and all flags.
  • Error Messages — Troubleshoot validation errors by error code.
  • Agent Trace — Record agent traces alongside your CI checks.

Last updated: May 22, 2026