# MiniCode

MiniCode Logo

MiniCode

Editor: Minicode #minicode #lightweight Ask DeepWiki Sponsor: Sidrune AI

---

A lightweight, highly efficient coding tool. Designed for speed, built for simplicity.

[简体中文](./README.zh-CN.md) | [Usage Guide](./USAGE.md) | [DeepWiki](https://deepwiki.com/LiuMengxuan04/MiniCode) | [Architecture](./ARCHITECTURE.md) | [Contributing](./CONTRIBUTING.md) | [Roadmap](./ROADMAP.md) | [License](./LICENSE) MiniCode is a lightweight terminal coding assistant for local development workflows. It provides Claude Code-like workflow and architectural ideas in a much smaller implementation, making it especially useful for learning, experimentation, and custom tooling. ## Sponsor

Sidrune AI — one entry point for mainstream AI models, with a $3 API credit on signup

Sponsored by Sidrune AI

Sidrune AI provides unified API access to mainstream AI models such as GPT and Claude, with multiple routes and transparent usage and pricing. Register through the exclusive MiniCode link below and get a **$3 API credit** (promo code `SDRMINICODE` is applied automatically):

👉 Claim your $3 API credit on Sidrune AI

## Overview MiniCode is built around a practical terminal-first agent loop: - accept a user request - inspect the workspace - call tools when needed - review file changes before writing - return a final response in the same terminal session The project is intentionally compact, so the control flow, tool model, and TUI behavior remain easy to understand and extend. ## Core Authors
LiuMengxuan04
Liu Mengxuan

Founder
Leads the TypeScript repo, core workflow, MCP/Skills, TUI, and docs.
GateJustice
GateJustice

Co-initiator
Contributes the long-session context system, including usage accounting, auto compact, and context collapse.
sssn
sssn

Core contributor
Contributes long-horizon planning workflows (/goal, /loop, and /plan), multi-sub-agent orchestration, and TUI visual refinements.
harkerhand
harkerhand

MiniCode-rs
Main author of the Rust version.
QUSETIONS
QUSETIONS

MiniCode-Python
Main author of the Python version.
GoDiao
GoDiao

Core contributor
Contributes layered memory, /init, session resume, and TUI interaction improvements.
Summaries are based on the main repository and multi-language branch commit history. For the broader contributor list, please refer to the repository commit history. ## Multi-language Versions - TypeScript (this repo): [MiniCode](https://github.com/LiuMengxuan04/MiniCode) - Rust version: [MiniCode-rs](https://github.com/harkerhand/MiniCode-rs/tree/master) - Python version: [MiniCode-Python](https://github.com/QUSETIONS/MiniCode-Python) - Go version: [MiniCode-go](https://github.com/ssbsunshengbo/MiniCode) - Java version: [MiniCode4j](https://github.com/hobbescalvin414-tech/minicode4j/tree/feat/default-ts-ui) ## Product Showcase Page - Open [docs/index.html](./docs/index.html) in a browser for a visual product overview. - GitHub Pages (recommended): `https://liumengxuan04.github.io/MiniCode/` ## Why MiniCode MiniCode is a good fit if you want: - a lightweight coding assistant instead of a large platform - a terminal UI with tool calling, transcript, and command workflow - a small codebase that is suitable for study and modification - a reference implementation for Claude Code-like agent architecture ## Core Capabilities - Multi-step tool execution in a single turn, forming a `model -> tool -> model` loop. - Up to 3 concurrent read-only sub-agents; the root agent owns all code changes and can wait for or close workers. - An in-memory Todo plan shared across root-agent turns, updated with `update_plan` and viewed with `/plan`. - A user-created in-memory Goal that continues across turns, with `/goal pause`, `/goal resume`, and explicit completion checks. - One process-local Loop repeats a prompt with a fixed delay after each run, shares the Plan, and stays mutually exclusive with active Goals. - Full-screen terminal UI with input history, transcript scrolling, slash command menu, and approval flows. - Per-project session persistence with resume, rename, fork, and compact commands. - Provider-usage-first context stats with tail estimates, auto-compact, context collapse, and snip compact. - Built-in tools for files, search, editing, command execution, web fetch/search, and clarification prompts. - Local skills discovered through `SKILL.md`, plus MCP tools/resources/prompts over stdio or remote HTTP. - Review-before-write file edits with path and command permission checks. - Oversized tool results are stored on disk and replaced in context with a short preview and file path. Full command references, configuration examples, session details, and Skills/MCP usage have moved to the [Usage Guide](./USAGE.md). ## Installation ```bash git clone https://github.com/LiuMengxuan04/MiniCode.git cd MiniCode npm install npm run install-local ``` The installer asks for the model name, `ANTHROPIC_BASE_URL`, and `ANTHROPIC_AUTH_TOKEN`. Configuration is stored in: - `~/.mini-code/settings.json` - `~/.mini-code/mcp.json` You can override the config directory with `MINI_CODE_HOME` and the launcher directory with `MINI_CODE_BIN_DIR`. See [Installation Details](./USAGE.md#installation-details) for more. ## Quick Start Run the installed launcher: ```bash minicode ``` Run in development mode: ```bash npm run dev ``` Run in offline demo mode: ```bash MINI_CODE_MODEL_MODE=mock npm run dev ``` ## Common Entry Points - `/help`: show interactive help. - `/tools`: list available tools. - `/plan`: view the current in-memory Todo list. - `/goal `, `/goal [status]`, `/goal pause [reason]`, `/goal resume`, `/goal clear`: create, inspect and control a Goal. - `/loop [Nm|Nh] `, `/loop`, `/loop stop`: create, inspect and stop a recurring prompt (default 10m; minimum 1m). - `/skills`: list discovered skills. - `/mcp`: show MCP connection status. - `/status`: show session and context status. - `/init`: scaffold `.mini-code/` and `MINI.md` for the current project. - `/memory`: inspect the layered memory files loaded for the current turn. - `/model` / `/model `: inspect or switch the model. - `/resume`: open the session picker. - `/compact`: manually compact the context. Management commands include `minicode mcp ...` and `minicode skills ...`. See [Commands](./USAGE.md#commands) for the full reference. ## Documentation - [Usage Guide](./USAGE.md) - [Architecture Overview](./ARCHITECTURE.md) - [中文架构说明](./ARCHITECTURE_ZH.md) - [Contribution Guidelines](./CONTRIBUTING.md) - [中文贡献规范](./CONTRIBUTING_ZH.md) - [Roadmap](./ROADMAP.md) - [路线图](./ROADMAP_ZH.md) - [Learn Claude Code Design Through MiniCode](./CLAUDE_CODE_PATTERNS.md) ## Star History Star History Chart ## Development ```bash npm run check npm test ``` MiniCode is intentionally small and pragmatic. The goal is to keep the architecture understandable, hackable, and easy to extend.