-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
- Python 3.11+
- Git (required for git-hotspots, todo-scanner age enrichment, incremental scans)
- LLM provider (optional) — for the LLM judge and semantic analysis. Supported: Ollama (local), OpenAI-compatible APIs, or Azure AI
These tools enable specific detectors. Sentinel works without them — detectors that need unavailable tools simply produce no findings.
| Tool | Detector | Install |
|---|---|---|
| ruff | lint-runner |
pip install ruff (included in [detectors] extra) |
| pip-audit | dep-audit |
pip install pip-audit (included in [detectors] extra) |
| ESLint or Biome | eslint-runner |
npm install -g eslint or npm install -g @biomejs/biome
|
| golangci-lint | go-linter |
Install guide |
| cargo clippy | rust-clippy |
Included with Rust toolchain |
git clone https://github.com/jcentner/sentinel.git
cd sentinel
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[detectors]"The [detectors] extra installs ruff and pip-audit for full Python detector coverage.
pip install -e ".[web]"Installs Starlette, Jinja2, and uvicorn for the browser-based triage dashboard.
pip install -e ".[detectors,web]"sentinel --version
sentinel doctor # checks all tools and configsentinel doctor reports which external tools are available and which detectors will be active.
If you want LLM-assisted detectors (semantic-drift, test-coherence) or the LLM judge, configure one of these providers:
# Install Ollama (see https://ollama.com/)
ollama pull qwen3.5:4b # default model (4B params, ~2.5 GB)
ollama serve # start the serverSentinel connects to Ollama at http://localhost:11434 by default. Override with --ollama-url or ollama_url in sentinel.toml.
# sentinel.toml
[sentinel]
provider = "openai"
model = "gpt-4o-mini"
api_base = "https://api.openai.com/v1"
api_key_env = "OPENAI_API_KEY"
model_capability = "standard"export OPENAI_API_KEY=sk-...Also works with any OpenAI-compatible endpoint (LiteLLM, vLLM, etc.).
# sentinel.toml
[sentinel]
provider = "azure"
model = "gpt-5.4-nano"
api_base = "https://your-resource.services.ai.azure.com"
api_key_env = "AZURE_API_KEY"
model_capability = "standard"export AZURE_API_KEY=...See Model Providers for full details on each provider.
Local Repo Sentinel · MIT License
Getting Started
Reference
Detectors
- Detector: Todo Scanner
- Detector: Complexity
- Detector: Dead Code
- Detector: Dep Audit
- Detector: Docs Drift
- Detector: Unused Deps
- Detector: Lint Runner
- Detector: ESLint Runner
- Detector: Go Linter
- Detector: Rust Clippy
- Detector: Git Hotspots
- Detector: Stale Env
- Detector: Semantic Drift
- Detector: Test Coherence
- Detector: CI/CD Drift
- Detector: Architecture Drift
- Detector: Inline Comment Drift
- Detector: Intent Comparison
Advanced
Workflow