PR reviewers (Greptile, Claude, CodeRabbit) flagged six concrete issues.
Each is addressed below.
Critical:
- publish-npm.sh: previously exited 0 even when runtime packages failed to
publish, which would leave kandev@VERSION on the registry pointing at
@kdlbs/runtime-*@VERSION that never got published. Now: capture full npm
output on failure, distinguish "already published" (idempotent skip)
from real failures, abort before publishing main kandev if any runtime
fails.
- release.yml: build-bundles referenced needs.prepare.outputs.tag without
declaring prepare in its needs array. Static analysis flagged this.
Added prepare to the needs list.
Major:
- update-homebrew-tap.sh: the formula's write_env_script only injected
KANDEV_BUNDLE_DIR. run.ts:174 reads KANDEV_VERSION to display the
running version in startup logs; without it Homebrew users would see
"release: (env)" instead of "release: 0.17.0". Pass KANDEV_VERSION:
version.to_s through the wrapper.
- runtime.ts: the catch {} block silently swallowed validateBundle errors,
hiding "package installed but corrupt" cases behind the generic
"no runtime found" message. Split the lookup so MODULE_NOT_FOUND falls
through, but validation errors propagate.
- run.ts: the --runtime-version code path skipped validateBundle, missing
the file-existence checks that the npm/env paths get. Added it.
Minor:
- release.yml: workflow-level permissions defaulted to write for everyone.
Tightened to read-only at the workflow level; jobs that need writes
(prepare, docker, publish-release) declare them explicitly.
- args.test.ts: added missing tests for --runtime-version with no value
and --runtime-version followed by another flag, parallel to the
existing --port tests.
Tests: 132 passing (was 130; +2 new).
Kandev
Manage tasks. Orchestrate agents. Review changes. Ship value.
Quick Start
Homebrew
brew install kdlbs/kandev/kandev
kandev
NPX (requires npm 7+)
npx kandev@latest
Either install path resolves a platform-matched runtime (Go backend, agentctl, Next.js standalone web), launches the backend + web, and opens your browser. Data (worktrees, SQLite DB) is stored in ~/.kandev by default.
Version and Updates
The package manager owns the runtime version. kandev@X.Y.Z ships with the matching runtime — no first-run download.
- Update via Homebrew:
brew upgrade kandev - Update via npm/npx:
npx kandev@latestornpm install -g kandev@latest - Print CLI version:
kandev --version
Advanced: pin a specific runtime tag
--runtime-version <tag> downloads a specific GitHub release runtime instead of using the installed one. For debugging compatibility issues only:
kandev --runtime-version v0.16.0
What You Get
- Multi-agent support - Claude Code, Codex, GitHub Copilot, Gemini CLI, Amp, Auggie, OpenCode
- Integrated workspace - Terminal, code editor with LSP, git changes, browser preview, and chat
- Kanban & pipeline views - Organize tasks with opinionated workflows and gates
- CLI passthrough - Drop into raw agent TUI mode for full terminal access
- Workspace isolation - Git worktrees prevent concurrent agents from conflicting
- Session management - Resume and review agent conversations
Supported Agents
| Agent | Default Model | Protocol |
|---|---|---|
| Claude Code | Sonnet 4.5 | stream-json |
| Codex | GPT-5.2 Codex | Codex |
| GitHub Copilot | GPT-4.1 | Copilot SDK |
| Gemini CLI | Gemini 3 Flash | ACP |
| Amp | Smart Mode | stream-json |
| Auggie | Sonnet 4.5 | ACP |
| OpenCode | GPT-5 Nano | REST/SSE |
Beta - Under active development. Expect rough edges and breaking changes.
Requirements
- Node.js (for
npx) - Git
- Docker (optional - needed for container runtimes)
Platforms
- macOS (Intel + Apple Silicon)
- Linux (x64)
- Windows (x64, WSL)
Learn More
Open source, multi-provider, no telemetry, not tied to any cloud.
See the GitHub repository for architecture, vision, development setup, and contributing guidelines.