cd /news/ai-tools/sentinel-map-any-codebase-for-ai-age… Β· home β€Ί topics β€Ί ai-tools β€Ί article
[ARTICLE Β· art-32738] src=github.com β†— pub= topic=ai-tools verified=true sentiment=↑ positive

Sentinel- map any codebase for AI agents in 55s, no cloud, zero deps

Sentinel, a new open-source tool, scans codebases of up to 25,000 files in 55 seconds to generate structured, token-efficient context packs for AI coding agents. It operates entirely offline with zero dependencies, mapping architecture, scoring maintainability, and surfacing risk hotspots to improve agent performance.

read9 min views1 publishedJun 18, 2026

Scan β†’ Understand β†’ Act

25,000 files scanned in 55 seconds. Zero dependencies. 197 tests.

Quick Start Β· Install Β· Commands Β· Dashboard Β· Architecture

You use AI coding agents (Claude Code, Cline, Codex, Continue, Roo). They need to understand your codebase β€” but dumping raw files wastes tokens and misses context.

Sentinel solves this. It's a local, zero-dependency scanner that turns any repo into structured, token-efficient intelligence:

Point β†’ Scan β†’ AI-ready context pack (~2,500 tokens)

It maps architecture, scores maintainability, surfaces risk hotspots, identifies entry points, and generates ready-to-use prompts for your AI agent β€” all in seconds, entirely offline. No uploads. No API keys. No dependencies beyond Python stdlib.

flowchart LR
    A["πŸ“‚ Any Repo"] -->|scan| S["πŸ›‘οΈ Sentinel"]
    S --> B["πŸ’Š Health Score"]
    S --> C["πŸ”₯ Hotspots & Risks"]
    S --> D["🎯 Entry Points"]
    S --> E["πŸ€– Agent Prompt"]
    S --> F["πŸ“¦ Context Pack"]
    S --> G["πŸ’‘ Next Actions"]
    B & C & D & E & F & G --> H["🧠 AI Coding Agent"]
pip install -e .

python sentinel.py scan . --fast
╔══════════════════════════════════════════════════════════════╗
β•‘  πŸ›‘οΈ  SENTINEL  β€”  Repo Intelligence                         β•‘
╠══════════════════════════════════════════════════════════════╣
β•‘                                                              β•‘
β•‘  Project    kubernetes                                       β•‘
β•‘  Type       container orchestration platform                 β•‘
β•‘  Health     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘  74%                        β•‘
β•‘  Files      25,432                                           β•‘
β•‘  Lines      6,007,991                                       β•‘
β•‘  Time       55s                                              β•‘
β•‘                                                              β•‘
β•‘  ⚠️  Top risk: 3 oversize files exceeding 5K lines          β•‘
β•‘  πŸ’‘  Next action: Split kubelet.go into focused modules     β•‘
β•‘                                                              β•‘
β•‘  197 tests Β· 0 failures Β· no external dependencies          β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
Target Files Lines Time Health
Python library
234 42K 0.16s 🟒 86%
FastAPI web framework
~1K ~200K 4.56s 🟑 74%
Kubernetes (k8s.io/kubernetes)
25,432 6,007,991 55s 🟑 74%
Ladybird browser engine
~40K ~1.4M ~40s β€”

πŸ’‘

No cloud. No external services. Pure Python.Every scan runs entirely on your machine.

| | Name, type, archetype, purpose, language, frameworks, workflow β€” resolved through a 5-tier ranked fallback system that never returns garbage. | | | Maintainability, runtime complexity, test signal, security β€” with a detailed breakdown so you know | | | Primary runtime, API surfaces, examples, build tools, generators β€” with intelligent scoring (Go binaries get +80 bonus). | | | Runtime, build, test runner, documentation, vendor β€” ranked by risk so you attack the worst problems first. | | | Oversized files, TODO density, documentation drift, test gaps β€” every signal is actionable. | | | Suggestions ranked by | | | Ready-to-use prompt for | | | Compact, token-efficient project brief β€” ~2,500 tokens that replace hours of file reading. | | | Components, dependencies, archetype, patterns β€” the big picture at a glance. | | | Per-file scoring with deduplicated factors and test coverage β€” no noise, no duplicates. |

Suite Tests Scope
test_archetype_regressions
11 Archetype detection, entry point filtering, vendor classification
test_auditor
18 Checkpoints, file classification, maintainability, test signals
test_classification_regressions
36 File roles, risk surfaces, generated code, i18n, monorepo detection
test_ladybird_regressions
37 Risk surface classification, hotspot filtering, focus files
test_regression_fixtures
28 Full pipeline, identity resolution, purpose inference, HTML cleaning
test_report_quality
40 Project name extraction, entry points, health scoring, LLVM/rust detection
test_sentinel + misc
27 CLI commands, HTML report, dashboard, cache, MCP, knowledge base
python -m unittest discover -s tests -v

Sentinel resolves project names through a 5-tier ranked fallback β€” no more "Sponsors" as a project name when scanning FastAPI:

β”Œβ”€ Tier 1: Known repo names (22 entries)
β”‚   FastAPI Β· Kubernetes Β· TensorFlow Β· Flask Β· Django Β· React
β”‚   PyTorch Β· NumPy Β· Pandas Β· Vite Β· Express Β· Tailwind CSS Β· …
β”‚
β”œβ”€ Tier 2: Package manifests
β”‚   Cargo.toml Β· pyproject.toml Β· package.json Β· setup.py Β· go.mod Β· CMakeLists.txt
β”‚
β”œβ”€ Tier 3: Manifest descriptions
β”‚   Extracted from the same manifests
β”‚
β”œβ”€ Tier 4: README body
β”‚   First real paragraph after headings
β”‚
└─ Tier 5: README heading
    Validated against blocked section keywords (Installation, Usage, Sponsors, …)

A 6-step fallback chain that never returns a placeholder β€” no more ----

as project purpose:

Step Source What It Does
1 Manifest description Stripped of HTML/badges
2 README body First real paragraph, skip badges/tables/HTML
3 README summary Already-cleaned summary field
4 README doc_title subtitle Extracts subtitle after colon or em-dash
5 Component-based generation Built from non-test/doc component roles
6 Final fallback "Purpose could not be confidently inferred from README."

🎯

Example:"Kubernetes: Production-Grade Container Orchestration"

β†’"Production-Grade Container Orchestration"

Go binaries are detected even when not named main.go

:

cmd/kube-apiserver/apiserver.go    β†’  runtime entry point  (+80 score)
cmd/kubelet/kubelet.go             β†’  runtime entry point  (+80 score)
cmd/cloud-controller-manager/main.go β†’ runtime entry point

Major Go binaries get a +80 score bonus: kube-apiserver

, kubelet

, kube-controller-manager

, kube-scheduler

, kubectl

, kube-proxy

, kubeadm

.

Sentinel filters out the noise from all identity fields (project name, type, purpose, summary):

  • ❌ HTML tags Β· Markdown links Β· Badges Β· Images
  • ❌ Sponsor keywords Β· Section headings Β· Table artifacts
  • ❌ Decorative separators ( ----

,====

, etc.)

The generated HTML report is a single self-contained page β€” no external assets, no build step:

Element Description
🟒 SVG health ring Donut chart color-coded by score (green/gold/red)
πŸ“Š Stats bar Files, lines, issues, signals, TODOs at a glance
🏷️ Project identity + risk Definition lists in two-column card layout
πŸ”₯ Top risk insight Accent-bordered card with the single most important finding
πŸ’‘ Next actions Grid of suggestion cards with impact/effort/confidence badges
🎯 Hotspots + entry points Grouped file pills by category
πŸ“‹ Components table Path, role, file count, line count
By surface with level, score, and factors
🚨 Review signals Severity, message, file
πŸ€– Agent prompt Terminal-styled $ -prefixed block on dark background
πŸ“± Responsive Degrades gracefully from desktop to 500px viewport

Dark-theme browser command centre at ** http://127.0.0.1:8765**:

Features: Stats row Β· Project identity + risk cards Β· Shared inputs (query, repo URL, budget, goal, flags) Β· Toggle pills (fast scan, dry-run, apply, verify, adapters) Β· Tool cards (Understand, Ask, Reports, Quality, Memory, Maintenance, Analyze URL) Β· Output terminal Β· Suggestions + prompt Β· Focus/hotspots/frameworks Β· File risks + review signals tables Β· Health timeline Β· Auto-refresh (3s)

Command What It Does
scan
Analyse project structure, risks, hotspots
brief
One-line summary with the top suggestion
overview
Full project description with components, hotspots, workflow
context
Token-efficient project brief for AI agents
prompt
Focused next-step prompt with goal selection
retrieve
Find files, symbols, and snippets matching a query
ask
Answer a natural-language question about the project
analyze-url
Clone a git URL and generate a complete report bundle
graph
Extract AST symbols, import graph, call graph
verify
Preview or run focused tests for changed files
dashboard
Launch the live browser GUI
report
Save a Markdown or HTML report
pr
Summarise changes, risks, and suggested tests
release-check
Open-source readiness checklist
coverage
Identify weakly tested areas from coverage.xml
timeline
Show scan history, task memory, and token savings
memory
Record or list task memory
savings
Show estimated token savings
autofix
Plan or apply small safe fixes
doctor
Validate configuration and paths
mcp
Run as a stdio MCP server
mcp-health
Validate MCP tool availability
kilo-setup
Configure Kilo with Sentinel-first rules
kilo-bridge
Set up the no-MCP file bridge
kilo-refresh
Refresh Kilo context files before a task
watch
Continuously scan at an interval

One-liner (any platform):

pip install git+https://github.com/Ntooxx/Sentinel.git

From source (for development):

git clone https://github.com/Ntooxx/Sentinel.git
cd Sentinel
pip install -e .

Windows users: double-click install.ps1

or run:

powershell -ExecutionPolicy Bypass -File install.ps1

After install, the project-sentinel

command is available globally.

project-sentinel scan . --fast

project-sentinel dashboard . --fast
project-sentinel report . --format html

project-sentinel report . --format markdown
project-sentinel prompt . --goal next --budget small --fast

project-sentinel ask . --question "where is authentication handled?" --fast

project-sentinel analyze-url https://github.com/user/repo --fast

Maximize your AI agent's effectiveness while minimizing token spend:

project-sentinel overview . --fast --quiet

project-sentinel context . --budget small --fast --quiet

project-sentinel prompt . --goal next --budget small --fast --quiet

What the agent receives:

Output Tokens Value
Project overview ~1,500 Full project understanding
Compact context pack ~2,500 Replace hours of file reading
Focused next-step prompt ~800 Actionable direction
High-value focus files ~500 Narrowed verification path
Total
~5,300
Complete project intelligence
python -m unittest discover -s tests -v

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Test Results                                           β”‚
β”‚                                                         β”‚
β”‚  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  100%  β”‚
β”‚                                                         β”‚
β”‚  197 passed  Β·  0 failed  Β·  9.3s                      β”‚
β”‚  No flaky tests  Β·  No external dependencies           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Run Sentinel against all bundled fixture repos to verify performance claims on your own machine:

project-sentinel benchmark . --fast

Example output from a real run:

SENTINEL BENCHMARK
Benchmarked 7 fixture(s)
  cpp_repo              files=    2  lines=     6  time=  0.007s  health=85%
  docs_heavy            files=    2  lines=     6  time=  0.006s  health=85%
  generated_heavy       files=    2  lines=     8  time=  0.008s  health=85%
  go_service            files=    2  lines=     6  time=  0.007s  health=85%
  node_app              files=    2  lines=    19  time=  0.006s  health=85%
  python_app            files=    3  lines=    14  time=  0.007s  health=95%
  rust_cli              files=    2  lines=     8  time=  0.007s  health=85%

Benchmarks run entirely offline with zero external dependencies.

See the examples/ directory for ready-to-run scripts:

project-sentinel scan . --fast

project-sentinel report . --format html

project-sentinel dashboard . --fast

project-sentinel benchmark . --fast
── more in #ai-tools 4 stories Β· sorted by recency
── more on @sentinel 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/sentinel-map-any-cod…] indexed:0 read:9min 2026-06-18 Β· β€”