## Fabric Kanban — Multi-Agent Orchestration Board

<p align="center">
  <img src="./web-ui/public/fabric-logo-white.svg" width="200" alt="Fabric Logo" />
</p>

<p align="center">
  <strong>A kanban foundation for coding agents — Fabric edition</strong>
</p>

<p align="center">
  Run multiple agents in parallel, review diffs, and ship code autonomously.
  Each task gets its own terminal and worktree. Link tasks for dependency chains.
</p>

---

## Quick Start

### Install & Run

```bash
# Run once (no install)
npx @fabriccode/kanban

# Or install globally
npm i -g @fabriccode/kanban

# Launch
fabric-kanban
```

### From Source

```bash
git clone https://github.com/Fabric-Pro/fabric-kanban.git
cd fabric-kanban
npm install
npm run build
npm link
fabric-kanban
```

---

## Features

| Feature | Description |
|---------|-------------|
| **Parallel Agents** | Each task card runs in its own worktree with isolated terminal |
| **Auto-Commit/PR** | Enable autonomous mode — agents commit or open PRs on completion |
| **Dependency Chains** | Link tasks so one completing triggers the next |
| **Visual Diff Review** | See changes per task, leave comments, send back to agent |
| **Git Integration** | Full git UI: history, branches, fetch, pull, push |
| **Multi-Agent Support** | Claude, Codex, Gemini, OpenCode, Droid, Cline |

---

## Usage

### 1. Launch from any git repo

```bash
cd ~/my-project
fabric-kanban
```

Your browser opens automatically. No account needed.

### 2. Create & Link Tasks

- Click **+** to create tasks manually
- Or use the sidebar chat: *"Break this feature into 3 tasks"*
- <kbd>⌘</kbd>+click to link tasks into dependency chains

### 3. Start Tasks

Hit the play button. Each task:
- Gets its own git worktree (no merge conflicts)
- Has its own terminal session
- Auto-symlinks `node_modules` for speed

### 4. Review & Ship

Click a task to see:
- Live terminal output
- Diff of all changes
- Add comments on specific lines

When ready: **Commit** or **Open PR** (or enable auto-ship).

---

## Configuration

Data is stored in `~/.fabric-kanban/`:

```
~/.fabric-kanban/
├── kanban/           # Global config
├── worktrees/        # Task worktrees
└── data/             # Session data
```

Project-specific config: `<project>/.fabric-kanban/kanban/config.json`

---

## Architecture

Fabric Kanban is built on:

- **Runtime**: Node.js + Express + tRPC
- **UI**: React + Tailwind CSS + Radix UI
- **Terminal**: node-pty + xterm.js
- **Agent SDK**: Cline SDK (`@clinebot/*`) for native agent sessions

### Agent Support

| Agent | Status | Detection |
|-------|--------|-----------|
| Claude (Claude Code) | ✅ | `claude` on PATH |
| Codex (OpenAI) | ✅ | `codex` on PATH |
| Gemini CLI | ✅ | `gemini` on PATH |
| OpenCode | ✅ | `opencode` on PATH |
| Droid | ✅ | `droid` on PATH |
| Cline CLI | ✅ | `cline` on PATH |

---

## Development

```bash
# Install dependencies
npm run install:all

# Run dev servers (2 terminals)
npm run dev        # Backend (port 3484)
npm run web:dev    # Frontend (port 4173)

# Build & test
npm run build
npm run check
```

---

## NPM Registry

Published to the public npm registry as `@fabriccode/kanban`:

```bash
# View package
npm view @fabriccode/kanban

# Install globally
npm i -g @fabriccode/kanban

# Run without install
npx @fabriccode/kanban
```

### Publishing (maintainers only)

```bash
npm run check      # Verify all tests pass
npm version patch  # Bump version
npm run build      # Build dist
npm publish        # Publish to registry
```

---

## Telemetry

Fabric Kanban uses telemetry to improve the product:

- Errors and crashes (via Sentry)
- Usage patterns (via PostHog)

No source code or sensitive data is collected.

---

## License

[Apache 2.0 © 2026 Fabric](./LICENSE)

---

## Development

See [PUBLISHING.md](./PUBLISHING.md) for development setup, local testing, and publishing instructions.

---

## Related

- [Fabric](https://github.com/Fabric-Pro) — Core platform
- [Weave](https://github.com/pgermishuys/weave) — Plugin framework
- [Fabric Agents](https://github.com/Fabric-Pro/fabric-agents) — Desktop agent app
