A modular AI‑software‑engineering assistant built with TypeScript and Bun. It provides a lightweight CLI, an interactive TUI, and a multi‑agent architecture for coding, testing, documentation, security, and Git operations.
curl -fsSL https://bun.sh/install | bashbun --version # should print something like 1.x.x# Fresh install
git clone https://github.com/ritchegerona/kodigocode.git
cd kodigocode
# If you already have the repo, fetch the latest changes:
# (run inside the repo directory)
git fetch origin && git checkout master && git pull origin master# Remove Bun binaries and the ~/.bun directory
rm -rf "$HOME/.bun"
# Remove the PATH entry added to your shell profile (e.g., ~/.zshrc or ~/.bashrc)
sed -i '' '/\.bun\/bin/d' ~/.zshrc # adjust the file name for your shellexport PATH="$HOME/.bun/bin:$PATH" # make sure Bun is on your PATH for this session
bun installbun run buildAfter these steps you can run the CLI or TUI as described below.
# Install Bun (if not already installed)
curl -fsSL https://bun.sh/install | bash
# Install dependencies
bun install
# Build the workspace (compile all packages)
bun run build
# Run the CLI
bun run apps/cli/src/index.tsx --helpBelow is a quick walkthrough of the most common workflows.
# Show available commands
bun run apps/cli/src/index.tsx --help
# Get a quick status of the repository
bun run apps/cli/src/index.tsx git status
# Run the test suite
bun run apps/cli/src/index.tsx test
# Generate a short documentation excerpt
bun run apps/cli/src/index.tsx doc
# Perform a placeholder security audit
bun run apps/cli/src/index.tsx security
# Search for a symbol (e.g., a function name) across the code base
bun run apps/cli/src/index.tsx symbol-search fetchDatabun run apps/tui/src/index.tsxThe TUI will render a file‑tree on the left and a Git diff view on the right. Use the arrow keys to navigate the tree; press q to quit.
- Create a new folder under
plugins/(e.g.,plugins/myplugin). - Export a
pluginobject that implements theKodigoPlugininterface. - The plugin will be loaded automatically on
MasterAgentstart and can register new commands viacontext.registerCommand.
For a concrete example, see the built‑in plugins/hello plugin.
That’s it! You can now combine the CLI and TUI to iteratively develop, test, and inspect your code base.
The following capabilities are either already available or planned for upcoming releases:
- Interactive chat (
chatcommand) – converse with the LLM directly from the CLI. - Tool calling – the LLM can request execution of built‑in tools (fs, git, search, etc.).
- Multi‑file editing – agents can generate and apply changes across multiple files with a diff preview.
- MCP support – Model‑Client‑Plugin protocol for external model services.
- Multi‑model support – switch between OpenAI, Anthropic, Gemini, Ollama, etc.
- Plugin marketplace – discover, install, enable, and manage plugins from the TUI or CLI.
- Multi‑agent workflows – chain agents (e.g.,
chat → code → test → git commit). - Project memory – persistent storage of chat history, symbol indexes, and user preferences.
- Visual TUI dashboard – integrated panes for file tree, editor, diff, chat, and git status.
The CLI exposes a set of top‑level commands managed by the MasterAgent:
help– list all available commands.code– run the CodingAgent (placeholder for code generation).test– run the TestingAgent (executes the Vitest suite).doc– run the DocAgent (outputs a short README excerpt).security– run the SecurityAgent (placeholder security audit).git <action>– run the GitAgent (status,diff,add,commit).symbol-search <query>– fast export‑symbol lookup across the workspace.hello– sample plugin command (provided by thehelloplugin).
bun run apps/tui/src/index.tsxThe TUI displays:
- A live file tree explorer.
- A Git diff viewer.
- Real‑time status messages from the MasterAgent.
kodigoCode/
├─ apps/ # Executables (CLI, TUI, daemon)
├─ packages/ # Core libraries (tools, models, agents, etc.)
│ ├─ core/ # Logger, config loader, command registry
│ ├─ agents/ # Multi‑agent implementations (coding, testing, ...)
│ ├─ tools/ # Filesystem, shell, git, search, symbol‑search tools
│ ├─ models/ # LLM provider abstractions
│ ├─ terminal/ # Ink UI components (FileTree, DiffViewer, Spinner)
│ └─ … # Additional shared packages
├─ templates/ # Code templates for scaffolding
├─ docs/ # Documentation and design docs
├─ examples/ # Sample projects demonstrating usage
└─ tests/ # Vitest test suite
bun run test– runs the Vitest suite.bun run lint– placeholder for linting (e.g., ESLint).- Add new packages under
packages/and reference them via the workspace. - Extend the MasterAgent to register additional agents or plugin commands.
MIT