Skip to content

Installation

Jacob Centner edited this page Apr 10, 2026 · 2 revisions

Installation

Prerequisites

  • 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

Optional external tools

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

Install from source

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.

Web UI (optional)

pip install -e ".[web]"

Installs Starlette, Jinja2, and uvicorn for the browser-based triage dashboard.

All extras

pip install -e ".[detectors,web]"

Verify installation

sentinel --version
sentinel doctor          # checks all tools and config

sentinel doctor reports which external tools are available and which detectors will be active.

LLM provider setup (optional)

If you want LLM-assisted detectors (semantic-drift, test-coherence) or the LLM judge, configure one of these providers:

Ollama (local, default)

# Install Ollama (see https://ollama.com/)
ollama pull qwen3.5:4b     # default model (4B params, ~2.5 GB)
ollama serve                # start the server

Sentinel connects to Ollama at http://localhost:11434 by default. Override with --ollama-url or ollama_url in sentinel.toml.

OpenAI-compatible

# 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.).

Azure AI

# 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.

Clone this wiki locally