Skip to main content

Quick Start

Configure a repository, confirm which local tools will run, and exercise the gate before relying on it during a push.

1. Initialize the repository

Run the interactive wizard from a Git repository. It selects a provider, fetches the models your account can use when supported, stores an API key without echoing it, writes drep.toml, and installs the default pre-push hook.

bash
cd your-repo
drep init

For a scripted setup, name the provider and hook mode explicitly:

bash
drep init --provider openrouter --hooks both
drep init --provider codex --hooks pre-push

Provider choice is local

drep init adds drep.toml to .gitignore by default. The file contains no secret, but keeping it local lets each checkout choose its own provider and quota.

2. Inspect the plan

drep doctor shows detected languages, configured deterministic tools, missing executables, the enabled LLM chain, and any machine-level site policy. A configured tool that is missing is not silently skipped.

bash
drep doctor

3. Check a change directly

bash
# What is staged for the next commit
drep check --staged

# What changed since a ref
drep check --diff origin/main

Deterministic findings block. LLM findings inform by default; add --fail-on error when you deliberately want error-severity model findings to gate. A site policy can refuse semantic review for a marked repository; that is an unanalyzed result and exits 2, while local deterministic tools still run.

4. Push normally

bash
git push

If the review is cold, drep finishes and caches it, then exits 3 to avoid resuming a potentially stale remote connection. When drep explicitly says the cache was warmed, immediately run git push again. The fresh connection uses the cached verdict.

5. Understand the review-round limit

Authoritative staged, diff, pre-commit-push, and bare push-gate checks allow three fresh, finding-producing semantic-review rounds per branch and worktree by default. Clean results and pure analysis failures do not consume a round, and a clean complete change-set check resets the cycle.

At the limit, deterministic tools and cached reviews still run, but a cold semantic-review miss exits 2 without contacting a provider. Raise the limit for one invocation with --max-review-rounds N, or explicitly remove it with --unlimited-reviews.

bash
drep check --staged --max-review-rounds 5
drep check --diff origin/main --unlimited-reviews

6. Acknowledge an accepted finding

Each LLM finding includes a fingerprint. Acknowledging it prevents repeat reports while the surrounding source remains the same.

bash
drep acknowledge <fingerprint>

Exit codes

CodeMeaning
0All required analysis ran and found nothing blocking
1Blocking findings
2Required analysis did not run
3Cache-only miss, or a successful push-gate warm that requires a fresh push