Metadata-Version: 2.4
Name: micro-cc
Version: 0.2.39
Summary: Harness that gives frontier models full system access — shell, filesystem, browser, MCP — running directly on the metal.
Author: George Salapa
License-Expression: MIT
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: anthropic>=0.76.0
Requires-Dist: anyio>=4.0
Requires-Dist: beautifulsoup4>=4.14
Requires-Dist: fastapi>=0.135
Requires-Dist: google-search-results>=2.4
Requires-Dist: httpx>=0.28
Requires-Dist: httpx-sse>=0.4
Requires-Dist: lxml>=6.0
Requires-Dist: mammoth>=1.11
Requires-Dist: markdown-it-py>=4.0
Requires-Dist: markdownify>=1.2
Requires-Dist: mcp>=1.26
Requires-Dist: numpy>=2.4
Requires-Dist: openai>=2.16
Requires-Dist: openpyxl>=3.1
Requires-Dist: pathvalidate>=3.3
Requires-Dist: pdfminer.six>=20260107
Requires-Dist: pillow>=12.0
Requires-Dist: playwright>=1.58
Requires-Dist: prompt_toolkit>=3.0
Requires-Dist: puremagic>=1.30
Requires-Dist: PyAutoGUI>=0.9
Requires-Dist: pydantic>=2.12
Requires-Dist: pydantic-settings>=2.13
Requires-Dist: pyperclip>=1.9
Requires-Dist: python-dotenv>=1.2
Requires-Dist: python-pptx>=1.0
Requires-Dist: requests>=2.32
Requires-Dist: rich>=14.0
Requires-Dist: textual>=8.0
Requires-Dist: tiktoken>=0.12
Requires-Dist: uvicorn>=0.42
Requires-Dist: watchdog>=6.0
Requires-Dist: xlsxwriter>=3.2
Requires-Dist: youtube-transcript-api>=1.2

# micro · cc — cognitive compute

```
                   88
                   ""

88,dPYba,,adPYba,  88  ,adPPYba, 8b,dPPYba,  ,adPPYba,     ,adPPYba,  ,adPPYba,
88P'   "88"    "8a 88 a8"     "" 88P'   "Y8 a8"     "8a   a8"     "" a8"     ""
88      88      88 88 8b         88         8b       d8 · 8b         8b
88      88      88 88 "8a,   ,aa 88         "8a,   ,a8"   "8a,   ,aa "8a,   ,aa
88      88      88 88  `"Ybbd8"' 88          `"YbbdP"'     `"Ybbd8"'  `"Ybbd8"'
```

> Knowledge work is, by extension, a coding problem.

Frontier models with full system access — shell, filesystem, browser, MCP. Verbose, thorough planning paired with unrestricted file operations lets micro·cc take on complex multi-step work autonomously. Point it at any project directory and go.

## Install

```bash
pip install micro-cc
```

Cross-platform — macOS, Linux, Windows — with terminal keybindings (Shift+Enter, word-jump, etc.) detected and configured automatically on first run, whatever terminal you're in.

## Usage

```bash
microcc /path/to/your/project
```

First run, type `/login` and pick Anthropic, a LiteLLM proxy (Bedrock, Azure, etc.), or Ollama — it writes `~/.micro-cc/.env` for you, no manual editing needed.

**Controls:**
- `Enter` — submit · `Shift+Enter` — newline · `Escape` — interrupt
- `/login` — configure endpoint · `/model` — switch model · `/clear` — reset conversation · `/keys` — store project-scoped secrets · `/exit` — quit
- Type `/` to see the full command list (setup, skills, MCP, headless, etc.)

## Headless (batch / cron)

```bash
microcc-headless /path/to/base_dir tasks.json
```

Each task gets its own subfolder under `base_dir` — `base_dir/{task.name}/` — which is a real `project_dir` with its own scoped `messages.jsonl`. Runs are fully autonomous (no approval gate), so a batch never blocks waiting on stdin. To pick a task back up in the full interactive TUI:

```bash
cd base_dir/{task.name} && microcc .
```

**Manifest format** (`tasks.json`):

```json
{
  "tasks": [
    {
      "name": "fix-auth-bug",
      "prompt": "Fix the JWT expiry bug — tokens aren't refreshing correctly.",
      "files": ["/absolute/path/to/src/auth.py", "/absolute/path/to/src/middleware.py"]
    },
    {
      "name": "add-tests",
      "prompt": "Add unit tests for the pagination helper."
    }
  ]
}
```

`files` is optional and must use **absolute paths** — cron jobs have no reliable cwd.

Tasks run sequentially. Each is instructed to end its final reply with `STATUS: DONE|NEEDS_INPUT|FAILED — <summary>`, which the runner parses into a tree view at the end:

```
/path/to/base_dir
├── ✓ fix-auth-bug         DONE         Patched JWT expiry check in auth.py
├── ? add-tests            NEEDS_INPUT  Which test framework does this repo use?
└── ✓ cleanup-logs         DONE         Removed dead logging branches

2/3 done · 1 need input · 0 failed
cd into: /path/to/base_dir/add-tests  (then `microcc .` to continue)
```

Only tasks that failed or need input get a `cd` hint — no need to open every subfolder to check on a large batch.

## Data

```
~/.micro-cc/
  .env                              API keys
  projects/
    {project}_{hash}/
      messages.jsonl                conversation history
      summary.json                  sliding-window summary
      project_path.txt              maps hash back to directory
```

## Tools

| Tool | Description |
|------|-------------|
| `bash_` | Shell execution in project_dir |
| `read_` | Read files with line numbers, offset/limit |
| `write_` | Create/overwrite files, auto-creates dirs |
| `edit_` | Surgical string replacement (fails if ambiguous) |
| `glob_` | Find files by pattern, sorted by mtime |
| `grep_` | Regex search with context lines |
| `browser_` | Web browsing and page extraction (beta) |
| `computer_use_` | Screen interaction and GUI automation (beta) |

All tools are discoverable — use `search_tools` to find more at runtime.

Relative paths resolve to `project_dir`. Absolute paths work anywhere.
