Metadata-Version: 2.4
Name: maggy-harness
Version: 0.2.1
Summary: Maggy — a local AI engineering command center: multi-model routing, intent graph, memory, and a web dashboard for Claude Code.
Author: Maggy Contributors
License: MIT
Project-URL: Homepage, https://github.com/alinaqi/maggy
Project-URL: Repository, https://github.com/alinaqi/maggy
Project-URL: Changelog, https://github.com/alinaqi/maggy/blob/main/maggy/CHANGELOG.md
Keywords: ai,llm,claude,agents,code-review,model-routing,developer-tools
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: fastapi>=0.115
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: uvicorn[standard]>=0.30
Requires-Dist: httpx>=0.27
Requires-Dist: anthropic>=0.40
Requires-Dist: bcrypt>=4.1
Requires-Dist: email-validator>=2.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: feedparser>=6.0
Requires-Dist: pydantic>=2.6
Requires-Dist: typer>=0.12
Requires-Dist: rich>=13.0
Provides-Extra: docs
Requires-Dist: openpyxl>=3.1; extra == "docs"
Requires-Dist: python-docx>=1.0; extra == "docs"
Requires-Dist: pymupdf>=1.24; extra == "docs"
Provides-Extra: reddit
Requires-Dist: asyncpraw>=7.7; extra == "reddit"
Provides-Extra: screenshots
Requires-Dist: playwright>=1.40; extra == "screenshots"
Provides-Extra: review
Requires-Dist: pydantic-ai>=1.0; extra == "review"
Requires-Dist: google-genai>=2.0; extra == "review"
Requires-Dist: openai>=1.40; extra == "review"
Provides-Extra: all
Requires-Dist: openpyxl>=3.1; extra == "all"
Requires-Dist: python-docx>=1.0; extra == "all"
Requires-Dist: pymupdf>=1.24; extra == "all"
Requires-Dist: asyncpraw>=7.7; extra == "all"
Requires-Dist: playwright>=1.40; extra == "all"
Requires-Dist: pydantic-ai>=1.0; extra == "all"
Requires-Dist: google-genai>=2.0; extra == "all"
Requires-Dist: openai>=1.40; extra == "all"

# Maggy

**Autonomous AI engineering command center.**

Chat with your codebases across Claude, Codex, and Kimi — with semantic routing that picks the cheapest model that can handle the task.

## Key Features

- **Semantic Routing** — local Ollama model rates task complexity and type, routes to Local/Kimi/Codex/Claude accordingly
- **Interactive Chat** — SSE streaming, session resume, ghost-text suggestions (Tab to accept)
- **Inline Model Forcing** — type "use claude" in any message to override routing
- **Parallel Execution** — Polyphony container orchestration for complex tasks (blast>=7)
- **AI-prioritized Tasks** — ranks open issues by urgency + OKR alignment
- **One-click Execute** — TDD pipeline with iCPG context enrichment
- **Council PR Review** — a multi-model council reviews a GitHub PR from the dashboard: deterministic mega-PR chunking, a static gate (tsc/ruff) as ground truth, an adversarial refute pass to kill false positives, and extensible per-language skills (Python/TS/Go/Rust/Java/C#/Ruby/PHP — drop in more). `pip install maggy-harness[review]`
- **Competitor Intelligence** — auto-discovered competitors, daily AI briefing
- **Engram Memory** — persistent cross-session memory with amnesia diagnostics

## Quick Start

```bash
pip install maggy-harness    # or: pipx install maggy-harness
maggy bootstrap              # installs skills, hooks, ~/bin model wrappers, plugins

# Pull the local model (optional but recommended)
ollama pull qwen3-coder:30b-a3b

# Configure (optional — Maggy runs in local mode without keys)
export GITHUB_TOKEN=ghp_...
export ANTHROPIC_API_KEY=sk-ant-...

# Launch
maggy              # interactive REPL (auto-detects project)
maggy serve        # web dashboard at localhost:8080
maggy chat api     # chat with a specific project
```

Or install from source for development:

```bash
cd maggy
pip install -e .
```

Or from inside Claude Code:

```
/maggy-init   # interactive setup wizard
/maggy        # launch dashboard
```

## How Routing Works

Every message gets a semantic blast score (1-10), then routes to the cheapest capable model:

| Blast | Tier | Models |
|-------|------|--------|
| 1-3 | Low | Local (Qwen3-Coder), Kimi |
| 4-6 | Medium | Codex, Kimi |
| 7-10 | High | Claude, Codex |

The router learns from outcomes — successful tasks reinforce the routing decision.

## Tests

```bash
cd maggy
python3 -m pytest tests/ -x -q
```

887 tests, target coverage >= 80%.

## Docs

- [Full CLI & REPL reference](./docs/maggy-reference.md)
- [Architecture (v5)](./docs/architecture-v5.md)
- [Polyphony spec](./docs/polyphony-spec.md)
- [Mnemos implementation](./docs/mnemos-implementation.md)

## License

MIT
