An educational AI coding assistant project that helps you understand and hack modern AI coding assistant systems.
Mini-Kode is an educational project designed to help developers understand modern Coding Agent architecture. We strike the perfect balance between overly complex open-source projects and simplistic demo examples, offering a complete yet manageable implementation (14K lines of production code) with:
- 📚 Education-First Design - Clean architecture built on OpenAI SDK with thoughtful type design and comprehensive comments
 - 🛠️ Complete Tool System - Unified interface with comprehensive tools for file operations, search, and command execution
 - 🔌 MCP Integration - Connect to external MCP servers for extended functionality
 - ⚙️ Multi-LLM Support - Compatible with OpenAI APIs, including GLM, DeepSeek, and other mainstream models
 - 🤖 Agent Loop - Complete LLM workflow with streaming responses and human-in-the-loop permission approval
 - 🎨 Modern UI - React/Ink-based terminal interface with theme support
 
npm install -g mini-kodeDeepSeek (tested and verified):
export DEEPSEEK_API_KEY="your-deepseek-api-key"Or use GLM (智谱AI) (tested and verified):
export GLM_API_KEY="your-glm-api-key"Or use OpenAI compatible API:
export OPENAI_API_KEY="your-openai-api-key"
# or
MINIKODE_API_KEY="your-api-key"
MINIKODE_BASE_URL="https://your-api-provider.com/v1"
MINIKODE_MODEL="your-model-name"# Interactive mode (launch UI)
mini-kode
# Non-interactive mode (direct execution)
mini-kode "help me fix the bug in auth.ts"- Bun
 - pnpm
 
pnpm install# Development mode with file watching
pnpm run dev
# Build
pnpm run build
# Test
pnpm run testWant to dive deeper into the system architecture? Check out docs/README.md for complete system documentation and architecture explanations.
Mini-Kode automatically uses AGENTS.md file in your project root to provide context-aware assistance:
- Automatic Context: System reads 
AGENTS.mdto understand your project - Customizable: Edit 
AGENTS.mdto include project-specific information - Persistent Memory: Maintains project context across sessions
 
src/
├── tools/          # Tool system and individual tools
├── ui/             # Ink-based CLI interface components
├── llm/            # LLM client and streaming integration
├── permissions/    # Two-layer permission system
├── config/         # Configuration management
├── cli/            # CLI framework and commands
├── agent/          # Core agent logic
├── sessions/       # Session management
└── utils/          # Shared utilities
- TypeScript - Static type checking
 - pnpm - Package management
 - Ink - React terminal UI
 - OpenAI SDK - LLM integration (supports DeepSeek/OpenAI/compatible APIs)
 - Vitest - Testing framework
 - Zod - Runtime type validation
 - Commander - CLI framework
 
- Session Persistence and Resume - Save and restore agent sessions
 - LLM Built-in Tool Integration - Support for LLM's native tool capabilities (note: DeepSeek currently doesn't support web search tools)
 - Image Input Support - Process and analyze image inputs
 - Sub Agents Functionality - Hierarchical agent delegation
 - Reasoning Model Support - Integration with reasoning-focused models
 - Tool Call Message Streaming - Real-time streaming of tool execution
 - Context Caching - Smart caching of conversation context to reduce token usage
 
This project was inspired by and references the following resources:
- Building an Agent - Guide on building AI agents
 - Building an Agentic System - Comprehensive guide to building agentic systems
 - System and Tool Prompts - System prompts and tool prompts for coding agent
 - Neovate Code - Todo tool prompt
 - Claude Code - UX reference for CLI interface design
 
