Skip to content

Getting Started

Installation

pip install dinocheck
# or with uv
uv add dinocheck

How it works

Dinocheck is agent-native: your AI coding agent (Claude Code, Codex, Gemini CLI) performs the review itself. Zero config - no API keys, no model setup, no external LLM calls.

Setup

dino init    # creates dino.yaml and offers to create the agent skill
# or just:
dino skill   # creates the skill for detected agents (.claude/.codex/.gemini)

That's it. When you ask your agent to review code (or it decides to check its own work), the skill runs this loop:

# 1. Dinocheck selects the files and the rules that apply to each
dino brief --diff -o .dinocheck/brief.md

# 2. The agent reads the brief and analyzes each file with its checklists

# 3. Dinocheck validates the findings, scores, caches, and prints the result
dino report .dinocheck/results.json

You can also run dino brief yourself and paste the brief into any assistant.

Output Formats

Format Use Case
text Colored terminal output (default)
json Full JSON for tooling integration
jsonl JSON Lines for streaming

CI Integration

Dinocheck needs an AI coding agent to perform the analysis, so in CI you run it through an agent CLI (e.g. Claude Code in headless mode):

name: Dinocheck
on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: astral-sh/setup-uv@v5

      - run: uv add dinocheck
      - run: uv run dino skill --agent claude
      - run: |
          claude -p "Run the dinocheck skill on the files changed in this PR \
            and summarize the findings. Fail only on blocker or critical issues."
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}