Metadata-Version: 2.4
Name: openagent-directive
Version: 0.3.0
Summary: Repo-aware directive generator with optional MCP server
Project-URL: Homepage, https://github.com/rfd62794/OpenAgentMCP
Project-URL: Repository, https://github.com/rfd62794/OpenAgentMCP
Project-URL: Bug Tracker, https://github.com/rfd62794/OpenAgentMCP/issues
Author-email: Robert Floyd Dugger <RFDITServices@gmail.com>
License-Expression: MIT
Keywords: ai-agents,code-analysis,developer-tools,directive,mcp
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.12
Requires-Dist: click>=8.1.7
Requires-Dist: pydantic>=2.0.0
Requires-Dist: python-dotenv>=1.2.2
Requires-Dist: requests>=2.32.5
Requires-Dist: rich>=14.0.0
Provides-Extra: dev
Requires-Dist: pytest-mock>=3.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Provides-Extra: mcp
Requires-Dist: fastmcp>=2.0.0; extra == 'mcp'
Description-Content-Type: text/markdown

# OpenAgentMCP

Repo-aware directive generator with optional MCP server.

Reads your repository's actual state — file tree, current phase, test floor — 
and generates structured directives for AI coding agents. Built on a two-stage 
pipeline: cheap model assesses the repo, capable model writes the directive.

## Install

```bash
pip install openagent-directive          # CLI only
pip install openagent-directive[mcp]     # CLI + MCP server
```

## Usage

```bash
# Generate a directive
openagent analyze /path/to/repo --intent "add pagination to the API"

# Start MCP server for Claude Desktop
openagent serve

# Start persistent SSE service (for NSSM)
openagent serve --transport sse --port 8008
```

## How it works

1. **Scanner** reads the file tree and supporting docs (pure stdlib, no side effects)
2. **Assessor** calls a cheap model to assess repo state → `AssessmentResult` 
3. **Writer** calls a capable model to generate the directive
4. **StateWriter** writes `docs/state/current.md` atomically

## Model routing

By default routes to OpenRouter. Point at your own router via env var:

```
OPENAGENT_BASE_URL=http://localhost:8005/v1  # RFD_Model_Router or compatible
OPENROUTER_API_KEY=your_key                  # not needed for local routing
```

## MCP tools

When running as MCP server, two tools are available:

- `analyze_repo(repo_path, intent)` — full pipeline, writes state
- `assess_repo(repo_path)` — scan + assess only, read-only

## Claude Desktop config

```json
{
  "mcpServers": {
    "openagent": {
      "command": "uv",
      "args": ["run", "--with", "openagent-directive[mcp]", "openagent", "serve"],
      "cwd": "/path/to/OpenAgentMCP"
    }
  }
}
```

## Architecture

```
Scanner (stdlib) → Assessor (cheap model) → Writer (capable model)
                                          → ScopeGuard (pure logic)
                                          → StateWriter (stdlib)
```

Two-stage routing: cheap model for repo assessment, capable model for directive
generation. Both configurable via `OPENAGENT_CHEAP_MODEL` and `OPENAGENT_CAPABLE_MODEL`.

## License

MIT
