Manage and run tasks in parallel. Orchestrate agents. Review changes. Ship value.
$ npx -y skills add kdlbs/kandev --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: kdlbs/kandev
What's inside
Manage and run tasks in parallel. Orchestrate agents. Review changes. Ship value.
Features | Workflows | Run as a Service | Debug Logs | Roadmap | Contributing | Architecture | Discord
Kandev is a powerful tool for power users who want deeper control over how AI agents work: customize workflows, agent profiles, runtimes, prompts, and review gates to match your process.
Organize work across kanban and pipeline views with opinionated workflows and execute multiple tasks in parallel. Assign agents from any provider, and review their output in an integrated workspace - file editor, file tree, terminal, browser preview, and git changes in one place. Terminal agent TUIs are great for running agents, but reviewing and iterating on changes there doesn't scale.
Run it locally or self-host it on your own infrastructure and access it from anywhere via Tailscale or any VPN.
Open source, multi-provider, no telemetry, not tied to any cloud.
Humans stay in control. Define tasks, build agentic workflows with gates, review every change, decide what ships.
See docs/features.md for the full feature inventory, including settings, secrets, custom prompts, and MCP task capabilities.
We're working on Office mode, a feature-flagged autonomy layer for persistent agent teams. The direction is agent instances with roles and permissions, dashboards, inbox/approvals, routines, task delegation, skills, memory, cost tracking, budgets, and workspace config sync. We'll document Office as a supported feature after it is live.
Connect Kandev to the tools your team already uses ā pull issues into the kanban, link tasks to PRs, and surface review activity inline.
| Agent | Package / command |
|---|---|
| Claude Code | @agentclientprotocol/claude-agent-acp |
| Codex | @agentclientprotocol/codex-acp |
| GitHub Copilot | @github/copilot |
| Gemini CLI | @google/gemini-cli |
| Amp | amp-acp |
| Auggie | @augmentcode/auggie |
| OpenCode | opencode-ai |
| Cursor | cursor-agent (requires Cursor Pro) |
| Devin | devin (install Devin CLI from Devin Desktop or standalone installer) |
| Qwen | @qwen-code/qwen-code |
| Factory Droid | droid |
| iFlow (beta) | @iflow-ai/iflow-cli |
| Kilocode | @kilocode/cli |
| Pi | pi-acp |
| Kimi | kimi (install Kimi CLI from Moonshot AI) |
| Kiro | kiro-cli-chat (install Kiro CLI from AWS) |
| Qoder | qodercli (install Qoder CLI) |
| Trae | traecli (install Trae IDE CLI) |
| Oh My Pi | omp (install @oh-my-pi/pi-coding-agent with Bun) |
| Grok | grok (install @xai-official/grok with npm) |
| Hermes | hermes (install with the official Hermes installer) |
All agents communicate via ACP (Agent Client Protocol). Some agents support ACP natively, while others use ACP adapter packages that bridge their native protocols. CLI Passthrough mode is available when an integration provides a passthrough command. If your agent isn't supported yet, open an issue or submit a PR with the integration. See Adding a New Agent CLI for a step-by-step guide.
Kandev does not pin the managed npm runtimes for Claude, Codex, OpenCode, Copilot, or Gemini. Normal launches can reuse npm's best-effort execution cache. To deliberately fetch an upstream release, use Update agent in Settings > Agents; Kandev updates the host runtime and refreshes its advertised models and modes for future sessions without restarting active sessions. See Agents and Profiles.
Kandev can run any agent CLI as a TUI inside a terminal, even when it does not speak ACP. Add the command in agent profile settings and the task starts that agent inside a PTY terminal. CLI passthrough keeps the agent's native terminal UX available while still giving Kandev task tracking, worktrees, review, and session management.
| Executor | Description |
|---|---|
| Local Process | Runs the agent as a local process on the host machine |
| Docker | Runs the agent in an isolated Docker container |
| SSH | Runs the agent on a remote server over SSH |
| Sprites | Runs the agent in a remote cloud environment via sprites.dev |
Executors support profiles for reusable runtime configuration: prepare scripts, environment variables, credentials, and settings. Worktree-based tasks can also attach multiple repositories or multiple branches from the same repository, which lets one task produce several PRs when the work needs it.
brew install kdlbs/kandev/kandev
kandev
scoop bucket add kandev https://github.com/kdlbs/scoop-kandev
scoop install kandev
kandev
Installs the native bundle ā no Node.js required.
npx kandev@latest
Requires npm 7+. Installs the CLI plus a platform-matched runtime bundle in one step.
npm install -g kandev@latest
kandev
brew upgrade kandevscoop update kandevnpx kandev@latest (always uses the latest published version)npm install -g kandev@latestTo try the current prerelease from main, use npm's nightly tag:
npx -y kandev@nightly
# or
npm install -g kandev@nightly
npx runs a transient Nightly without changing a global package. The global install replaces your
installed Kandev until you reinstall kandev@latest.
Nightlies are best-effort builds scheduled for 12:00 UTC when main has changed since the latest
stable release. They do not move latest, and no Homebrew, Scoop, or Desktop nightly channel is
published. A verified Kandev-managed npm/npx user service can switch between Stable and Nightly in
Settings > System > Updates. Other install types expose only Stable in that page; npm/npx users
can still invoke @nightly directly with the commands above.
The worktrees and sqlite db live in ~/.kandev by default. Works on macOS, Linux, and Windows (WSL or native).
# Clone the repository
git clone git@github.com:kdlbs/kandev.git
cd kandev
# Start in production mode
make start
Prerequisites: Go 1.26.0, Node.js 24, and pnpm 9.15.9 (pinned in mise.toml). Docker is optional and needed only for container runtimes.
graph LR
UI[Web UI] --> Backend
Backend["Backend (Orchestrator)"]
Backend --> W1 & W2 & W3 & W4
subgraph W1[Local Process]
Agent1[Agent CLI] --- WT1[Worktree]
end
subgraph W2[Docker Container]
Agent2[Agent CLI] --- WT2[Worktree]
end
subgraph W3[SSH Remote]
Agent3[Agent CLI] --- WT3[Worktree]
end
subgraph W4[Sprites Cloud]
Agent4[Agent CLI] --- WT4[Worktree]
end
We also want to add support for this remote runtime:
apps/
āāā backend/ # Go backend (orchestrator, lifecycle, agentctl, WS gateway)
āāā web/ # Vite/React frontend (SPA, Zustand, real-time subscriptions)
āāā cli/ # CLI tool (npx kandev launcher)
āāā desktop/ # Tauri desktop shell
āāā packages/ # Shared UI components & types
mise.toml (make bootstrap installs it when missing)make bootstrap)# Install mise tools, workspace dependencies, and git hooks
make bootstrap
# Also install Playwright Chromium browser/deps for E2E
make bootstrap-e2e
# Start everything (backend + frontend with auto ports)
make dev
# Or run separately
make dev-backend # Backend on :38429
make dev-web # Frontend on :37429
make test # Run all tests (backend + web)
make lint # Run all linters
make typecheck # TypeScript type checking
make fmt # Format all code
# Installed and wired by make bootstrap
make doctor
There are a few similar tools in this space, and new ones appearing everyday. Here's what sets this one apart:
Contributions are welcome! Please read CONTRIBUTING.md before opening a PR.
See the issue tracker for open tasks, or join our Discord to chat with maintainers and other contributors.
Built with these excellent open-source projects:
Monaco Editor Ā· Tiptap Ā· xterm.js Ā· dockview Ā· CodeMirror Ā· dnd-kit Ā· Mermaid Ā· Recharts Ā· TanStack Table Ā· Zustand Ā· Shadcn/UI Ā· Radix UI Ā· Tailwind CSS
.agents/
agents/
.gitkeep
pr-poller.md
skills/
acp-debug/
SKILL.md
add-integration/
SKILL.md
clean-branches/
SKILL.md
code-review/
SKILL.md
commit/
SKILL.md
context-engineering/
SKILL.md
create-kandev-plugin/
SKILL.md
debug/
references/
backend-repro.md
browser.md
instance.md
instrumentation.md
SKILL.md
docs-maintainer/
SKILL.md
e2e/
SKILL.md
fix/
SKILL.md
harness-improvement/
references/
agents.md
instructions.md
platforms/
claude.md
codex.md
cursor.md
opencode.md
session-learnings.md
skills.md
SKILL.md
interview-me/
SKILL.md
mobile-parity/
references/
kandev-mobile-ui-language.md
SKILL.md
plan/
SKILL.md
planner-orchestration/
SKILL.md
playwright-cli/
references/
element-attributes.md
playwright-tests.md
request-mocking.md
running-code.md
session-management.md
storage-state.md
test-generation.md
tracing.md
video-recording.md
SKILL.md
pr/
pr-fixup/
references/
ci-troubleshooting.md
merge-conflicts.md
review-evidence.md
SKILL.md
SKILL.md
product-demo-seeding/
evals/
contract.test.mjs
evals.json
references/
isolation-and-seeding.md
story-recipes.md
SKILL.md
product-video-capture/
evals/
contract.test.mjs
evals.json
references/
camera-encoding.md
capture-pipeline.md
qa-checklist.md
SKILL.md
push/
SKILL.md
qa/
SKILL.md
record/
SKILL.md
release/
SKILL.md
runtime-feature-flags/
SKILL.md
simplify/
SKILL.md
spec/
spec-driven-development/
SKILL.md
SKILL.md
tdd/
SKILL.md
using-agent-skills/
SKILL.md
verify/
references/
hook-evidence.md
impact-matrix.md
SKILL.md
.claude/
agents
commands/
harness-improvement.md
pr-fixup.md
spec-driven-development.md
settings.json
skills
.codex/
agents/
pr-poller.toml
config.toml
.cursor/
rules/
kandev-harness.mdc
kandev-pr-fixup.mdc
.dockerignore
.gitattributes
.github/
AGENTS.md
CLAUDE.md
docker/
ci-base/
Dockerfile
ISSUE_TEMPLATE/
bug_report.yml
config.yml
feature_request.yml
pull_request_template.md
release-signing-key.asc
scripts/
claude-code-review-workflow-contract_test.py
claude-read-pr-file_test.py
claude-read-pr-file.py
collect-macos-desktop-diagnostics.sh
lint-action-pinning_test.py
lint-action-pinning.py
lint-harness-files.py
preview-env-workflow-contract_test.py
release-workflow-contract_test.py
workflows/
architecture-lint.yml
backend-tests.yml
cargo-audit.yml
ci-base-image.yml
claude-code-review.yml
claude.yml
e2e-tests.yml
frontend-tests.yml
lint-action-pinning.yml
lint-harness-files.yml
notify-docs.yml
opencode-code-review.yml
plugin-registry-index.yml
plugin-registry-stars.yml
pr-title.yml
preview-env.yml
release.yml
universal-rebuild.yml
.gitignore
.opencode/
agents/
pr-poller.md
.playwright/
cli.config.json
.pre-commit-config.yaml
.vscode/
launch.json
tasks.json
AGENTS.md
apps/
.node-version
.npmrc
.nvmrc
.prettierignore
backend/
.golangci.yml
AGENTS.md
CLAUDE.md
cmd/
acpdbg/
main.go
README.md
agentctl/
github_cli_shim_test.go
github_cli_shim.go
github_credential_test.go
github_credential_utf8_test.go
github_credential.go
kandev_agents.go
kandev_approvals.go
kandev_budget.go
kandev_checkout.go
kandev_client.go
kandev_comment.go
kandev_doc.go
kandev_label.go
kandev_memory.go
kandev_projects.go
kandev_routines.go
kandev_task.go
kandev_tasks.go
kandev_test.go
kandev.go
main_test.go
main.go
kandev/
main_test.go
main.go
mock-agent/
AGENTS.md
background_test.go
code_review_test.go
code_review.go
emitter.go
handler.go
main.go
mcp_client.go
mock_agent_test.go
overloaded_test.go
reasoning_burst_test.go
reasoning_burst.go
scenarios.go
script_test.go
script.go
sequences.go
session_config_test.go
slow_test.go
tui_test.go
tui.go
workspace.go
plugin-fixture/
fixture_package_test.go
fixture-package/
manifest.yaml
ui/
bundle.js
main_test.go
main.go
plugin.go
plugin-pack/
fixture_package_test.go
main.go
pack_test.go
pack.go
preview/
build_test.go
build.go
cleanup.go
deploy.go
github_test.go
github.go
main.go
sprite_ops_test.go
sprite_ops.go
winjob/
main_other.go
main_windows.go
config/
prompts/
changes-walkthrough.md
ci-auto-fix.md
code-review.md
config-context.md
default-plan-prefix.md
embed.go
issue-watch-default.md
jira-issue-watch-default.md
kandev-context.md
linear-issue-watch-default.md
merge-base.md
mr-auto-fix.md
office-context.md
open-pr.md
plan-mode.md
pr-closed-final.md
pr-merged-final.md
pr-review-requested.md
pr-review-watch-default.md
sentry-issue-watch-default.md
session-handover.md
spawned-session.md
utilityagents/
branch-name.md
code-review.md
commit-description.md
commit-message.md
embed.go
enhance-prompt.md
pr-description.md
pr-title.md
summarize-session.md
workflows/
architecture.yml
builtin_engine_test.go
embed.go
feature-dev.yml
improve-kandev.yml
kanban.yml
loader_test.go
loader.go
office-default.yml
plan-and-build.yml
pr-review.yml
report-kandev-issue.yml
routine.yml
dockerfiles/
Dockerfile
entrypoint.sh
go.mod
go.sum
internal/
agent/
acpdbg/
framer_test.go
framer.go
mcp_sentinel_test.go
mcp_sentinel.go
ops_test.go
ops.go
process_tree_other.go
process_tree_windows_test.go
process_tree_windows.go
recorder_test.go
recorder.go
registry.go
runner_burst_test.go
runner_test.go
runner.go
agents/
ACP_BRIDGE_VERSIONS.md
agent.go
amp_acp.go
auggie.go
billing.go
claude_acp_test.go
claude_acp.go
codex_acp_passthrough_test.go
codex_acp_test.go
codex_acp.go
copilot_acp_test.go
copilot_acp.go
cursor_acp_test.go
cursor_acp.go
detect_test.go
detect.go
devin_acp_test.go
devin_acp.go
droid_acp.go
gemini_test.go
gemini.go
grok_acp_test.go
grok_acp.go
helpers_catalog_test.go
helpers_test.go
helpers.go
hermes_acp_test.go
hermes_acp.go
iflow_acp.go
kilocode_acp.go
kimi_acp.go
kiro_acp.go
logos/
amp_dark.svg
amp_light.svg
auggie_dark.svg
auggie_light.svg
claude_code_dark.svg
claude_code_light.svg
codex_dark.svg
codex_light.svg
copilot_dark.svg
copilot_light.svg
cursor_acp_dark.svg
cursor_acp_light.svg
devin_acp_dark.svg
devin_acp_light.svg
droid_acp_dark.svg
droid_acp_light.svg
gemini_dark.svg
gemini_light.svg
grok_acp_dark.svg
grok_acp_light.svg
hermes_dark.svg
... 1600 moreShowing a partial view of a very large repo.
FAQ
kandev is a Claude Code plugin with 9 hand-picked skills for automation work, indexed on Flowy. Install it with the command on its page. It includes kandev-approvals, kandev-config-sync, kandev-escalation. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.