AI coding agents on your desktop — 12MB, ~0% CPU at idle
Inspired by OpenAI Codex and T3 Code
Website
·
Download
·
Report Bug
·
Request Feature
![]() |
![]() |
macOS (Homebrew):
brew install --cask thabti/tap/kirodex # first install
brew update && brew reinstall kirodex # upgradeLinux:
# Debian / Ubuntu — download from releases
sudo dpkg -i kirodex_*_amd64.deb
# AppImage — download and run
chmod +x Kirodex_*.AppImage && ./Kirodex_*.AppImageWindows:
# Download the .exe installer from releases
# winget and scoop support coming soonRequires kiro-cli installed and in your PATH. Without it, Kirodex will launch but every agent action fails with "Failed to spawn kiro-cli" — see Troubleshooting.
Chat and agents
- Chat interface via the Agent Client Protocol SDK
- Threaded agentic development — each conversation runs as an independent agent thread with its own context, tool calls, and execution history
- Command palette (
Cmd+K) — quick navigation, thread search, project switching, git actions, panel toggles, mode/model switching, and frecency-ranked results - Selection toolbar — select text in any message to copy, add to chat, or start a new thread from the selection
- Pinned threads — pin important threads to the top of the sidebar for quick access
- Light and dark themes — full light mode support with proper contrast across all components including diffs, analytics, and git panels
- Empty thread splash screen with clickable slash commands and
@mentions to get started fast - Slash commands (
/clear,/close,/model,/effort,/agent,/plan,/chat,/data,/branch,/worktree,/fork,/btw,/tangent,/goal) with fuzzy search across all pickers - Per-thread reasoning effort — the compact toolbar picker shows the levels supported by the active model; selections are applied live and restored across reconnects and app restarts
/btwside questions — ask a quick question in a floating overlay without polluting conversation history;/tangentis an alias. Press Escape to discard or Keep to preserve the exchange/fork— fork the current thread into a new conversation, preserving context/goal— autonomous agent loop: give the agent a durable objective and walk away. It keeps working through plan → implement → verify cycles with self-correction until done, budget-limited, or paused. Inspired by Codex CLI's goal mode and the Ralph Loop pattern.@mentions— type@in the chat input to fuzzy-search and attach project files (with git status and relative timestamps), agents, skills, and prompts as context pills- Agent mention pills (
@agent) with built-in agents, styled icons, and fuzzy matching - Plan mode with per-thread state and a handoff card to start building after planning
- Mode dropdown — switch between plan and chat modes from the toolbar
- Context-aware plan handoff — when context usage grows past 30% in plan mode, a suggestion banner appears to switch to implement mode before the context window fills up; the plan is preserved across compaction so the coding agent picks up where the planner left off
- Thread archiving —
/closepreserves conversation history in a read-only view instead of deleting - Task management: create, pause, resume, cancel, delete
- Message queue — type messages while the agent is running; they queue up and send when the turn ends
- Question cards — agents can ask multi-choice questions; pick an option and reply inline
- Subagent display — parallel agent pipelines render as expandable stage cards with dependency indicators
- Kiro config sidebar — browse agents (grouped by stack), skills, steering rules, and MCP servers from
.kiro/ - MCP server management — add, remove, and configure MCP servers from the UI with stdio/HTTP transport, scope selection (global/workspace/agent), and live status indicators showing tool count and health
- Emoji and project-file icon picker for customizing thread icons
- Folder drag-and-drop — drag folders into the chat input to attach them as context pills
- Image attachments sent as proper ACP
ContentBlock::Imagefor multimodal agents - Error state with shake animation and retry button when agent calls fail
Split-screen
- View two threads side by side, even from different projects
- Drag a thread from the sidebar to open it in a split panel, or right-click and choose "Split left" / "Split right"
Cmd+\to toggle split view; draggable divider with double-click to reset 50/50- Focus indicators and independent chat inputs per panel; minimum 400px per panel with auto-collapse
Multi-window
- Open multiple Kirodex windows via
Cmd+N(new window) from the native File menu - Each window has its own independent state, threads, and terminal sessions
File tree
- Collapsible file tree panel with real-time filesystem watching
- Git status indicators (modified, added, deleted, renamed) per file
- Inline rename, create file/folder, and context menu actions
- Drag files from the tree into chat to attach as context
- File preview modal with syntax highlighting
- Toggle hidden files and collapse/expand all directories
Code and diffs
- Syntax-highlighted inline and side-by-side diff views (Shiki)
strReplacetool calls rendered as git-style diffs inline in chat- Code viewer for read tool calls with line numbers and syntax highlighting
- Click a file operation in chat to jump to that file
- Changed files summary with per-file +/- stats and one-click stage/revert
Git
- Branch, stage, commit, push, pull, fetch through git2 with SSH + HTTPS credential support (no shell commands)
- AI-powered commit message generation from diff stats
- Live diff stats in the header bar, always visible when a project is open
- Staged file count indicator in the diff toolbar
- Delete local branches from the branch selector
- Git worktree support — isolate each thread in its own working directory under
.kiro/worktrees/ /branchcommand to create and checkout a new branch inline/worktreecommand to create a worktree and spawn a new thread in it- "Use worktree" checkbox on new thread page with auto-generated slug from your message
- Symlink heavy directories (e.g.
node_modules) and copy gitignored files via.worktreeinclude - Auto-cleanup worktree on thread close; prompts if uncommitted changes exist
- Sidebar badge and branch selector indicator for worktree-backed threads
Analytics
- Built-in analytics dashboard (
/dataor/usage) tracking coding hours, messages, tokens, tool calls, diff stats, model popularity, mode usage, slash command frequency, and project stats - Nine chart types powered by Recharts with a redb backend for ACID-compliant local persistence
- Clear data button in Settings > Advanced
Notifications
- Native desktop notifications when the agent finishes a turn while the app is in the background
- Configurable — toggle on/off in Settings > General > Permissions
Terminal and settings
- Integrated PTY terminal (xterm.js + portable-pty)
- Connection health monitoring — periodic IPC probes with exponential backoff, automatic reconnection, and a rich status indicator in the UI
Cmd+Lshortcut to focus the chat input from anywhereCmd+Bshortcut to open a/btwside question- Open in editor — launch files in VS Code, Cursor, Zed, or your preferred terminal emulator
- Update checker with sidebar badge when a new version is available
- Quit confirmation dialog on
Cmd+Q/ window close - Crash recovery — detects corrupted store data and offers a one-click reset with automatic backups
- Recent projects menu — quickly reopen previously used projects
- Thread and state persistence across version updates with automatic backups
- Full-screen settings panel: CLI path, default model, auto-approve, font size, keyboard shortcuts, git integration, notification preferences, and analytics
- First-run onboarding wizard for CLI setup and authentication
- macOS, Linux, or Windows
- Rust >= 1.78
- Bun >= 1.0 (or Node >= 20)
- Tauri CLI:
cargo install tauri-cli --locked --version "^2.0.0" - kiro-cli installed and in your PATH — required at runtime;
bun run devwill open without it but agent actions fail
git clone https://github.com/thabti/kirodex.git
cd kirodex
cargo install tauri-cli --locked --version "^2.0.0" # if not already installed
bun install
bun run devThis starts Vite on localhost:5174, compiles the Rust backend, and opens the Kirodex window.
The first build compiles ~430 crates and takes a few minutes. Subsequent builds are incremental (~2s).
| Command | What it does |
|---|---|
bun run dev |
Start dev mode (Vite + Tauri) |
bun run build |
Production build (.app / .dmg / .exe / .deb) |
bun run check:ts |
TypeScript type check |
bun run check:rust |
Rust type check (cargo check) |
bun run lint |
Lint frontend with oxlint |
bun run test |
Run all tests (frontend + Rust) |
bun run bump:patch |
Bump version (patch) across all files |
bun run clean |
Remove build artifacts |
The app auto-detects kiro-cli at these paths (in order):
~/.local/bin/kiro-cli/usr/local/bin/kiro-cli~/.kiro/bin/kiro-cli/opt/homebrew/bin/kiro-cli- Falls back to
which kiro-cli
See docs/architecture.md for the system diagram, backend module reference, and full tech stack.
| Problem | Fix |
|---|---|
no such command: tauri |
Run cargo install tauri-cli to install the Tauri CLI. |
| "Failed to spawn kiro-cli" | Check kiro-cli is installed. Run kiro-cli --version. |
| Rust compilation errors | Run rustup update. Requires Rust >= 1.78. |
| Frontend type errors | Run bun install, then bun run check:ts. |
| First build is slow | Normal. Initial cargo build compiles ~430 crates. |
| macOS DMG won't open | Unsigned build — run xattr -cr /path/to/Kirodex.app. |
| Feature | Description |
|---|---|
| Agent library | Browse and install agents from a curated registry |
| Skills library | Browse and install skills from a curated registry |
| Winget / Scoop | Windows package manager support |
See CONTRIBUTING.md for guidelines, code style, release process, and project layout.
Sabeur Thabti
MIT

