@todoforai/cli 0.1.61 → 0.1.63
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 +25 -31
- package/dist/todoforai-cli.js +1087 -208
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -1,36 +1,31 @@
|
|
|
1
|
-
#
|
|
1
|
+
# TODOforAI CLI (`tfa-cli`)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Create and manage [TODOforAI](https://todofor.ai) tasks from your terminal.
|
|
4
4
|
|
|
5
|
-
## Install
|
|
5
|
+
## Install and run
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Requires Node.js 20+.
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
npm install -g @todoforai/cli
|
|
11
|
-
|
|
12
|
-
# Install the native bridge once, if it is not already on PATH:
|
|
13
|
-
curl -fsSL https://raw.githubusercontent.com/todoforai/bridge/main/install.sh | sh
|
|
10
|
+
npm install -g @todoforai/cli
|
|
11
|
+
tfa-cli "Fix the login bug"
|
|
14
12
|
```
|
|
15
13
|
|
|
16
|
-
|
|
14
|
+
`todoforai-cli` is an alias for `tfa-cli`.
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
todoforai-cli # prompts device login if no key found
|
|
22
|
-
todoforai-cli login # explicit login
|
|
23
|
-
```
|
|
16
|
+
## Configuration
|
|
24
17
|
|
|
25
18
|
API URL resolution: `--api-url` flag → `TODOFORAI_API_URL` env → `https://api.todofor.ai`.
|
|
26
19
|
|
|
27
|
-
Auth resolution: `--api-key` flag →
|
|
20
|
+
Auth resolution: `--api-key` flag → shared-device run token → shared credentials file → `TODOFORAI_API_TOKEN` env → device login.
|
|
28
21
|
|
|
29
22
|
Project, agent, and last-todo state are stored **per API URL** under `per_api_url[<url>]` in the config — switching between e.g. `https://api.todofor.ai` and `http://localhost:4000` keeps each environment's defaults isolated. Legacy top-level fields are auto-migrated on first run.
|
|
30
23
|
|
|
31
24
|
## Bridge
|
|
32
25
|
|
|
33
|
-
|
|
26
|
+
Installed automatically on Linux and macOS.
|
|
27
|
+
|
|
28
|
+
The CLI talks to the backend over WebSocket; **shell execution, file I/O, and tool calls happen in the bridge** running locally. On create/resume/template runs, `tfa-cli` starts a detached `todoforai-bridge` process if needed (the bridge enforces its own single-instance lock, logs at `~/.todoforai/bridge.log`). If bridge credentials are missing, the CLI runs `todoforai-bridge login` in the foreground first so you can see and approve the device-login URL. The bridge keeps running after the CLI exits, so long-running tasks survive `Ctrl+D`.
|
|
34
29
|
|
|
35
30
|
Disable with `--no-bridge` if you manage the bridge yourself (e.g. systemd, separate terminal). `--no-edge` remains supported as a deprecated alias.
|
|
36
31
|
|
|
@@ -39,18 +34,17 @@ Disable with `--no-bridge` if you manage the bridge yourself (e.g. systemd, sepa
|
|
|
39
34
|
### Create a todo from a prompt
|
|
40
35
|
|
|
41
36
|
```bash
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
todoforai-cli --path /my/project "Fix bug" # explicit workspace
|
|
37
|
+
tfa-cli -n "Quick task" # non-interactive (run and exit)
|
|
38
|
+
echo "content" | tfa-cli # pipe from stdin
|
|
39
|
+
tfa-cli --path /my/project "Fix bug" # explicit workspace
|
|
46
40
|
```
|
|
47
41
|
|
|
48
42
|
### Start from a registry template
|
|
49
43
|
|
|
50
44
|
```bash
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
tfa-cli --template alternativeto-listing # interactive input prompts
|
|
46
|
+
tfa-cli --template f5bot-monitoring-setup --input "monitoring_details=My Brand" # with inputs
|
|
47
|
+
tfa-cli --template f5bot-monitoring-setup --no-watch --json # create only
|
|
54
48
|
```
|
|
55
49
|
|
|
56
50
|
When inputs are missing, the CLI prompts interactively (unless `-n`).
|
|
@@ -58,7 +52,7 @@ When inputs are missing, the CLI prompts interactively (unless `-n`).
|
|
|
58
52
|
### Inspect a todo (read-only)
|
|
59
53
|
|
|
60
54
|
```bash
|
|
61
|
-
|
|
55
|
+
tfa-cli --inspect <todo-id>
|
|
62
56
|
```
|
|
63
57
|
|
|
64
58
|
Prints the full chat log: messages, tool calls (type, status, path/cmd), results, and errors. No logo, no interactive mode.
|
|
@@ -66,8 +60,8 @@ Prints the full chat log: messages, tool calls (type, status, path/cmd), results
|
|
|
66
60
|
### Resume / continue
|
|
67
61
|
|
|
68
62
|
```bash
|
|
69
|
-
|
|
70
|
-
|
|
63
|
+
tfa-cli -c # continue most recent todo
|
|
64
|
+
tfa-cli --resume <todo-id> # resume specific todo
|
|
71
65
|
```
|
|
72
66
|
|
|
73
67
|
### Notifications
|
|
@@ -83,14 +77,14 @@ tfa-cli notify "Deploy done" "v2 is live" --href /t/<todo-id> # note to YOUR u
|
|
|
83
77
|
|
|
84
78
|
## IDE integration (ACP)
|
|
85
79
|
|
|
86
|
-
`
|
|
80
|
+
`tfa-cli acp` speaks the [Agent Client Protocol](https://agentclientprotocol.com) over stdio, so any ACP-capable editor can drive your agent: prompts from the editor chat, file edits as native diffs, permission prompts inline, and shell commands running on your machine through the bridge. One ACP thread = one todo. To log in explicitly, run `tfa-cli login`; `--isolated` / `--user-id` are not supported in this mode.
|
|
87
81
|
|
|
88
82
|
**Zed** — `~/.config/zed/settings.json`:
|
|
89
83
|
|
|
90
84
|
```json
|
|
91
85
|
{
|
|
92
86
|
"agent_servers": {
|
|
93
|
-
"TODOforAI": { "type": "custom", "command": "
|
|
87
|
+
"TODOforAI": { "type": "custom", "command": "tfa-cli", "args": ["acp"] }
|
|
94
88
|
}
|
|
95
89
|
}
|
|
96
90
|
```
|
|
@@ -102,7 +96,7 @@ Then open the Agent panel → `+` → **TODOforAI**.
|
|
|
102
96
|
```json
|
|
103
97
|
{
|
|
104
98
|
"agent_servers": {
|
|
105
|
-
"TODOforAI": { "command": "
|
|
99
|
+
"TODOforAI": { "command": "tfa-cli", "args": ["acp"] }
|
|
106
100
|
}
|
|
107
101
|
}
|
|
108
102
|
```
|
|
@@ -111,7 +105,7 @@ Pick **TODOforAI** from the agent dropdown in AI Chat.
|
|
|
111
105
|
|
|
112
106
|
**VS Code** — no built-in ACP client yet; install a community ACP client extension (e.g. [`strato-space.acp-plugin`](https://marketplace.visualstudio.com/items?itemName=strato-space.acp-plugin)) and add the same `agent_servers` entry to `settings.json`.
|
|
113
107
|
|
|
114
|
-
No global install needed — `"command": "npx", "args": ["-y", "@todoforai/cli", "acp"]` works in every host above. `--agent`, `--project` and `--api-url` apply to `acp` as well (e.g. `"args": ["acp", "--agent", "backend"]`). If `
|
|
108
|
+
No global install needed — `"command": "npx", "args": ["-y", "@todoforai/cli", "acp"]` works in every host above. `--agent`, `--project` and `--api-url` apply to `acp` as well (e.g. `"args": ["acp", "--agent", "backend"]`). If `tfa-cli` is not on the editor's `PATH`, use its absolute path (`which tfa-cli`). Your agent settings show up in the host's mode picker, so you can switch agents per session without touching the config.
|
|
115
109
|
|
|
116
110
|
## All Options
|
|
117
111
|
|