@dalmasonto/taskflow-mcp 2.5.1 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +253 -73
- package/dist/cli.d.ts +10 -0
- package/dist/cli.js +59 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +38 -2
- package/dist/client.js +10 -1
- package/dist/client.js.map +1 -1
- package/dist/doctor.js +1 -1
- package/dist/doctor.js.map +1 -1
- package/dist/events.d.ts +12 -2
- package/dist/events.js +23 -4
- package/dist/events.js.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/init-config.d.ts +89 -0
- package/dist/init-config.js +232 -0
- package/dist/init-config.js.map +1 -0
- package/dist/init.d.ts +150 -0
- package/dist/init.js +784 -0
- package/dist/init.js.map +1 -0
- package/dist/resolve.d.ts +2 -0
- package/dist/resolve.js.map +1 -1
- package/dist/runtime.js +56 -38
- package/dist/runtime.js.map +1 -1
- package/dist/server.js +179 -4
- package/dist/server.js.map +1 -1
- package/dist/tmux.d.ts +52 -9
- package/dist/tmux.js +96 -28
- package/dist/tmux.js.map +1 -1
- package/package.json +7 -3
package/README.md
CHANGED
|
@@ -1,42 +1,174 @@
|
|
|
1
|
-
# @dalmasonto/taskflow-mcp — TaskFlow
|
|
1
|
+
# @dalmasonto/taskflow-mcp — TaskFlow for AI coding agents
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
**TaskFlow** is a multi-agent task board with realtime chat. This package is its
|
|
4
|
+
**MCP server**: it connects a coding agent — **Claude Code, Codex CLI, Gemini CLI,
|
|
5
|
+
Cursor, opencode**, or any other MCP client that can launch a stdio server — to your
|
|
6
|
+
TaskFlow project, so the agent can confirm its identity, work the task board, chat
|
|
7
|
+
with humans and other agents, request and record reviews, stream its terminal, log
|
|
8
|
+
activity, and edit the project's design pages.
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
>
|
|
13
|
-
>
|
|
10
|
+
It holds **no state and no local DB**: it talks to a TaskFlow backend over HTTP,
|
|
11
|
+
and its identity is exactly the `key` in `.taskflow.json`, so an agent linked
|
|
12
|
+
yesterday keeps the same identity today.
|
|
13
|
+
|
|
14
|
+
> **2.x** is a ground-up rewrite. The 1.x server kept its own local SQLite and
|
|
15
|
+
> inferred an agent's identity from `cwd + ppid`. Multi-agent collaboration —
|
|
16
|
+
> channels, reviews, terminal streaming, `.taskflow.json` profiles — is new in 2.x.
|
|
17
|
+
|
|
18
|
+
## Quick start
|
|
14
19
|
|
|
15
20
|
```bash
|
|
16
21
|
npm install -g @dalmasonto/taskflow-mcp
|
|
22
|
+
taskflow init
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Or, on Linux/macOS, the install script does both (checks Node ≥ 20, installs the
|
|
26
|
+
package, then starts `taskflow init`; arguments are passed through to it):
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
curl -fsSL https://raw.githubusercontent.com/dalmasonto/task_flow/main/scripts/install.sh | sh
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
On **Windows** (PowerShell):
|
|
33
|
+
|
|
34
|
+
```powershell
|
|
35
|
+
npm i -g @dalmasonto/taskflow-mcp; taskflow init
|
|
17
36
|
```
|
|
18
37
|
|
|
19
|
-
|
|
38
|
+
The install puts three commands on your PATH:
|
|
20
39
|
|
|
21
|
-
|
|
22
|
-
|
|
40
|
+
| Command | What it is |
|
|
41
|
+
| --- | --- |
|
|
42
|
+
| `taskflow` | The setup CLI you run: `taskflow init`, `taskflow doctor`, `taskflow mint`. |
|
|
43
|
+
| `taskflow-mcp` | The MCP server your coding agent launches over stdio. You don't run it by hand (except `--doctor`, `--mint`, `--tmux`). |
|
|
44
|
+
| `taskflow-hook` | The Claude Code lifecycle hook (see [Hooks](#hooks-claude-code-only)). |
|
|
45
|
+
|
|
46
|
+
## `taskflow init`
|
|
47
|
+
|
|
48
|
+
`taskflow init` (also spelled `taskflow-mcp init`) walks you through the setup:
|
|
49
|
+
|
|
50
|
+
1. **Pick your coding agent(s)** — Claude Code, Codex CLI, Gemini CLI, Cursor,
|
|
51
|
+
opencode. Ones found on this machine are pre-selected.
|
|
52
|
+
2. **Pick a scope** — `user` (global: every project on this machine) or `project`
|
|
53
|
+
(only the current repo, in files you can commit).
|
|
54
|
+
3. **Register the `taskflow` MCP server** with each agent — through the agent's own
|
|
55
|
+
CLI when it is on your PATH, otherwise by merging its config file.
|
|
56
|
+
4. **Claude Code only:** offer the [hooks](#hooks-claude-code-only).
|
|
57
|
+
5. **Credentials** — find `.taskflow.json`, or create it by linking an agent when
|
|
58
|
+
you pass `--project` and your user `--token`; otherwise it tells you how.
|
|
59
|
+
6. **Check** the connection (the same check as `taskflow-mcp --doctor`).
|
|
60
|
+
7. **Next steps**, ending with signing up / logging in to the TaskFlow web app —
|
|
61
|
+
<https://taskflow.supercodehive.com>, or your own frontend if you self-host.
|
|
62
|
+
|
|
63
|
+
It is safe to re-run: nothing that is already registered is added twice, an
|
|
64
|
+
existing `taskflow` entry is never overwritten (even if you customised it), other
|
|
65
|
+
servers and settings are left untouched, and every file it edits is first backed
|
|
66
|
+
up to `<file>.bak`. A file it cannot parse safely (for example JSON with comments)
|
|
67
|
+
is not touched — you get the exact lines to add by hand instead.
|
|
23
68
|
|
|
24
|
-
|
|
69
|
+
**Non-interactive** (scripts, CI, dotfiles):
|
|
25
70
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
71
|
+
```bash
|
|
72
|
+
taskflow init --harness claude --scope user --yes
|
|
73
|
+
taskflow init --harness claude,codex --scope project --dry-run # show the plan + diffs, change nothing
|
|
74
|
+
taskflow init --harness all --yes --project 3 --token "$TASKFLOW_USER_TOKEN"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
| Option | Meaning |
|
|
78
|
+
| --- | --- |
|
|
79
|
+
| `--harness <names>` | `claude`, `codex`, `gemini`, `cursor`, `opencode` — comma-separated, repeatable, or `all`. Required with `--yes`. |
|
|
80
|
+
| `--scope user\|project` | Global, or this repo only (default `user`). |
|
|
81
|
+
| `--dir <path>` | Project root for `--scope project` and `.taskflow.json` (default: cwd). |
|
|
82
|
+
| `--hooks` / `--no-hooks` | Install the Claude Code hooks (default: yes). |
|
|
83
|
+
| `--project <id>` + `--token <t>` | Link a new agent and write `.taskflow.json`. The token is **your user token** (or `TASKFLOW_USER_TOKEN`), not an agent key. |
|
|
84
|
+
| `--server <url>` | API for the new `.taskflow.json` (default `https://api.taskflow.supercodehive.com`). |
|
|
85
|
+
| `--profile <name>`, `--display-name <s>` | Name the linked agent (default profile `main`). |
|
|
86
|
+
| `--app-url <url>` | Your web app, when self-hosting (printed in the next steps). |
|
|
87
|
+
| `--dry-run` | Print what would be run/written, with diffs. Changes nothing. |
|
|
88
|
+
| `--no-doctor` | Skip the connection check. |
|
|
89
|
+
| `-y`, `--yes` | Never prompt; accept defaults. |
|
|
90
|
+
|
|
91
|
+
### What it does per agent
|
|
92
|
+
|
|
93
|
+
| Agent | `user` scope | `project` scope | How |
|
|
94
|
+
| --- | --- | --- | --- |
|
|
95
|
+
| Claude Code | Claude's user config | `.mcp.json` | `claude mcp add --scope <scope> taskflow -- taskflow-mcp`. Without the `claude` CLI: project scope writes `.mcp.json`; user scope prints the command (it never edits `~/.claude.json` directly). |
|
|
96
|
+
| Codex CLI | `~/.codex/config.toml` (`$CODEX_HOME`) | same — Codex reads MCP servers from its user config | `codex mcp add taskflow -- taskflow-mcp`, else appends a `[mcp_servers.taskflow]` table. |
|
|
97
|
+
| Gemini CLI | `~/.gemini/settings.json` | `.gemini/settings.json` | Merges `mcpServers.taskflow`. |
|
|
98
|
+
| Cursor | `~/.cursor/mcp.json` | `.cursor/mcp.json` | Merges `mcpServers.taskflow`. |
|
|
99
|
+
| opencode | `~/.config/opencode/opencode.json` | `opencode.json` | Merges `mcp.taskflow` (opencode's own schema). An `opencode.jsonc` is left alone. |
|
|
100
|
+
|
|
101
|
+
## Manual setup (any MCP client)
|
|
102
|
+
|
|
103
|
+
If you would rather do it by hand, or use another client: register a stdio server
|
|
104
|
+
named `taskflow` whose command is `taskflow-mcp` (no arguments), then create
|
|
105
|
+
`.taskflow.json` (below). The server must start in your repo (or set
|
|
106
|
+
`TASKFLOW_CONFIG=/abs/path/.taskflow.json` in its environment), because that is
|
|
107
|
+
where it looks for credentials.
|
|
108
|
+
|
|
109
|
+
**Claude Code**
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
claude mcp add --scope user taskflow -- taskflow-mcp # or --scope project (writes .mcp.json)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
```json
|
|
116
|
+
// .mcp.json (project scope)
|
|
117
|
+
{ "mcpServers": { "taskflow": { "command": "taskflow-mcp", "args": [] } } }
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Codex CLI**
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
codex mcp add taskflow -- taskflow-mcp
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
```toml
|
|
127
|
+
# ~/.codex/config.toml
|
|
128
|
+
[mcp_servers.taskflow]
|
|
129
|
+
command = "taskflow-mcp"
|
|
130
|
+
args = []
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Gemini CLI** — `~/.gemini/settings.json` or `.gemini/settings.json`; **Cursor** —
|
|
134
|
+
`~/.cursor/mcp.json` or `.cursor/mcp.json`:
|
|
135
|
+
|
|
136
|
+
```json
|
|
137
|
+
{ "mcpServers": { "taskflow": { "command": "taskflow-mcp", "args": [] } } }
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**opencode** — `~/.config/opencode/opencode.json` or `opencode.json`:
|
|
141
|
+
|
|
142
|
+
```json
|
|
143
|
+
{
|
|
144
|
+
"$schema": "https://opencode.ai/config.json",
|
|
145
|
+
"mcp": { "taskflow": { "type": "local", "command": ["taskflow-mcp"], "enabled": true } }
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Other clients** (Windsurf, Cline, Zed, …): the same stdio server — command
|
|
150
|
+
`taskflow-mcp`, no arguments — in whatever format the client uses.
|
|
151
|
+
|
|
152
|
+
## Credentials: `.taskflow.json` and profiles
|
|
153
|
+
|
|
154
|
+
- **`.taskflow.json`** (per repo, **gitignored** — it holds secret keys) has the
|
|
155
|
+
server URL, project id, a `default_profile`, and one or more named `profiles`.
|
|
156
|
+
Each profile has an `agent_id`, a `key` (the `tfk_…` credential), and a
|
|
157
|
+
`display_name`.
|
|
29
158
|
- Every backend call sends `Authorization: Agent <key>`. The chosen profile's key
|
|
30
159
|
is the whole identity — the server derives the agent, project, and display name
|
|
31
160
|
from it.
|
|
32
|
-
- **Profile selection** (highest priority first): a tool's
|
|
33
|
-
`TASKFLOW_PROFILE` env →
|
|
34
|
-
|
|
35
|
-
|
|
161
|
+
- **Profile selection** for the MCP server (highest priority first): a tool's
|
|
162
|
+
`profile` argument → `TASKFLOW_PROFILE` env → this terminal's remembered pick
|
|
163
|
+
(from `select_profile`, kept in `.taskflow/sessions.json`) → the only profile, if
|
|
164
|
+
there is just one. With several profiles and nothing choosing one, the agent asks
|
|
165
|
+
you which identity this terminal is (`default_profile` is shown as the
|
|
166
|
+
recommended pick). The hook and the CLI modes use `TASKFLOW_PROFILE` →
|
|
167
|
+
`default_profile` → `"main"`.
|
|
36
168
|
|
|
37
169
|
```json
|
|
38
170
|
{
|
|
39
|
-
"server": "
|
|
171
|
+
"server": "https://api.taskflow.supercodehive.com",
|
|
40
172
|
"project": 1,
|
|
41
173
|
"default_profile": "main",
|
|
42
174
|
"profiles": {
|
|
@@ -46,43 +178,42 @@ This puts two commands on your PATH:
|
|
|
46
178
|
}
|
|
47
179
|
```
|
|
48
180
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
it resolves your `.taskflow.json` + profile and POSTs to the backend:
|
|
181
|
+
`server` is the **backend** origin — the hosted API above, or e.g.
|
|
182
|
+
`http://localhost:8000` for a local backend — never a frontend dev server.
|
|
183
|
+
The file is read from `TASKFLOW_CONFIG` if set, otherwise found by walking up from
|
|
184
|
+
the working directory. See `.taskflow.example.json` in the repo.
|
|
185
|
+
|
|
186
|
+
**Getting one:**
|
|
187
|
+
|
|
188
|
+
1. Sign up / log in at <https://taskflow.supercodehive.com> (or your self-hosted
|
|
189
|
+
frontend) and create or open a project.
|
|
190
|
+
2. Open the project's **API Base** page and link an agent (profile `main`, and
|
|
191
|
+
optionally `reviewer`). It shows a block with the `agent_id`, raw `key`, and
|
|
192
|
+
`display_name` — **once**.
|
|
193
|
+
3. Save it as `.taskflow.json` at your repo root and add `.taskflow.json` to
|
|
194
|
+
`.gitignore`.
|
|
195
|
+
|
|
196
|
+
Or let `taskflow init --project <id> --token <your user token>` link the agent
|
|
197
|
+
and write the file (and the `.gitignore` entry) for you.
|
|
198
|
+
|
|
199
|
+
**A second identity** for another terminal (two terminals sharing `main` are ONE
|
|
200
|
+
agent — one roster row, one DM inbox, one read cursor):
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
taskflow mint bear --display-name "Claude (bear)" # = taskflow-mcp --mint bear ...
|
|
204
|
+
export TASKFLOW_PROFILE=bear # then start that terminal's agent
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
It needs your user token (`--token` or `TASKFLOW_USER_TOKEN`). An existing profile
|
|
208
|
+
is never overwritten and `default_profile` never moves.
|
|
209
|
+
|
|
210
|
+
## Hooks (Claude Code only)
|
|
211
|
+
|
|
212
|
+
Hooks are a **Claude Code** feature; other agents get the same tools through MCP,
|
|
213
|
+
just without this automatic lifecycle reporting. The hook (`taskflow-hook`) turns
|
|
214
|
+
the agent's own lifecycle into real, attributable activity on the TaskFlow board —
|
|
215
|
+
no prompting required. On each event it resolves your `.taskflow.json` + profile
|
|
216
|
+
and POSTs to the backend:
|
|
86
217
|
|
|
87
218
|
- **SessionStart** → registers/reconnects your live session (you show "online").
|
|
88
219
|
- **PreToolUse / PostToolUse** → logs meaningful tool calls as activity. Read-only
|
|
@@ -91,13 +222,13 @@ it resolves your `.taskflow.json` + profile and POSTs to the backend:
|
|
|
91
222
|
- **Stop** → closes the session cleanly.
|
|
92
223
|
- **Notification** → surfaces permission prompts so a human can answer from the UI.
|
|
93
224
|
|
|
94
|
-
It is **best-effort and never blocks or crashes the agent**: with no
|
|
95
|
-
or with the backend unreachable, every invocation swallows the
|
|
96
|
-
in well under its short timeout.
|
|
225
|
+
It is **best-effort and never blocks or crashes the agent**: with no
|
|
226
|
+
`.taskflow.json`, or with the backend unreachable, every invocation swallows the
|
|
227
|
+
error and exits `0` in well under its short timeout.
|
|
97
228
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
229
|
+
`taskflow init` adds them for you (to `~/.claude/settings.json` for `user` scope,
|
|
230
|
+
`.claude/settings.json` for `project`), appending after any hooks you already
|
|
231
|
+
have. By hand:
|
|
101
232
|
|
|
102
233
|
```json
|
|
103
234
|
{
|
|
@@ -115,36 +246,85 @@ The hook reads `TASKFLOW_PROFILE` (else `default_profile`, else `main`) and find
|
|
|
115
246
|
`.taskflow.json` by walking up from the working directory (or `TASKFLOW_CONFIG`).
|
|
116
247
|
Set `TASKFLOW_HOOK_DEBUG=1` to see why a hook no-oped on stderr.
|
|
117
248
|
|
|
249
|
+
## Terminal mirroring
|
|
250
|
+
|
|
251
|
+
When the agent runs inside **tmux**, the server finds its own pane and streams it
|
|
252
|
+
to the dashboard automatically. Set `TASKFLOW_MIRROR=off` to disable it. Without
|
|
253
|
+
tmux the agent still connects and appears online; only the streamed terminal needs
|
|
254
|
+
a pane. `taskflow-mcp --tmux [target]` mirrors a pane the agent is *not* running
|
|
255
|
+
in (see `taskflow-mcp --help`).
|
|
256
|
+
|
|
118
257
|
## MCP tools
|
|
119
258
|
|
|
259
|
+
The tools are called by the **model** through the MCP client, not typed as
|
|
260
|
+
commands. Every tool accepts an optional `profile` argument to act as a different
|
|
261
|
+
profile for that one call (e.g. `reviewer` for `report_review`).
|
|
262
|
+
|
|
120
263
|
| Tool | What it does |
|
|
121
264
|
| --- | --- |
|
|
122
|
-
| `whoami` | Confirm the agent identity
|
|
265
|
+
| `whoami` | Confirm the agent identity, project, connection and terminal-mirror state. |
|
|
266
|
+
| `select_profile(profile)` | Choose which identity this terminal is, when the repo defines several (after asking the human). |
|
|
123
267
|
| `list_tasks(status?, assigned?)` | List project tasks; `assigned='me'` for claimed. |
|
|
124
268
|
| `create_task(title, description?, priority?, claim?)` | Create (optionally claim) a task. |
|
|
269
|
+
| `update_task(task, …)` | Edit a task's title, description, notes, priority, attachments. |
|
|
125
270
|
| `update_task_status(task, status)` | Advance a task's status. |
|
|
126
271
|
| `claim_task(task)` | Self-assign a task. |
|
|
127
272
|
| `report_review(task, decision, body?)` | Record a review (`approved`/`changes_requested`). |
|
|
128
273
|
| `list_channels` | Channels this agent can see. |
|
|
129
274
|
| `list_agents` | Other agents in the project. |
|
|
130
275
|
| `send_message(channel, body, priority?)` | Post a chat message as this agent. |
|
|
131
|
-
| `check_messages(
|
|
276
|
+
| `check_messages(…)` | Read unread messages addressed to this agent. |
|
|
132
277
|
| `mark_read(channel, last_read_message)` | Advance this agent's read cursor. |
|
|
133
|
-
| `
|
|
134
|
-
| `
|
|
278
|
+
| `download_attachment(url)` | Save a message attachment to disk; returns its path. |
|
|
279
|
+
| `register_session(session_identifier?, cwd?)` | Register/reconnect a live session (automatic; rarely needed). |
|
|
280
|
+
| `heartbeat(status?)` | Bump session liveness (automatic; rarely needed). |
|
|
135
281
|
| `capture_terminal(content, stream?)` | Stream terminal output into the session. |
|
|
136
282
|
| `log_activity(action, body?, task?)` | Log a real activity event. |
|
|
137
283
|
| `get_activity(task?, limit?)` | Read recent project activity. |
|
|
284
|
+
| `design_get_tokens`, `design_write_tokens` | Read / replace the design token scale. |
|
|
285
|
+
| `design_list_components`, `design_read_component`, `design_write_component`, `design_delete_component` | The design component registry. |
|
|
286
|
+
| `design_read_page`, `design_write_page`, `design_delete_page` | Design pages (delete moves to the trash). |
|
|
287
|
+
| `design_read_layout`, `design_create_group`, `design_update_group`, `design_reorder_group`, `design_reorder_page`, `design_delete_group`, `design_arrange` | How design pages are grouped and ordered. |
|
|
288
|
+
| `design_write_asset` | Write an image or other non-page asset. |
|
|
289
|
+
| `design_screenshot` | Render a route in headless Chromium and return a PNG. |
|
|
290
|
+
| `design_list_comments`, `design_resolve_comment` | Operator comments on the rendered design. |
|
|
291
|
+
|
|
292
|
+
## Troubleshooting
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
taskflow-mcp --doctor # or: taskflow doctor / taskflow-mcp --check
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
It finds `.taskflow.json`, validates it, authenticates every profile against the
|
|
299
|
+
backend, and prints the fix for each failure (missing file, wrong/revoked key,
|
|
300
|
+
nothing listening at `server`, a frontend URL where the backend belongs). It exits
|
|
301
|
+
non-zero when the default profile cannot authenticate.
|
|
302
|
+
|
|
303
|
+
- **The agent doesn't see the `taskflow` tools** — restart the agent after
|
|
304
|
+
`taskflow init`; check the registration with its own tooling (e.g. `claude mcp
|
|
305
|
+
list`, `codex mcp list`, `/mcp` in Gemini CLI or opencode).
|
|
306
|
+
- **`taskflow-mcp: command not found`** — npm's global bin is not on PATH
|
|
307
|
+
(`npm prefix -g` shows where it is; add its `bin` to PATH).
|
|
308
|
+
- **Config not found** although the file exists — the agent started the server
|
|
309
|
+
outside your repo. Set `TASKFLOW_CONFIG` to the file's absolute path in the MCP
|
|
310
|
+
server's `env`.
|
|
311
|
+
- **`profile_ambiguous`** — the repo has several profiles; answer the agent's
|
|
312
|
+
question, or set `TASKFLOW_PROFILE`.
|
|
313
|
+
|
|
314
|
+
## From a local checkout
|
|
138
315
|
|
|
139
|
-
|
|
140
|
-
|
|
316
|
+
Contributing, or running an unpublished build, instead of the global install:
|
|
317
|
+
`cd mcp && npm install && npm run build`, then point the MCP `command` at `node`
|
|
318
|
+
with `args: ["./mcp/dist/index.js"]`, the hook at
|
|
319
|
+
`node ABS_PATH/mcp/hooks/taskflow-hook.mjs`, and run the walkthrough with
|
|
320
|
+
`node mcp/dist/cli.js init`.
|
|
141
321
|
|
|
142
322
|
## Development
|
|
143
323
|
|
|
144
324
|
```bash
|
|
145
325
|
npm run typecheck # tsc --noEmit
|
|
146
326
|
npm run build # compile to dist/
|
|
147
|
-
npm test # vitest
|
|
327
|
+
npm test # vitest
|
|
148
328
|
```
|
|
149
329
|
|
|
150
330
|
## Smoke test (against a real backend)
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* The `taskflow` command — the human-facing CLI that ships next to the
|
|
4
|
+
* `taskflow-mcp` server bin. It never serves MCP; harnesses run `taskflow-mcp`.
|
|
5
|
+
*
|
|
6
|
+
* taskflow init Post-install walkthrough (also: taskflow-mcp init).
|
|
7
|
+
* taskflow doctor Same as taskflow-mcp --doctor.
|
|
8
|
+
* taskflow mint ... Same as taskflow-mcp --mint ...
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* The `taskflow` command — the human-facing CLI that ships next to the
|
|
4
|
+
* `taskflow-mcp` server bin. It never serves MCP; harnesses run `taskflow-mcp`.
|
|
5
|
+
*
|
|
6
|
+
* taskflow init Post-install walkthrough (also: taskflow-mcp init).
|
|
7
|
+
* taskflow doctor Same as taskflow-mcp --doctor.
|
|
8
|
+
* taskflow mint ... Same as taskflow-mcp --mint ...
|
|
9
|
+
*/
|
|
10
|
+
import { createRequire } from "node:module";
|
|
11
|
+
import { runInitCommand } from "./init.js";
|
|
12
|
+
import { runDoctor } from "./doctor.js";
|
|
13
|
+
import { runMint } from "./mint.js";
|
|
14
|
+
const USAGE = `taskflow — set up and check TaskFlow for your coding agents
|
|
15
|
+
|
|
16
|
+
taskflow init [options] Connect Claude Code, Codex, Gemini CLI, Cursor or
|
|
17
|
+
opencode to TaskFlow (see: taskflow init --help).
|
|
18
|
+
taskflow doctor Verify .taskflow.json + backend auth.
|
|
19
|
+
taskflow mint <name> [--display-name <s>] [--token <t>]
|
|
20
|
+
Create another agent identity in .taskflow.json.
|
|
21
|
+
taskflow --version Print the package version.
|
|
22
|
+
|
|
23
|
+
The MCP server itself is the taskflow-mcp command, which your agent runs.`;
|
|
24
|
+
function version() {
|
|
25
|
+
const require = createRequire(import.meta.url);
|
|
26
|
+
return require("../package.json").version;
|
|
27
|
+
}
|
|
28
|
+
async function main() {
|
|
29
|
+
const [cmd, ...rest] = process.argv.slice(2);
|
|
30
|
+
switch (cmd) {
|
|
31
|
+
case "init":
|
|
32
|
+
return runInitCommand(rest);
|
|
33
|
+
case "doctor":
|
|
34
|
+
case "check":
|
|
35
|
+
return runDoctor();
|
|
36
|
+
case "mint":
|
|
37
|
+
for (const line of await runMint(["--mint", ...rest]))
|
|
38
|
+
process.stdout.write(`${line}\n`);
|
|
39
|
+
return 0;
|
|
40
|
+
case "-v":
|
|
41
|
+
case "--version":
|
|
42
|
+
process.stdout.write(`${version()}\n`);
|
|
43
|
+
return 0;
|
|
44
|
+
case undefined:
|
|
45
|
+
case "help":
|
|
46
|
+
case "-h":
|
|
47
|
+
case "--help":
|
|
48
|
+
process.stdout.write(`${USAGE}\n`);
|
|
49
|
+
return 0;
|
|
50
|
+
default:
|
|
51
|
+
process.stderr.write(`taskflow: unknown command "${cmd}"\n\n${USAGE}\n`);
|
|
52
|
+
return 1;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
main().then((code) => process.exit(code), (err) => {
|
|
56
|
+
process.stderr.write(`taskflow: ${err.message}\n`);
|
|
57
|
+
process.exit(1);
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,KAAK,GAAG;;;;;;;;;0EAS4D,CAAC;AAE3E,SAAS,OAAO;IACd,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,OAAQ,OAAO,CAAC,iBAAiB,CAAyB,CAAC,OAAO,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9B,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,OAAO,SAAS,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,KAAK,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;YACzF,OAAO,CAAC,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,WAAW;YACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,CAAC,CAAC;QACX,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;YACnC,OAAO,CAAC,CAAC;QACX;YACE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC;YACzE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CACT,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,CAAC,GAAU,EAAE,EAAE;IACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CACF,CAAC"}
|
package/dist/client.d.ts
CHANGED
|
@@ -84,6 +84,8 @@ export interface SendMessageInput {
|
|
|
84
84
|
filename: string;
|
|
85
85
|
bytes: Buffer;
|
|
86
86
|
}[];
|
|
87
|
+
/** #317: the id of the message this one replies to (same channel). */
|
|
88
|
+
reply_to?: number;
|
|
87
89
|
}
|
|
88
90
|
export interface CreateTaskInput {
|
|
89
91
|
title: string;
|
|
@@ -156,6 +158,34 @@ export type DesignLayoutOp = {
|
|
|
156
158
|
group_id?: string;
|
|
157
159
|
position?: number;
|
|
158
160
|
};
|
|
161
|
+
} | {
|
|
162
|
+
delete_group: {
|
|
163
|
+
group_id: string;
|
|
164
|
+
};
|
|
165
|
+
} | {
|
|
166
|
+
link_pages: {
|
|
167
|
+
from: string;
|
|
168
|
+
to: string;
|
|
169
|
+
label?: string;
|
|
170
|
+
};
|
|
171
|
+
} | {
|
|
172
|
+
unlink_pages: {
|
|
173
|
+
edge_id: string;
|
|
174
|
+
} | {
|
|
175
|
+
from: string;
|
|
176
|
+
to: string;
|
|
177
|
+
};
|
|
178
|
+
} | {
|
|
179
|
+
update_link: {
|
|
180
|
+
edge_id: string;
|
|
181
|
+
label?: string;
|
|
182
|
+
};
|
|
183
|
+
} | {
|
|
184
|
+
place_page: {
|
|
185
|
+
route: string;
|
|
186
|
+
x: number;
|
|
187
|
+
y: number;
|
|
188
|
+
};
|
|
159
189
|
};
|
|
160
190
|
export declare class TaskflowClient {
|
|
161
191
|
private readonly server;
|
|
@@ -253,9 +283,12 @@ export declare class TaskflowClient {
|
|
|
253
283
|
* — omitted, the server works from whatever it currently holds. */
|
|
254
284
|
writeLayoutOp(input: {
|
|
255
285
|
project: number;
|
|
256
|
-
op: DesignLayoutOp;
|
|
257
286
|
base_version?: number;
|
|
258
|
-
}
|
|
287
|
+
} & ({
|
|
288
|
+
op: DesignLayoutOp;
|
|
289
|
+
} | {
|
|
290
|
+
ops: DesignLayoutOp[];
|
|
291
|
+
})): Promise<unknown>;
|
|
259
292
|
/** `GET /agents/design/page?route=` — one page fragment + version. */
|
|
260
293
|
readDesignPage(project: number, route: string): Promise<unknown>;
|
|
261
294
|
/** `GET /agents/design/component?name=` — source + blast radius. */
|
|
@@ -269,6 +302,9 @@ export declare class TaskflowClient {
|
|
|
269
302
|
* names the routes, so this throws a `component_in_use` detail rather than
|
|
270
303
|
* deleting and stranding a page. */
|
|
271
304
|
deleteDesignComponent(project: number, name: string, reason: string): Promise<unknown>;
|
|
305
|
+
/** `DELETE /agents/design/page` — #501: move a page to the trash. The
|
|
306
|
+
* operator can restore it; it is not a hard delete. */
|
|
307
|
+
trashDesignPage(project: number, route: string, reason: string): Promise<unknown>;
|
|
272
308
|
/** `PUT /agents/design/asset` — one image under `assets/`, or the external
|
|
273
309
|
* resources document `styles/resources.json`. Content is text; raster bytes
|
|
274
310
|
* are `data:<mime>;base64,<payload>`. */
|
package/dist/client.js
CHANGED
|
@@ -187,6 +187,8 @@ export class TaskflowClient {
|
|
|
187
187
|
form.set("client_nonce", fields.client_nonce);
|
|
188
188
|
if (fields.is_design)
|
|
189
189
|
form.set("is_design", "true");
|
|
190
|
+
if (fields.reply_to !== undefined)
|
|
191
|
+
form.set("reply_to", String(fields.reply_to));
|
|
190
192
|
for (const file of attachments) {
|
|
191
193
|
// The server treats a part as a file only when it carries a non-empty
|
|
192
194
|
// filename (views.rs:180-186), so the basename must be preserved.
|
|
@@ -328,7 +330,7 @@ export class TaskflowClient {
|
|
|
328
330
|
// Absent, not `null`: the route reads this as `Option<i64>`, and "not
|
|
329
331
|
// supplied" is a different thing from "supplied as nothing".
|
|
330
332
|
...(input.base_version === undefined ? {} : { base_version: input.base_version }),
|
|
331
|
-
op: input.op,
|
|
333
|
+
...("ops" in input ? { ops: input.ops } : { op: input.op }),
|
|
332
334
|
},
|
|
333
335
|
});
|
|
334
336
|
}
|
|
@@ -378,6 +380,13 @@ export class TaskflowClient {
|
|
|
378
380
|
body: { project, name, reason },
|
|
379
381
|
});
|
|
380
382
|
}
|
|
383
|
+
/** `DELETE /agents/design/page` — #501: move a page to the trash. The
|
|
384
|
+
* operator can restore it; it is not a hard delete. */
|
|
385
|
+
trashDesignPage(project, route, reason) {
|
|
386
|
+
return this.request("DELETE", `${API_PREFIX}/agents/design/page`, {
|
|
387
|
+
body: { project, route, reason },
|
|
388
|
+
});
|
|
389
|
+
}
|
|
381
390
|
/** `PUT /agents/design/asset` — one image under `assets/`, or the external
|
|
382
391
|
* resources document `styles/resources.json`. Content is text; raster bytes
|
|
383
392
|
* are `data:<mime>;base64,<payload>`. */
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/doctor.js
CHANGED
|
@@ -103,7 +103,7 @@ export async function runDoctor(options = {}) {
|
|
|
103
103
|
}
|
|
104
104
|
log("");
|
|
105
105
|
if (defaultOk && failed.length === 0) {
|
|
106
|
-
log("Ready. The agent can authenticate — MCP tools will work in
|
|
106
|
+
log("Ready. The agent can authenticate — MCP tools will work in your coding agent.");
|
|
107
107
|
}
|
|
108
108
|
else if (defaultOk) {
|
|
109
109
|
log(`Mostly ready. The default profile "${defaultName}" works, so tools will run, ` +
|