Skip to main content

Self-healing multi-agent code quality pipeline

Project description

SENTINEL

Self-healing AI code quality pipeline.

SENTINEL reviews your code, finds bugs, proposes fixes, verifies them in an isolated sandbox, and auto-applies the safe ones — all without leaving your terminal.

sentinel scan --path ./my-project --all
┌────────────────────────────────── Summary ──────────────────────────────────┐
│  Risk level        LOW  (0.25)                                              │
│  Files reviewed    2                                                        │
│  Findings          7                                                        │
│  Bugs found        3                                                        │
│  Auto-fixes        2    ← applied automatically                             │
│  Pending fixes     1    ← needs human review                                │
└─────────────────────────────────────────────────────────────────────────────┘

How it works

Your code
   │
   ▼
Risk assessment ──→ low risk: lightweight review
   │                high risk: full swarm
   ▼
Review swarm (parallel)
  ├── Architecture agent
  ├── Performance agent
  ├── Security agent
  └── Style & quality agent
   │
   ▼
Lead synthesis → findings report
   │
   ▼
Sandbox (Docker, no network, non-root)
  └── Run tests → find failures
   │
   ▼
Bug Squad (sequential)
  ├── Reproduce → isolate each failing test
  ├── Root cause → why it failed
  ├── Fix proposer → propose a patch
  └── Verifier → apply patch, re-run tests, confirm green
   │
   ▼
Approval gate
  ├── AUTO_MERGE  → safe fix, applied immediately
  └── HUMAN_REQUIRED → sensitive file or high risk

Install

pip install sentinel-ai

Requires Python 3.11+ and Docker (for the sandbox).


Setup

sentinel init

This walks you through getting two free API keys (takes ~2 minutes, no credit card):

SENTINEL uses both automatically (cascade mode) — Groq first, HuggingFace as a silent fallback.


Usage

# Scan every file in a project
sentinel scan --path ./my-project --all

# Scan only your staged git changes
sentinel scan --path . --staged

# Scan changes vs a branch
sentinel scan --path . --branch main

# Save report to a file
sentinel scan --path . --all --output report.md

# Run on a GitHub PR (needs GITHUB_TOKEN in .env)
sentinel run --repo owner/repo --pr 42

# Start webhook server (auto-scans PRs on open)
sentinel serve

Supported languages

Language Review Sandbox tests Auto-fix
Python ✓ (pytest)
TypeScript / JavaScript coming soon
JSX / TSX coming soon

LLM providers

Set LLM_PROVIDER in ~/.sentinel/.env:

Provider Cost Setup
cascade Free Groq + HuggingFace keys (recommended)
groq Free Groq key only
huggingface Free HuggingFace token only
ollama Free Local GPU, no API key
anthropic Paid Anthropic API key

Security

  • Sandbox runs with network_mode=none, non-root uid, memory + CPU limits
  • Webhook payloads verified with HMAC-SHA256 before parsing
  • Sensitive files (auth, payment, migrations, etc.) always require human approval
  • All secrets in ~/.sentinel/.env — never committed to version control

Self-hosted (team use)

For teams, run SENTINEL on a shared server with Ollama — no API keys, no quota, unlimited scans:

ollama pull qwen2.5-coder:7b
LLM_PROVIDER=ollama sentinel serve

License

AGPL-3.0 — free to use and self-host. If you offer SENTINEL as a hosted service, your full stack must be open-sourced under the same license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zendev_sentinel-0.1.0.tar.gz (84.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zendev_sentinel-0.1.0-py3-none-any.whl (100.2 kB view details)

Uploaded Python 3

File details

Details for the file zendev_sentinel-0.1.0.tar.gz.

File metadata

  • Download URL: zendev_sentinel-0.1.0.tar.gz
  • Upload date:
  • Size: 84.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for zendev_sentinel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 542e90ab4d2405fa5f9961fd5e55967dce7ba474b7a559dfc09e09ffc2665a95
MD5 2d8c8fc645123b5f49a55a599f3ed41e
BLAKE2b-256 30ed74354257474e2e708e4538d84f6b10317aed6f9f73fb91250934d1364d18

See more details on using hashes here.

File details

Details for the file zendev_sentinel-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for zendev_sentinel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee56c3e25230c28dcde2c416255cdd23c54a77034e8e4fdad07aaec27b66b500
MD5 113903df422b4c2b8a8bca47c03047ac
BLAKE2b-256 ba312c363b05ceb350c512f3bbe9664c4b0525fa687ee15be96a26fa78a77d9d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page