Content
<p align="center"><img alt="threadwork" src="./docs/assets/logo.svg" width="96"></p>
# Threadwork
[English](./README.en.md) | **English**
> CLI-native multi-agent collaboration for Claude Code.
[](./.github/workflows/ci.yml)
[](./LICENSE)
[](https://www.npmjs.com/package/threadwork-cli)
[](./package.json)
## Quick Start
```bash
npm install -g threadwork-cli
threadwork init # Automatically register MCP to ~/.claude.json (with backup + atomic rename)
threadwork roles list # Check out the default four roles
```
Then, directly call the `threadwork` skill in Claude Code; after the task is completed, use
`threadwork replay <task_id>` to view the step-level timeline (`--serve` to directly open the browser).
## Demo
The asciinema script is in [bench/demo.cast](./bench/demo.cast). Render to GIF locally with
`node bench/build-gif.mjs` (requires [`agg`](https://github.com/asciinema/agg) in PATH), and the rendered product `bench/demo.gif`
is committed, with CI limited to ≤2 MB.
## Why Not X
| Requirements | ruflo | deer-flow | Threadwork |
|---|---|---|---|
| Customizable roles without forking | No — 16 hardcoded roles | Partial — modify code | Yes — one yaml per role |
| Role modification without restart | No | No | Yes — chokidar watch, <500 ms |
| Native execution in Claude Code | No — independent Python server | No — independent Python server | Yes — npm + MCP, no independent daemon |
| Task-level replay | No | No | Yes — single-file static HTML viewer |
| Persistent memory across sessions | No | Partial — vector database | Yes — SQLite + FTS5, content hash deduplication |
| No vendor lock | Yes | Yes | Yes |
Positioning: *ruflo but with non-hardcoded roles; deer-flow but with a debugger.*
## Three Components
Can be used independently or combined:
1. **Hot-swappable role yaml.** Place yaml files in `~/.threadwork/roles/` or `./.threadwork/roles/` (project-level override global), and the loader will pick them up in real-time without restarting Claude Code.
2. **Persistent memory MCP server.** SQLite + FTS5 covers episodes / facts / working context; recall uses bm25 ranking. No embedding, no consolidation; v0.1 intentionally kept small.
3. **Step-level trace replay.** Each memory call automatically records a trace. `threadwork replay <task_id>` renders a single-file HTML, with role swim-lane + click-to-view details panel. No frontend framework, no server-side.
## Status
Pre-release, closed-source alpha stage. See
[docs/internal/alpha-beta.md](./docs/internal/alpha-beta.md) (closed-source beta plan and feedback channel). MIT license.
## Documentation
- [docs/install.md](./docs/install.md) — Installation, MCP registration, uninstallation
- [docs/first-run.md](./docs/first-run.md) — 60-second walkthrough of the first orchestration
- [docs/custom-role.md](./docs/custom-role.md) — How to write and share a role yaml
- [docs/troubleshooting.md](./docs/troubleshooting.md) — Troubleshooting guide
- [CONTRIBUTING.md](./CONTRIBUTING.md) — Contribution guide (alpha stage: submit issues first)
- [SECURITY.md](./SECURITY.md) — Security reporting process
- [CHANGELOG.md](./CHANGELOG.md) — Version change log
## License
MIT — see [LICENSE](./LICENSE).
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.