Files
kandev/apps/cli
José Almeida 1c8b3075af feat(cli): replace self-update with package-manager-owned runtime resolution
The CLI no longer downloads runtime bundles from GitHub on first run. Instead:

- A new resolveRuntime() in apps/cli/src/runtime.ts resolves the bundle in
  three steps: KANDEV_BUNDLE_DIR env var (Homebrew wrapper, tests) → installed
  @kdlbs/runtime-{platform} npm package → cached download (only when
  --runtime-version is given explicitly).
- apps/cli/src/run.ts is split: launch logic separated from download logic.
  The download path stays for the explicit --runtime-version flag only.
- The --version flag now prints CLI semver (was: runtime tag selector). The
  old behavior moves to --runtime-version, documented as advanced/debug.
- The npm self-update prompt (apps/cli/src/update.ts) is removed entirely.
- apps/cli/package.json declares optionalDependencies for five
  @kdlbs/runtime-{platform} packages and engines.npm: ">=7" (required for
  optional-dep resolution during npx).
- Adds esbuild + a "bundle" script that produces dist/cli.bundle.js — a
  single-file CJS bundle with all Node deps inlined. The Homebrew formula
  uses this; the npm package keeps the unbundled dist/cli.js.

Tests: 130/130 passing. Bundle smoke-tested in a directory with no
node_modules to confirm tree-kill is correctly inlined.
2026-05-04 22:44:26 +01:00
..
2026-02-24 11:14:04 +00:00

Kandev

Manage tasks. Orchestrate agents. Review changes. Ship value.

Quick Start

npx kandev

Downloads the latest release, starts the backend + web app, and opens your browser. Data (worktrees, SQLite DB) is stored in ~/.kandev by default.

Version and Updates

  • npx kandev (run mode) uses the latest GitHub release bundle by default.
  • At startup, the launcher prints the resolved release tag (for example: [kandev] release: v0.2.3 (github latest)).
  • Use --version <tag> to pin a specific runtime bundle release.
  • CLI package updates are checked from npm and shown as a prompt. They are not forced.

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