io.github.Pantheon-LadderWorks/omni-scanner
Codebase observatory with 56+ scanners for git health, architecture, and documentation.
Open source Open in the app JSON README (API)
About
Codebase observatory with 56+ scanners for git health, architecture, and documentation.
Details
- Kind
- MCP servers
- Topic
- Government & public data
- Publisher
- pantheon-ladderworks
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.7.3
- Last push
- 2026-02-20T21:40:10Z
- Repository state
- ativo
- Language
- Python
- License
- MIT
- Added
- 2026-08-29 03:02:09
- Updated
- 2026-08-29 03:02:09
- Origin id
io.github.Pantheon-LadderWorks/omni-scanner
README
# π± Omni β The All-Seeing Eye

**The Federation Governance Tricorder** β A modular, extensible observation engine that scans, maps, and guards codebases at galactic scale.
<!-- mcp-name: io.github.Pantheon-LadderWorks/omni-scanner -->
> *"Never trust documentation, trust reality."* β ACE
Omni is a Python-powered **passive observation platform** that discovers the truth about your code. It doesn't modify files or break builds β it sees, maps, and reports. Think of it as a **tricorder for your codebase**: point it at any directory and it reveals structure, dependencies, health, drift, and compliance in seconds.
---
## β¨ At a Glance
| Dimension | Reading |
| :----------------------- | :-------------------------------------------------------------------- |
| π **Scanner Categories** | 12 (from static analysis to git archaeology) |
| π¦ **Total Scanners** | 55 instruments across all categories |
| β‘ **CLI Commands** | 14 verbs for every observation need |
| π§ **MCP Server** | Exposes all scanners as AI-callable tools |
| ποΈ **Pillars** | 4 orchestration subsystems (Cartography, Intel, Gatekeeper, Registry) |
| π **Federation Mode** | Optional deep integration with a governance backend |
| 𦴠**Standalone Mode** | Works anywhere β no backend required |
---
## π Quick Start
> **New Here?** Check out the **[Beginner's Guide: Zero to Hero](docs/BEGINNERS_GUIDE.md)** for a step-by-step setup tutorial.
### Install
```bash
# Recommended: Install from PyPI
pip install omni-governance
# Or install from source:
# pip install -e .
```
### Your First Scan
```bash
# Scan the current directory with all static scanners
omni scan .
# Run a specific scanner
omni scan . --scanner surfaces
# See what Omni knows about itself
omni introspect
```
### Explore the Ecosystem
```bash
# Map your entire project constellation
omni map
# Check governance compliance
omni gate .
# Generate a full report
omni report . --format markdown
```
---
## ποΈ Architecture β The Trinity
Omni follows the **Trinity Architecture** β three layers with strict separation of concerns:
```
ββββββββββββββββββββββββββββ
β CLI (cli.py) β β User interface
β 14 verbs, 1 brain β
ββββββββββββββ¬ββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββ
β β β
βββββββββββΌβββββββ βββββββββΌβββββββββ ββββββββΌββββββββ
β π§ CORE β β ποΈ PILLARS β β π LIB β
β Identity β β Cartography β β I/O, Render β
β Registry β β Intel β β Reporting β
β Gate β β Gatekeeper β β Tree, TAP β
β Paths β β Registry β β Requirementsβ
βββββββββββ¬βββββββ βββββββββ¬βββββββββ ββββββββββββββββ
β β
βββββββββββΌββββββββββββββββββΌβββββββββββββββββββββββββββ
β π SCANNERS (55 Instruments) β
β 12 categories β’ Dynamic plugin loading β
β Each scanner: scan(target: Path) β dict β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββΌβββββββ
β π§ BUILDERS β β The only layer that writes
β Registry Gen β
β Report Gen β
ββββββββββββββββββ
```
> **Read-Only Guarantee**: Scanners never modify source files. Only Builders write, and only to designated artifact directories.
For the full architectural deep-dive, see **[ARCHITECTURE.md](ARCHITECTURE.md)**.
---
## π Scanner Categories
Omni's 55 scanners are organized into 12 categories. Each scanner implements the universal `scan(target: Path) β dict` contract and is auto-discovered via `SCANNER_MANIFEST.yaml` files.
### Open Source Scanners (Included in Build)
| Category | Scanners | Purpose |
| :------------------------------------------------ | :------: | :------------------------------------------------------------------------------------------ |
| **π [static](omni/scanners/static/)** | 9 | Filesystem analysis β contracts, deps, docs, events, hooks, imports, surfaces, tools, UUIDs |
| **ποΈ [architecture](omni/scanners/architecture/)** | 4 | Structural enforcement β import boundaries, coupling detection, drift analysis, compliance |
| **π [discovery](omni/scanners/discovery/)** | 8 | Component cataloging β projects, CLI commands, cores, MCP servers, archives, census |
| **π [polyglot](omni/scanners/polyglot/)** | 4 | Language ecosystems β Python packages, Node.js, Rust crates, generic (Go/Java/.NET/Docker) |
| **π [library](omni/scanners/library/)** | 6 | Document intelligence β cohesion analysis, content depth, knowledge graphs, rituals |
| **π [git](omni/scanners/git/)** | 5 | Repository intelligence β status, velocity, commit history, PR telemetry, utilities |
| **π [search](omni/scanners/search/)** | 3 | Pattern matching β file search, text search, regex pattern search with context |
| **ποΈ [db](omni/scanners/db/)** | 1 | Generic configuration-driven database scanning |
### Federation-Exclusive Scanners (Not in Open Source Build)
> These scanners require the **Federation Heart** backend and are part of the proprietary governance layer. They appear in `omni introspect` when the Heart is available but are not distributed with the open-source release.
| Category | Scanners | Purpose |
| :------------- | :------: | :----------------------------------------------------------------------------------- |
| **π‘οΈ health** | 6 | Runtime health β Federation, CMP, pillar, station, tunnel, and system status |
| **ποΈ database** | 5 | CMP entity scanning β agents, artifacts, conversations, entities, projects |
| **β fleet** | 1 | Fleet registry generation and validation |
| **π₯ phoenix** | 3 | Git history resurrection β archive scanning, orphan detection, temporal gap analysis |
Each category has its own README with detailed scanner documentation. See the [Scanner Architecture Guide](omni/scanners/README.md) for the complete reference.
---
## ποΈ The Four Pillars
Pillars are orchestration subsystems that coordinate multiple scanners and produce higher-level intelligence:
| Pillar | Role | Key Capability |
| :---------------- | :-------------------- | :-------------------------------------------------------- |
| **πΊοΈ Cartography** | Ecosystem Mapper | Maps project constellations and dependency webs |
| **π΅οΈ Intel** | Intelligence Gatherer | Aggregates multi-scanner data into actionable insights |
| **βοΈ Gatekeeper** | Policy Enforcer | Validates compliance, catches drift, flags violations |
| **π Registry** | Registry Operator | Parses, validates, and manages `PROJECT_REGISTRY_V1.yaml` |
See [Pillars Architecture](omni/pillars/README.md) for the deep dive.
---
## β‘ CLI Command Reference
| Command | Purpose |
| :------------------ | :-------------------------------------------------------- |
| `omni scan` | Run scanners against a target directory |
| `omni inspect` | Deep inspection of a single project |
| `omni gate` | Policy enforcement and compliance checks |
| `omni map` | Ecosystem cartography and dependency mapping |
| `omni tree` | Directory tree visualization |
| `omni audit` | Provenance, dependency, and lock auditing |
| `omni registry` | Registry operations and event scanning |
| `omni library` | Grand Librarian document intelligence |
| `omni canon` | Canon validation and discovery |
| `omni report` | Generate structured reports |
| `omni init` | Scaffold new Federation-compliant projects |
| `omni introspect` | Self-inspection β shows all scanners, drift, capabilities |
| `omni interpret` | Interpret and explain scan results |
| `omni inspect-tree` | Combined tree + inspection |
---
## π Federation Mode vs. Standalone
Omni operates in two modes, transparently:
### Standalone Mode (Default)
No external dependencies. Configuration from `omni.yml` and environment variables. All open-source scanners work perfectly. Ideal for individual developers and open-source projects.
### Federation Mode (Optional)
When `federation_heart` is installed, Omni gains:
- **CartographyPillar** β Canonical path resolution across the entire Federation
- **Constitution** β Governance rule enforcement from a central authority
- **CMP Integration** β Project identity resolution against the Canonical Master Project database
- **Runtime Health** β Live status of Federation services, stations, and tunnels
The integration is handled by a **single shim** (`omni/config/settings.py`) that bridges to the Heart when available and falls back gracefully when it's not.
---
## π§ MCP Server
Omni includes a Model Context Protocol (MCP) server that exposes all 55 scanners as AI-callable tools. Any MCP-compatible AI assistant can invoke Omni's scanners programmatically.
### Quick Start (npx)
The absolute easiest way to use the MCP Server is via npx (requires Node.js):
```bash
npx -y @modelcontextprotocol/inspector mcp-server-omni-governance
```
### Run from Source
```bash
# The MCP server auto-discovers all registered scanners
python -m mcp_server.omni_mcp_server
```
See [MCP Server Documentation](mcp_server/README.md) for setup and configuration.
---
## π Project Structure
```
omni/
βββ README.md β You are here
βββ ARCHITECTURE.md β Full architectural deep-dive
βββ CONTRIBUTING.md β How to add scanners and contribute
βββ CHANGELOG.md β Version history
βββ ROADMAP.md β Future plans
βββ pyproject.toml β Package definition
βββ omni/
β βββ cli.py β CLI entry point (14 commands)
β βββ core/ β Brain β identity, registry, gate, paths
β βββ config/ β Configuration & Federation Heart bridge
β βββ scanners/ β 55 scanners across 12 categories
β βββ pillars/ β 4 orchestration subsystems
β βββ lib/ β Shared utilities (I/O, rendering, reporting)
β βββ builders/ β Registry and report generators
β βββ scaffold/ β Project templates
β βββ templates/ β Jinja2 report templates
βββ mcp_server/ β MCP server exposing scanners as AI tools
βββ scripts/ β Operational scripts
βββ tests/ β Test suite (pytest)
βββ docs/ β Historical docs and plans
βββ contracts/ β Crown Contracts (C-TOOLS-OMNI-*)
```
---
## π§ Configuration
Omni follows a strict configuration hierarchy (highest priority wins):
1. **CLI flags** (e.g., `--scanner surfaces`)
2. **Environment variables** (e.g., `OMNI_ROOT`)
3. **`omni.yml`** (project-level configuration)
4. **Built-in defaults** (sensible fallbacks)
Key environment variables:
| Variable | Purpose |
| :-------------------- | :-------------------------------- |
| `OMNI_ROOT` | Override root path for scanning |
| `OMNI_REPO_INVENTORY` | Path to repository inventory JSON |
| `OMNI_WORKSPACES` | Workspace root paths |
| `OMNI_DB_CONFIG_PATH` | Database configuration directory |
See [Configuration Guide](omni/config/README.md) for full details.
---
## π§ͺ Testing
```bash
# Run all tests
pytest tests/ -v
# With coverage
pytest tests/ --cov=omni --cov-report=html
```
See [Test Suite Documentation](tests/README.md) for fixtures, standards, and CI setup.
---
## π€ Contributing
We welcome new scanners, pillars, and improvements. The scanner plugin system makes it straightforward to add new observation capabilities:
1. Create a scanner file with a `scan(target: Path) β dict` function
2. Register it in the category's `SCANNER_MANIFEST.yaml`
3. Add tests and documentation
See **[CONTRIBUTING.md](CONTRIBUTING.md)** for the full guide.
---
## π Requirements
- **Python**: 3.8+
- **Dependencies**: `pyyaml`, `pydantic` (core); `federation_heart` (optional, for Federation mode)
- **OS**: Windows, macOS, Linux
---
## π License
Open source. See [LICENSE](LICENSE) for details.
---
<p align="center">
<em>The All-Seeing Eye observes. The Code writes the Code.</em><br/>
<strong>Omni v0.7.0</strong> β Pantheon LadderWorks
</p>