Metadata-Version: 2.4
Name: ctrlcode
Version: 0.1.1
Summary: Adaptive coding harness with differential fuzzing - transforms AI slop into production-ready code
Requires-Python: >=3.12
Requires-Dist: aiohttp>=3.10.0
Requires-Dist: anthropic>=0.40.0
Requires-Dist: apscheduler>=3.11.2
Requires-Dist: faiss-cpu>=1.13.2
Requires-Dist: harness-utils>=0.3.1
Requires-Dist: httpx>=0.28.1
Requires-Dist: mcp>=1.0.0
Requires-Dist: networkx>=3.6.1
Requires-Dist: openai>=1.54.0
Requires-Dist: platformdirs>=4.5.1
Requires-Dist: playwright>=1.58.0
Requires-Dist: pyperclip>=1.11.0
Requires-Dist: sentence-transformers>=5.2.2
Requires-Dist: textual>=7.5.0
Requires-Dist: tiktoken>=0.12.0
Description-Content-Type: text/markdown

# ctrl+code

Adaptive coding harness with differential fuzzing - transforms AI slop into production-ready code.

## Configuration

ctrl+code follows platform conventions for config and data storage:

| Platform | Config | Data | Cache |
|----------|--------|------|-------|
| **Linux** | `~/.config/ctrlcode/` | `~/.local/share/ctrlcode/` | `~/.cache/ctrlcode/` |
| **macOS** | `~/Library/Application Support/ctrlcode/` | `~/Library/Application Support/ctrlcode/` | `~/Library/Caches/ctrlcode/` |
| **Windows** | `%APPDATA%\ctrlcode\` | `%LOCALAPPDATA%\ctrlcode\` | `%LOCALAPPDATA%\ctrlcode\Cache\` |

### Environment Variables

Override default directories:
- `CTRLCODE_CONFIG_DIR`: Config file location
- `CTRLCODE_DATA_DIR`: Session logs and persistent data
- `CTRLCODE_CACHE_DIR`: Conversation storage and temp files

### Configuration File

Copy `config.example.toml` to your config directory as `config.toml` and fill in your API keys.

### Agent Instructions (AGENT.md)

Customize agent behavior with `AGENT.md` files, loaded hierarchically:

1. **Global** (`~/.config/ctrlcode/AGENT.md`) - Your personal defaults across all projects
2. **Project** (`<workspace>/AGENT.md`) - Project-specific instructions

Example global `AGENT.md`:
```markdown
# Global Agent Defaults

- Always use semantic commit messages
- Show tool results explicitly
- Prefer built-in tools over scripts
```

Example project `AGENT.md`:
```markdown
# MyProject Instructions

## Architecture
- Frontend: React + TypeScript
- Backend: FastAPI + PostgreSQL

## Style
- Use async/await for all I/O
- Prefer functional components
```

Instructions are injected into the system prompt, giving the agent context about your preferences and project structure.

## Installation

```bash
uv pip install ctrlcode
```

## Usage

Start the TUI (auto-launches server):
```bash
ctrlcode
```

Or start server separately:
```bash
ctrlcode-server
```
