Bring your own LLM, bring your own API key. Configurable reviewer agents, secret scanning & redaction, threat detection, and native CI integration — in a single binary.
Works with any LLM provider
Features
A single binary with batteries included. No SaaS middleman sitting between you and your LLM.
Anthropic, OpenAI, Gemini, DeepSeek, xAI, Groq, Cohere, Perplexity — or any OpenAI-compatible endpoint. Your keys, your data.
Define reviewer agents in Markdown with YAML frontmatter. Give them tools to explore your codebase — read files, search code, or run custom CLI commands.
200+ rules detect and redact secrets before your code ever reaches the LLM. Entropy checks catch what rules miss.
Detect obfuscated payloads, dangerous APIs, supply chain hooks, and backdoors in diffs — before the LLM review even starts. LLM triage cuts false positives.
No runtime, no daemon, no SaaS account. One binary — works locally and in every CI environment.
One price for your whole team. No per-seat licensing, no usage-based billing. Free for personal and open-source use.
Getting Started
Single binary, no runtime dependencies.
# Quick install curl -fsSL https://nitpik.dev/install.sh | sh # Or via Homebrew brew tap nsrosenqvist/nitpik brew install nitpik
Set a provider and API key — that's it.
export NITPIK_PROVIDER=anthropic export ANTHROPIC_API_KEY=sk-...
Point it at a diff and get findings instantly.
nitpik review --diff-base main
Reviewer Profiles
Five profiles ship out of the box. Create your own with Markdown and YAML.
--- name: team-conventions description: Enforces our coding standards tags: [style, conventions] tools: - name: run_tests command: cargo test --- You are a code reviewer enforcing our team's conventions. Check for: - snake_case functions - Result-based error handling - Doc comments on public items
CI Integration
Inline annotations on GitHub, code quality reports on GitLab, review comments on Forgejo — all built in.
on: pull_request jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/cache/restore@v4 with: path: ~/.config/nitpik/cache key: nitpik-${{ github.repository }} - uses: nsrosenqvist/nitpik@v1 with: profiles: backend,security fail_on: warning scan_secrets: "true" env: NITPIK_PROVIDER: ${{ vars.NITPIK_PROVIDER }} NITPIK_MODEL: ${{ vars.NITPIK_MODEL }} NITPIK_API_KEY: ${{ secrets.NITPIK_API_KEY }} NITPIK_LICENSE_KEY: ${{ secrets.NITPIK_LICENSE_KEY }} - uses: actions/cache/save@v4 if: always() with: path: ~/.config/nitpik/cache key: nitpik-${{ github.repository }}
Pricing
No per-seat charges. No usage caps. You bring the model — we bring the tooling.
Commercial subscriptions launching shortly. Get notified →