How liorlxl/miracode works
MiraCode is a terminal AI coding assistant: a user submits a coding request in the TUI, the agent streams model responses, invokes tools under permission controls, and presents results. Separate branches cover context and memory, extensibility, collaboration, and workspace safety. The README documents these capabilities; sampled source confirms several internals, but unsampled wiring is represented only where documentation supports it.
Main entry points: agent.py Agent loop · registry.py Slash commands · app.py Terminal UI · __init__.py Tool registry
Components 24
Interaction and agent
- Terminal UI
miracode/app.py - Agent loop
miracode/agent.py - Slash commands
miracode/commands/registry.py - Model clients
miracode/client.py
Tools and safety
- Tool registry
miracode/tools/__init__.py - Tool search
miracode/tools/impl/tool_search.py - Permission checks
miracode/permissions/checker.py - Coding tools
miracode/tools/base.py
Context and persistence
- Context manager
miracode/context/manager.py - Memory and instructions
miracode/memory/auto_memory.py - Session history
miracode/memory/session.py - Edit snapshots
miracode/filehistory/history.py
Extensions
- Skills
miracode/skills/executor.py - Hook engine
miracode/hooks/engine.py - MCP manager
miracode/mcp/manager.py
Collaboration
- Subagents
miracode/agents/task_manager.py - Agent teams
miracode/teams/manager.py - Worktree isolation
miracode/worktree/manager.py
Other components
- Developer
- Model providers
- Project files
- Command execution
- Hook actions
- MCP servers
Connections 28
- Developer → Terminal UI: submits request
- Terminal UI → Agent loop: runs request
- Terminal UI → Slash commands: dispatches commands
- Terminal UI → Session history: manages session
- Agent loop → Model clients: requests completion
- Model clients → Model providers: streams responses
- Agent loop → Tool registry: dispatches tools
- Agent loop → Context manager: compacts context
- Agent loop → Memory and instructions: uses instructions and recall
- Agent loop → Hook engine: runs lifecycle hooks
- Agent loop → Subagents: launches background agents
- Agent loop → Agent teams: coordinates teammates
- Tool registry → Tool search: searches tools
- Tool registry → Permission checks: checks access
- Coding tools → Project files: reads and edits
- Coding tools → Command execution: runs commands
- Coding tools → Edit snapshots: records edits
- Slash commands → Worktree isolation: manages worktrees
- Slash commands → Context manager: compacts history
- Slash commands → Memory and instructions: manages memory
- Slash commands → Skills: manages skills
- Slash commands → MCP manager: manages servers
- Hook engine → Hook actions: executes actions
- MCP manager → MCP servers: connects and invokes
- MCP manager → Tool registry: registers wrappers
- Skills → Agent loop: provides skill execution
- Agent teams → Subagents: spawns teammates
- Worktree isolation → Project files: isolates workspace