This release is a pre-release and may not be stable for production use.
Mita Code
A local-first, terminal-native agentic coding assistant that runs LLMs entirely on your machine via Ollama. No API keys. No cloud. No telemetry.
Features
- 100% Local — All inference runs on your hardware via Ollama. Your code never leaves your machine.
- Agentic Tool Loop — Read/write files, run shell commands, git operations — with confirmation for destructive actions.
- Hardware-Aware Model Recommendations — Detects your RAM, VRAM, and GPU to recommend models that will actually run well.
- MCP Plugin System — Compatible with the existing Model Context Protocol ecosystem (stdio and SSE transport).
- Skills — Reusable, parameterized prompt templates stored as Markdown files (e.g.,
/commit,/review). - Layered Memory —
MITA.mdfiles at global, project, and directory scope are automatically injected into context. - Layered Config — TOML configuration cascades from global to project level.
- Hooks — Lifecycle shell commands that fire on events like file writes or tool calls.
- Codebase Indexing — Local vector search (LanceDB + Tree-sitter) for RAG over your codebase.
- Unix Philosophy — Composable, pipeable, scriptable.
Requirements
- Python 3.11+
- Ollama installed and running
Installation
pipx install mita-code
Or for development:
git clone https://github.com/jtdub/mita-code.git
cd mita-code
poetry install
Quick Start
# Start Ollama (if not already running)
ollama serve
# Pull a coding model
mita models pull qwen2.5-coder:7b
# Start an interactive session
mita chat
# Or ask a single question
mita ask "explain the auth module in this project"
Usage
Interactive Chat
mita chat # Start agentic chat session
mita chat --model deepseek-coder-v2:16b # Use a specific model
mita chat --no-tools # Pure chat, no tool execution
Single-Shot Prompts
mita ask "refactor this function to use async"
cat error.log | mita ask "what went wrong?"
Model Management
mita models recommend # See what fits your hardware
mita models list # List installed models
mita models pull qwen2.5-coder:14b # Pull a model
mita models default qwen2.5-coder:14b # Set as default
Memory
mita memory show # View all active memory
mita memory add "Always use pytest" --project # Add project-level memory
mita memory edit # Edit nearest MITA.md
Codebase Indexing
mita index build # Index the current project
mita index search "database connection" # Search the index
Skills
mita skills list # List available skills
# In chat, use /skill_name to invoke:
# mita> /commit
# mita> /review
Plugins (MCP)
mita plugins add filesystem --command "npx @modelcontextprotocol/server-filesystem ."
mita plugins list # List plugins and their tools
Configuration
mita config show # Show merged configuration
mita config edit --global # Edit global config
mita config set model.default "qwen2.5-coder:14b"
Diagnostics
mita doctor # Check Ollama, models, config health
Configuration
Global config lives at ~/.config/mita/config.toml. Project-level overrides go in .mita/settings.toml.
[model]
default = "qwen2.5-coder:7b"
temperature = 0.1
[tools]
auto_approve = ["file_read", "glob", "grep"]
confirm_destructive = true
[index]
enabled = true
top_k = 10
See PLANNING.md for the full configuration schema.
Memory System
Mita uses layered MITA.md files that are automatically discovered and injected into context:
| Scope | Location | Purpose |
|---|---|---|
| Global | ~/.config/mita/MITA.md |
Preferences across all projects |
| Project | <project_root>/MITA.md |
Project-specific conventions |
| Directory | <subdir>/MITA.md |
Directory-specific context |
Higher-specificity files take priority. Each file is capped at 200 lines.
Tech Stack
| Component | Library |
|---|---|
| CLI | Typer |
| Terminal UI | Rich |
| LLM Runtime | Ollama |
| LLM Client | LangChain (ChatOllama / ChatOpenAI) |
| Agent orchestration | LangGraph |
| Vector Store | LanceDB |
| Code Parsing | Tree-sitter |
| Config | TOML (stdlib tomllib) |
| Plugins | MCP via langchain-mcp-adapters |
Contributing
See PLANNING.md for the full project plan, architecture, and build phases.
Full documentation is available at mita-code.readthedocs.io.
License
Apache 2.0 — see LICENSE.
Metadata
Release files for mita-code 0.1.1a0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mita_code-0.1.1a0.tar.gz | 92.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mita_code-0.1.1a0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 213.2 kB
Release files / mita_code-0.1.1a0.tar.gz
| Download URL | mita_code-0.1.1a0.tar.gz |
|---|---|
| Size | 92.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5f929ab4234071354e9e0dc8c0ec9900e3abebca8147b26e620e7c27f4682a72
|
|
BLAKE2b-256 checksum How to use checksums |
e9471e7880bc9dcacb023eb0ab90cc7f460287ab797340871cdb24d2ad8b26c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.11.14 Darwin/25.6.0
|
Release files / mita_code-0.1.1a0-py3-none-any.whl
| Download URL | mita_code-0.1.1a0-py3-none-any.whl |
|---|---|
| Size | 120.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b40ffe99618c7c68f40420ef71c2a04992b8ed28f451703c1a0e508faf292cb7
|
|
BLAKE2b-256 checksum How to use checksums |
e580e4aaa21194d6641d0e1a05ffea964af886d499c5eeb8013f2f76af01f8d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.11.14 Darwin/25.6.0
|