Expand description
drep - a local commit gate.
Two layers, split by source rather than severity:
- Deterministic: the linters and formatters the repository has already configured (ruff, eslint, tsc, gofmt, go vet, clippy). Precise enough to block a commit.
- Semantic: an LLM, told which language it is reading. It informs
unless
--fail-onopts it into gating.
Splitting by source is what makes the gate calibratable. Severity thresholds over LLM output never were.
Modules§
- analysis
- Analysis results and the vocabulary they are reported in.
- auth
- The credential store: API keys drep holds on the user’s behalf.
- cli
- Command-line surface.
- config
- TOML configuration.
- diff
- Which files changed, in git terms.
- docs
- Rule-based markdown checks. No LLM, no network, no configuration.
- files
- The only file-target policy.
- http
- The two pieces of HTTP drep performs for itself.
- languages
- Language registry: resolve a
Pathto the language that owns its extension. - llm
- LLM client and JSON extraction.
- text
- Text that comes from outside drep and lands in a terminal.
Enums§
- Exit
- How the process terminated.