KodaCode
An event-first coding agent for your terminal.
Reviewed backend, DB access patterns, caching, frontend routing/bundling, and Pinia stores. Recommended performance enhancements:
High impact
- Use `.lean()` for read-heavy Mongoose queries Current list/detail queries return full Mongoose documents in: src/repositories/TaskRepository.ts src/repositories/ProjectRepository.ts src/services/ProjectStatsService.ts For API responses that do not mutate documents, add .lean() to reduce memory and serialization overhead.
- Avoid offset pagination for large collections Current APIs use .skip(skip).limit(limit) for tasks, projects, proposals, and time entries. Add cursor pagination using _id, createdAt, or updatedAt. GET /api/tasks GET /api/projects GET /api/time-entries
- Improve task list query shape TaskController.listTasks currently performs allowed-project lookup, task query, count query, and user/project population.
Agent system
Builder edits directly. Engineer keeps workflow state explicit. Reviewer stays read-only for acceptance checks. Planner stays read-only for analysis. Switch with Tab.
Agents: ▸ builder direct implementation ▹ engineer workflow + execution ▹ reviewer read-only review ▹ planner read-only planning
Sandboxed
Filesystem authority starts at the working directory. External paths and network access surface as explicit approvals.
Multi-provider
Route across native OpenAI, Anthropic, Google, NVIDIA, GitHub Copilot, DeepSeek, or compatible OpenAI-style provider presets.
20+ built-in tools
File edits, repo search, LSP actions, Git inspection, test execution, web fetch, workflow tasks, and extension through MCP.
read write apply_patch search locate symbols definition diagnostics rename_symbol code_action mkdir bash test git_diff git_show git_status web_fetch task_workflow task_review memory search_skills + MCP
Repo Search
Use `search` for file contents and `locate` for paths or glob matches. The split keeps each tool contract narrow and explicit.
▸ search query="authentication middleware" path="." mode="lexical" internal/middleware/auth.go:45 ValidateJWT internal/auth/session.go:12 NewAuthMiddleware ▸ locate query="internal/auth/**/*.ts" path="." internal/auth/authentication.ts
Cost control
Budgets, terse replies, utility-model routing, compaction savings, and traceable turn cost inspection.
LSP intelligence
Definitions, symbols, diagnostics, trace, refs, rename, and code actions are runtime tools, not editor-only integrations.
Sessions & replay
Workspace sessions persist to SQLite, can be resumed later, and keep permission and tool state replayable instead of implicit.
Prompt visibility
Prompt assembly, pruning, compaction, and workflow decisions are emitted as durable runtime artifacts instead of hidden behavior.
MCP ready
Use built-in tools and MCP servers side by side under the same runtime-owned permission model.
Context management
Pruning and compaction are explicit session artifacts. Long conversations stay inspectable instead of silently rewritten.
Model routing
Choose one primary model and a cheaper utility model for runtime utility text work such as title generation and compaction summaries.
Install
Section titled “Install”curl -fsSL https://raw.githubusercontent.com/sageil/kodacode/main/install.sh | shbrew tap sageil/tap && brew install --cask kodacodego install github.com/sageil/kodacode/cmd/kodacode@latestSearch is built into the app. No separate search binary is required.
Then run kodacode to start.
Learn KodaCode
Section titled “Learn KodaCode”If you want the docs to feel guided instead of encyclopedic, start here:
- New to the product: Introduction then Quick Start
- Want task-oriented guidance: Common Workflows
- Need runtime concepts: Agents, Project Memory & Instructions, Sandbox & Permissions, MCP Servers, Skills, Code Intelligence & LSP, and Sessions
- Need cost controls: Budgets, Cost Tracking & Optimization, and Context Management
- Need exact knobs and commands: Configuration, Slash Commands, and Navigation Keys