Files
kandev/apps/cli
José Almeida 4e3af4d1f6 fix: address PR review comments on release flow + runtime resolution
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).
2026-05-04 22:44:26 +01:00
..

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@latest or npm 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.

License

AGPL-3.0