@createtodo/cli 0.1.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 +110 -0
- package/dist/index.js +6474 -0
- package/package.json +40 -0
package/README.md
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# createtodo CLI
|
|
2
|
+
|
|
3
|
+
Manage [createtodo](https://createtodo.com) todos from the terminal. Built for
|
|
4
|
+
scripting and for coding agents: every command prints JSON, so results pipe
|
|
5
|
+
straight into `jq`, git hooks, or an agent's context.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @createtodo/cli
|
|
9
|
+
ct login
|
|
10
|
+
ct ready
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Authentication
|
|
14
|
+
|
|
15
|
+
`ct login` prompts for a workspace API key (create one in createtodo under
|
|
16
|
+
**Settings → API Keys**) and stores it in `~/.config/createtodo/auth.json` with
|
|
17
|
+
owner-only permissions. Input is hidden — the key never lands in your
|
|
18
|
+
scrollback.
|
|
19
|
+
|
|
20
|
+
For CI or containers, skip the login and set the environment variable:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
export CREATETODO_API_KEY=...
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
`ct status` shows which workspace and member you are authenticated as.
|
|
27
|
+
|
|
28
|
+
## Core workflow
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
ct ready # actionable work: open, no unresolved blockers
|
|
32
|
+
ct show MZ-123 --relations # full detail, subtodos, blocking edges
|
|
33
|
+
ct claim MZ-123 # assign to yourself and start it
|
|
34
|
+
ct close MZ-123 # complete it — response lists newly unblocked todos
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Closing a blocker tells you what it freed up, so a work loop is just
|
|
38
|
+
`ct ready` → `ct claim` → `ct close` → repeat.
|
|
39
|
+
|
|
40
|
+
## Creating todos
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
ct create "Fix sync retry loop" -l engineering -p high \
|
|
44
|
+
-d "Retries hammer the API after a 401 and never back off." \
|
|
45
|
+
--acceptance="- backoff caps at 60s
|
|
46
|
+
- covered by a regression test"
|
|
47
|
+
|
|
48
|
+
ct create "Extract the retry helper" --parent MZ-123 # a subtodo
|
|
49
|
+
git log -1 --format=%B | ct create "Follow-up from HEAD" --stdin
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Top-level todos created without a description or acceptance criteria come back
|
|
53
|
+
with warnings — thin issues are the ones nobody can pick up later.
|
|
54
|
+
|
|
55
|
+
## Dependencies
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
ct dep add MZ-124 MZ-123 # MZ-124 waits on MZ-123
|
|
59
|
+
ct dep rm MZ-124 MZ-123
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Cycles are rejected, and `ct ready` hides anything with a live blocker.
|
|
63
|
+
|
|
64
|
+
## Filtering
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
ct list -l engineering -s "In Progress" # by list and state
|
|
68
|
+
ct list -a me --needs-human # flagged for your decision
|
|
69
|
+
ct list --parent MZ-293 -s started # in-progress subtodos of an epic
|
|
70
|
+
ct ready --label Feature # ready work carrying a label
|
|
71
|
+
ct list --updated-after=-P1D # touched in the last 24 hours
|
|
72
|
+
ct search "retry loop"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Filters compose. Values starting with a dash need the `=` form
|
|
76
|
+
(`--updated-after=-P1D`). Add `--limit` / `--offset` to page, `--full` for every
|
|
77
|
+
field, `--preview` for description snippets.
|
|
78
|
+
|
|
79
|
+
## Coding agents
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
ct skill install claude-code # also: codex, cursor, gemini, universal
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
This installs a skill file teaching the agent the command surface and the
|
|
86
|
+
conventions that matter (reference todos by identifier, never invent one, flag
|
|
87
|
+
human decisions instead of guessing). A CLI is a cheaper agent interface than a
|
|
88
|
+
tool-calling protocol — it returns compact text the agent can filter before it
|
|
89
|
+
costs context.
|
|
90
|
+
|
|
91
|
+
Hand an agent its own key rather than sharing yours, and it can track work
|
|
92
|
+
across sessions without a chat client running.
|
|
93
|
+
|
|
94
|
+
## Other commands
|
|
95
|
+
|
|
96
|
+
| Command | What it does |
|
|
97
|
+
| --- | --- |
|
|
98
|
+
| `ct update <id>` | Change any field; `--decided` clears a human-decision flag |
|
|
99
|
+
| `ct start` / `ct reopen` | Move through workflow states |
|
|
100
|
+
| `ct comment <id> <text>` | Comment (also reads `--stdin`) |
|
|
101
|
+
| `ct label add/rm <id> <label>` | Tag todos |
|
|
102
|
+
| `ct lists` / `ct labels` / `ct states` / `ct members` | Workspace metadata |
|
|
103
|
+
| `ct health` | Stale, orphaned, and thin todos — a pre-PR check |
|
|
104
|
+
| `ct delete` / `ct restore` | Soft-delete and undo |
|
|
105
|
+
|
|
106
|
+
Run `ct help` for everything and `ct <command> --help` for its flags.
|
|
107
|
+
|
|
108
|
+
## License
|
|
109
|
+
|
|
110
|
+
MIT
|