Skip to content

maruakshay/miii-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

miii

The AI coding agent that runs on your machine. Not theirs.

npm license

English | 简体中文 | 한국어 | Deutsch | Español | Français | 日本語 | Русский | العربية | Italiano | Türkçe | Português (Brasil)

miii demo


Installation

Requires Node 20.12+ and 16 GB RAM minimum (32 GB or dedicated GPU recommended for local models).

npm install -g miii-cli

Get started

# Local — free, offline, private (recommended)
ollama pull qwen2.5-coder:7b
cd your-project && miii

# Anthropic Claude (Opus 4 / Sonnet 4)
ANTHROPIC_API_KEY=sk-ant-... miii
# then: /config model claude-opus-4-7

# OpenAI (o3, o4-mini, GPT-4o)
OPENAI_API_KEY=sk-... miii
# then: /config provider openai-compat → /config url → /config model o3

# Any OpenAI-compatible endpoint (vLLM, LM Studio, llama.cpp)
# /config provider openai-compat → /config url <endpoint> → /config key <key>

Config lives at ~/.config/miii/config.json (global) or .miii.json (project). Drop a MIII.md in your repo for project-specific instructions — same mechanic as Claude Code's CLAUDE.md.


Why miii

Every cloud coding agent sends your code to a server you don't control, charges per token, and calls it intelligence. You have a machine on your desk that's been idle since you bought it.

miii is the agent layer that belongs on your hardware. Your code never leaves unless you decide it should.

Beacon — goal-directed context engine

The reason local models fail on long tasks isn't that they're dumb. It's that other tools fill context with the wrong things.

Without Beacon, a typical agent after 10 tool calls:

depth  1 │ user: "fix the token expiry bug"
depth  2 │ read_file(auth.ts)       → 800 lines verbatim  ← acted on, still taking space
depth  3 │ read_file(middleware.ts)  → 600 lines verbatim  ← same
depth  4 │ list_files(src/)         → full tree            ← same
depth  5 │ run_command(grep...)     → full stdout          ← same
depth  6 │ update_file(auth.ts)     → patch
depth  7 │ run_tests()              → full test output     ← same
depth  8 │ ░░ context full — stalled

With Beacon:

depth  1 │ user: "fix the token expiry bug"
depth  2 │ read_file(auth.ts)       → [147 lines · first 4 shown]
depth  3 │ read_file(middleware.ts)  → [89 lines · first 4 shown]
depth  4 │ list_files(src/)         → [23 files · first 8 shown]
depth  5 │ run_command(grep...)     → [first 4 lines + last line]
depth  6 │ update_file(auth.ts)     → patch               ← recent: untouched
depth  7 │ run_tests()              → [first 10 · failures verbatim]
depth  8 │ [Beacon Goal Block]      → goal + steps + what's left
depth  9 │ model response
...
depth 20 │ ✓ still running

No LLM calls to summarise. No queue stall. Pure string operations — microseconds per depth. A local 7B with Beacon outruns a naive Claude Opus integration on long tasks — not because it's smarter, but because it's not fighting its own context.


Claude skills inside miii

Type / and miii automatically picks up your globally installed Claude Code skills (~/.claude/skills/). Any skill — /graphify, /plan, /review, or your own — runs directly from the miii palette. No extra setup.


How it compares

miii Claude Code Aider Cursor / Cline
Runs locally ✓ default ✗ cloud only
Free to use ✓ (local) ✗ subscription
Code stays on machine
Goal-directed context (Beacon)
Per-tool context compression
Dynamic context window detection ✓ auto ✗ hardcoded
Call graph (AST, no model)
Windowed file reads
Permission modal + live diff partial
Shadow git (model edit log) partial
OS-level shell sandbox
Cloud escalation /cloud native native
MCP support

Where Claude Code wins: direct access to Anthropic's best models, deeper IDE integration. If you're on a paid Anthropic plan and privacy isn't a constraint, it's excellent.

Where miii wins: your code never leaves by default, no subscription, and Beacon keeps the model focused across long tool chains in a way no other local-first tool does.


Commands

Type / to open the palette.

Escalation

Command What it does
/cloud [prompt] Escalate to Claude Opus 4 / o3 for one turn

Code

Command What it does
/plan <goal> Think before touching code
/tdd <feature> Write failing test → implement → green
/refactor <goal> Multi-file refactor with checkpoints

Graph & Index

Command What it does
/graph build Build the symbol call graph (pure AST, no model)
/graph query "<term>" Query the call graph — e.g. auth → verifyToken → hmacSha256
/index build Build semantic vector index over the codebase

Context & Memory

Command What it does
/compact Compress history, extract facts to memory
/undo Revert last model edit (snapshot restore)
/history Browse shadow git log of all model edits

Model & Config

Command What it does
/model <name> Hot-swap model mid-session
/config model <name> Set default model
/config provider <name> Set provider (ollama, anthropic, openai-compat)
/config url <url> Set custom endpoint URL
/config key <key> Set API key

Esc aborts the current run and rolls back all edits. Ctrl+C exits.


Build from source

git clone https://github.com/maruakshay/miii-cli
cd miii-cli && npm install && npm run build && npm link
npm run dev    # tsx watch — no build step needed
npm test       # vitest, 48 tests

Join our community miii.in

MIT · @maruakshay