Metadata-Version: 2.4
Name: wagner-cli
Version: 0.1.0
Summary: AI coding orchestrator with self-improving specialist agents
Author-email: razzyshmazzy <razzyshmazzy@gmail.com>
License: Proprietary
Project-URL: Homepage, https://wagner.razzyshmazzy.com
Project-URL: Dashboard, https://wagner.razzyshmazzy.com/api/health
Keywords: ai,coding,orchestration,agents,anthropic,claude,cli
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.25.0
Requires-Dist: rich>=13.0.0
Requires-Dist: click>=8.1.0

# Wagner CLI

AI coding orchestrator with self-improving specialist agents.

Wagner decomposes complex coding tasks across specialist agents, each trained on
domain-specific patterns. The more you use it, the smarter it gets.

## Install

```bash
pip install wagner-cli
```

## Quick Start

Wagner runs on a **bring-your-own-key** model: orchestration (decomposition,
routing, specialist faces) runs on the Wagner server, while every model call
runs on **your** Anthropic key. Your key is sent per request and is never
stored or logged server-side.

```bash
# 1. Point Wagner at your own Anthropic key (stored in ~/.wagner/config.json)
wagner config --anthropic-key sk-ant-...

# 2. Orchestrate a coding task
wagner run "build a REST API with JWT auth and PostgreSQL"

# 3. Write the generated files to disk
wagner run "build a CLI tool that watches files" --write
```

More examples:

```bash
# Dry run — see the decomposition without synthesis (no synthesis cost)
wagner run "build a chat app" --dry

# Skip clarification / critic passes
wagner run "build a FastAPI CRUD app" --no-clarify --no-critic

# Edit an existing codebase — pass relevant files as context
wagner run "add pagination to the list endpoint" \
  --context app/routes.py app/models.py --write
```

## Commands

```
wagner run "prompt"      Orchestrate a coding task
wagner config            Configure your Anthropic key / server
wagner status            Show server status and face count
wagner faces             List all specialist faces
wagner history           Show recent orchestrations
wagner gaps              Show missing specialist domains
```

## `wagner run` options

```
--write, -w        Write generated files to the output directory
--output, -o DIR   Output directory (default: current directory)
--overwrite        Overwrite existing files
--dry              Decompose only, no synthesis
--no-clarify       Skip clarification questions
--no-critic        Skip the critic/revision pass
--context, -c PATH Source file to include as context (repeatable)
--server, -s URL   Override the server for this command
```

## Configuration

```bash
# Set your Anthropic key (BYOK)
wagner config --anthropic-key sk-ant-...

# Use a custom server
wagner config --anthropic-key sk-ant-... --server https://wagner.razzyshmazzy.com
```

Any flag you omit keeps its current value. Config lives in `~/.wagner/config.json`.

## How It Works

1. You type a prompt
2. Wagner's **Clarifier** checks if the prompt is ambiguous
3. The **Decomposer** breaks it into specialist subtasks
4. Each subtask is **dispatched** to the best specialist Face
5. The **Synthesizer** combines outputs into structured files
6. The **Critic** reviews and triggers revision if needed
7. Files are written to disk with `--write`

Every prompt improves the system. Faces accumulate examples and get smarter over time.
