@krodak/clickup-cli 1.4.0 → 1.5.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@krodak/clickup-cli",
3
- "version": "1.4.0",
3
+ "version": "1.5.1",
4
4
  "description": "ClickUp CLI for AI agents and humans",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -35,6 +35,7 @@
35
35
  "test": "vitest run",
36
36
  "test:e2e": "vitest run --config vitest.e2e.config.ts",
37
37
  "test:watch": "vitest",
38
+ "docs:sync": "tsx scripts/sync-command-docs.ts",
38
39
  "typecheck": "tsc --project tsconfig.build.json --noEmit",
39
40
  "lint": "eslint .",
40
41
  "lint:fix": "eslint . --fix",
@@ -7,8 +7,6 @@ description: 'Use when managing ClickUp tasks, sprints, or comments via the `cup
7
7
 
8
8
  Reference for AI agents using the `cup` CLI tool. Covers task management, sprint tracking, comments, and project workflows.
9
9
 
10
- Keywords: ClickUp, task management, sprint, project management, agile, backlog, subtasks, standup, overdue, search
11
-
12
10
  ## Setup
13
11
 
14
12
  Config at `~/.config/cup/config.json` with `apiToken` and `teamId`. Optional: `sprintFolderId` to pin sprint detection to a specific folder. Run `cup init` to set up interactively.
@@ -23,155 +21,119 @@ Environment variables `CU_API_TOKEN` and `CU_TEAM_ID` override config file when
23
21
  | Piped / non-TTY | Markdown tables | `--json` for JSON |
24
22
 
25
23
  - Default piped output is **Markdown** - optimized for agent context windows
26
- - `cup task <id>` outputs a Markdown summary when piped; use `--json` for the full raw API object (custom fields, checklists, etc.)
24
+ - `cup task <id>` outputs a Markdown summary when piped; use `--json` for the full raw API object
27
25
  - Set `CU_OUTPUT=json` to always get JSON when piped
28
- - Set `NO_COLOR` to disable color (tables still render, just uncolored)
29
26
  - Agents typically don't need `--json` unless parsing structured data with `jq`
30
27
 
31
28
  ## Commands
32
29
 
33
- All commands support `--help` for full flag details.
30
+ All commands support `--help` for full flag details. All commands support `--json`.
34
31
 
35
32
  ### Read
36
33
 
37
- | Command | What it returns |
38
- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
39
- | `cup tasks [--status s] [--name q] [--type t] [--list id] [--space id] [--include-closed] [--json]` | My tasks (all types, or filter with --type) |
40
- | `cup assigned [--status s] [--include-closed] [--json]` | All my tasks grouped by status |
41
- | `cup sprint [--status s] [--space nameOrId] [--folder id] [--include-closed] [--json]` | Tasks in active sprint (auto-detected) |
42
- | `cup sprints [--space nameOrId] [--json]` | List all sprints (marks active with \*) |
43
- | `cup search <query> [--status s] [--include-closed] [--json]` | Search my tasks by name (multi-word, fuzzy status) |
44
- | `cup task <id> [--json]` | Single task details |
45
- | `cup subtasks <id> [--status s] [--name q] [--include-closed] [--json]` | Subtasks of a task |
46
- | `cup comments <id> [--json]` | Comments on a task |
47
- | `cup activity <id> [--json]` | Task details + comment history combined |
48
- | `cup inbox [--days n] [--include-closed] [--json]` | Tasks updated in last n days (default 30) |
49
- | `cup summary [--hours n] [--json]` | Standup helper: completed, in-progress, overdue |
50
- | `cup overdue [--include-closed] [--json]` | Tasks past their due date |
51
- | `cup spaces [--name partial] [--my] [--json]` | List/filter workspace spaces |
52
- | `cup lists <spaceId> [--name partial] [--json]` | Lists in a space (including folder lists) |
53
- | `cup open <query> [--json]` | Open task in browser by ID or name |
54
- | `cup auth [--json]` | Check authentication status |
55
- | `cup folders <spaceId> [--name partial] [--json]` | Folders in a space (with their lists) |
56
- | `cup tags <spaceId> [--json]` | List tags available in a space |
57
- | `cup members [--json]` | List workspace members |
58
- | `cup fields <listId> [--json]` | List custom fields for a list |
59
- | `cup goals [--json]` | List goals in your workspace |
60
- | `cup key-results <goalId> [--json]` | List key results for a goal |
61
- | `cup docs [query] [--json]` | List workspace docs (optionally filter by name) |
62
- | `cup doc <docId> [pageId] [--json]` | View doc metadata + page tree, or a specific page |
63
- | `cup doc-pages <docId> [--json]` | All pages in a doc with content |
34
+ | Command | What it returns |
35
+ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
36
+ | `cup tasks [--status s] [--name q] [--type t] [--list id] [--space id] [--include-closed]` | My tasks (filter by status, name, type, list, space) |
37
+ | `cup assigned [--status s] [--include-closed]` | All my tasks grouped by status |
38
+ | `cup sprint [--status s] [--space nameOrId] [--folder id] [--include-closed]` | Tasks in active sprint (auto-detected) |
39
+ | `cup sprints [--space nameOrId]` | List all sprints (marks active with \*) |
40
+ | `cup search <query> [--status s] [--include-closed]` | Search my tasks by name |
41
+ | `cup task <id>` | Single task details (custom fields, checklists, attachments, deps, links) |
42
+ | `cup subtasks <id> [--status s] [--name q] [--include-closed]` | Subtasks of a task |
43
+ | `cup comments <id>` | Comments on a task |
44
+ | `cup activity <id>` | Task details + comment history combined |
45
+ | `cup inbox [--days n] [--include-closed]` | Tasks updated in last n days (default 30) |
46
+ | `cup summary [--hours n]` | Standup: completed, in-progress, overdue |
47
+ | `cup overdue [--include-closed]` | Tasks past due date (most overdue first) |
48
+ | `cup spaces [--name partial] [--my]` | List/filter workspace spaces |
49
+ | `cup lists <spaceId> [--name partial]` | Lists in a space (including folder lists) |
50
+ | `cup folders <spaceId> [--name partial]` | Folders in a space (with their lists) |
51
+ | `cup members` | Workspace members (username, ID, email) |
52
+ | `cup fields <listId>` | Custom fields on a list (type, required, options) |
53
+ | `cup tags <spaceId>` | Tags available in a space |
54
+ | `cup goals` | Workspace goals with progress |
55
+ | `cup key-results <goalId>` | Key results for a goal |
56
+ | `cup docs [query]` | Workspace docs (optionally filter by name) |
57
+ | `cup doc <docId> [pageId]` | Doc metadata + page tree, or a specific page |
58
+ | `cup doc-pages <docId>` | All pages in a doc with content |
59
+ | `cup task-types` | Custom task types (for `--custom-item-id`) |
60
+ | `cup templates` | Task templates (for `--template`) |
61
+ | `cup open <query>` | Open task in browser by ID or name |
62
+ | `cup auth` | Check authentication status |
64
63
 
65
64
  ### Write
66
65
 
67
- | Command | What it does |
68
- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
69
- | `cup update <id> [-n name] [-d desc] [-s status] [--priority p] [--due-date d] [--time-estimate t] [--assignee id\|me] [--parent id] [--json]` | Update task fields (desc supports markdown) |
70
- | `cup create -n name [-l listId] [-p parentId] [-d desc] [-s status] [--priority p] [--due-date d] [--time-estimate t] [--assignee id\|me] [--tags t] [--custom-item-id n] [--json]` | Create task (desc supports markdown) |
71
- | `cup comment <id> -m text [--notify-all] [--json]` | Post comment on task |
72
- | `cup comment-edit <commentId> -m text [--resolved] [--unresolved] [--json]` | Edit an existing comment |
73
- | `cup assign <id> [--to userId\|me] [--remove userId\|me] [--json]` | Assign/unassign users |
74
- | `cup depend <id> [--on taskId] [--blocks taskId] [--remove] [--json]` | Add/remove task dependencies |
75
- | `cup move <id> [--to listId] [--remove listId] [--json]` | Add/remove task from lists |
76
- | `cup field <id> [--set "Name" value] [--remove "Name"] [--json]` | Set/remove custom field values |
77
- | `cup delete <id> [--confirm] [--json]` | Delete a task (DESTRUCTIVE, irreversible) |
78
- | `cup tag <id> [--add tags] [--remove tags] [--json]` | Add/remove tags on a task |
79
- | `cup checklist view <id> [--json]` | View checklists on a task |
80
- | `cup checklist create <id> <name> [--json]` | Create a checklist |
81
- | `cup checklist delete <checklistId> [--json]` | Delete a checklist |
82
- | `cup checklist add-item <checklistId> <name> [--json]` | Add item to a checklist |
83
- | `cup checklist edit-item <checklistId> <itemId> [--name n] [--resolved] [--unresolved] [--assignee id] [--json]` | Edit a checklist item |
84
- | `cup checklist delete-item <checklistId> <itemId> [--json]` | Delete a checklist item |
85
- | `cup comment-delete <commentId> [--json]` | Delete a comment |
86
- | `cup replies <commentId> [--json]` | List threaded replies on a comment |
87
- | `cup reply <commentId> -m text [--notify-all] [--json]` | Reply to a comment |
88
- | `cup link <taskId> <linksTo> [--remove] [--json]` | Add or remove link between tasks |
89
- | `cup attach <taskId> <filePath> [--json]` | Upload file attachment to a task |
90
- | `cup time start <taskId> [-d desc] [--json]` | Start tracking time on a task |
91
- | `cup time stop [--json]` | Stop the running timer |
92
- | `cup time status [--json]` | Show currently running timer |
93
- | `cup time log <taskId> <duration> [-d desc] [--json]` | Log manual time entry (e.g. "2h", "30m") |
94
- | `cup time list [--days n] [--task id] [--json]` | List recent time entries |
95
- | `cup time update <timeEntryId> [-d desc] [--duration dur] [--json]` | Update a time entry |
96
- | `cup time delete <timeEntryId> [--json]` | Delete a time entry |
97
- | `cup doc-create <title> [-c content] [--json]` | Create a new doc |
98
- | `cup doc-page-create <docId> <name> [-c content] [--parent-page pageId] [--json]` | Create a page in a doc |
99
- | `cup doc-page-edit <docId> <pageId> [--name text] [-c content] [--json]` | Edit a doc page |
100
- | `cup tag-create <spaceId> <name> [--fg color] [--bg color] [--json]` | Create a tag in a space |
101
- | `cup tag-delete <spaceId> <name> [--json]` | Delete a tag from a space |
102
- | `cup duplicate <taskId> [--json]` | Duplicate a task (read + create copy) |
103
- | `cup bulk status <status> <taskIds...> [--json]` | Bulk update status of multiple tasks |
104
- | `cup goal-create <name> [-d desc] [--color hex] [--json]` | Create a goal |
105
- | `cup goal-update <goalId> [-n name] [-d desc] [--color hex] [--json]` | Update a goal |
106
- | `cup key-result-create <goalId> <name> [--type t] [--target n] [--json]` | Create a key result on a goal |
107
- | `cup key-result-update <keyResultId> [--progress n] [--note text] [--json]` | Update a key result |
108
- | `cup config get <key>` / `cup config set <key> <value>` / `cup config path` | Manage CLI config (keys: apiToken, teamId, sprintFolderId) |
109
- | `cup completion <shell>` | Shell completions (bash/zsh/fish) |
110
-
111
- ## Quick Reference
112
-
113
- | Topic | Detail |
114
- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
115
- | Task IDs | Native (`abc123def`) or custom (`PROJ-123`). Custom IDs auto-detected by `PREFIX-DIGITS` format |
116
- | `--type` | Filter by task type: `task` (regular), or custom type name/ID (e.g. `initiative`, `Bug`) |
117
- | `--list` on create | Optional when `--parent` is given (auto-detected) |
118
- | `--status` | Fuzzy matching: exact > starts-with > contains. Prints match to stderr. |
119
- | `--priority` | Names (`urgent`, `high`, `normal`, `low`) or numbers (1-4) |
120
- | `--due-date` | `YYYY-MM-DD` format |
121
- | `--assignee` | User ID or `me` (on `cup create`, `cup update`, `cup assign`) |
122
- | `--tags` | Comma-separated (e.g. `--tags "bug,frontend"`) |
123
- | `--time-estimate` | Duration format: `"2h"`, `"30m"`, `"1h30m"`, or raw milliseconds |
124
- | `--custom-item-id` | Custom task type ID for `cup create` (e.g. `1` for initiative) |
125
- | `--on` / `--blocks` | Task dependency direction (used with `cup depend`) |
126
- | `--to` / `--remove` | List ID to add/remove task (used with `cup move`) |
127
- | `cup field --set` | Supports: text, number, checkbox (true/false), dropdown (option name), date (YYYY-MM-DD), url, email |
128
- | `cup field` | Field names resolved case-insensitively; errors list available fields/options |
129
- | `cup delete` | DESTRUCTIVE. Requires `--confirm` in non-interactive mode. Cannot be undone |
130
- | `cup tag --add/--remove` | Comma-separated tag names (e.g. `--add "bug,frontend"`) |
131
- | `--space` | Partial name match or exact ID |
132
- | `--name` | Partial match, case-insensitive |
133
- | `--include-closed` | Include closed/done tasks (on `tasks`, `assigned`, `subtasks`, `sprint`, `search`, `inbox`, `overdue`) |
134
- | `cup assign --to me` | Shorthand for your own user ID |
135
- | `cup search` | Matches all query words against task name, case-insensitive |
136
- | `cup sprint` | Auto-detects active sprint by searching for folders named sprint/iteration/cycle/scrum, parses multiple date formats (US, ISO, month-day, European), prompts in TTY when ambiguous. Override with `--folder <id>` or `cup config set sprintFolderId <id>` |
137
- | `cup summary` | Categories: completed (done/complete/closed within N hours), in progress, overdue |
138
- | `cup overdue` | Excludes closed tasks, sorted most overdue first |
139
- | `cup open` | Tries task ID first, falls back to name search |
140
- | `cup checklist` | Full CRUD for task checklists: view, create, delete, add-item, edit-item, delete-item |
141
- | `cup tags` | List available tags in a space. Useful for discovering valid tag names before using `cup tag` |
142
- | `cup tag-create` | Create a new tag in a space. Optional `--fg` and `--bg` for colors |
143
- | `cup tag-delete` | Delete a tag from a space |
144
- | `cup members` | List workspace members with username, ID, and email |
145
- | `cup fields` | List custom fields on a list. Shows field type, required status, and dropdown options |
146
- | `cup duplicate` | Duplicate a task. Creates a copy with name, description, priority, tags, and time estimate |
147
- | `cup bulk status` | Update status of multiple tasks at once. Reports failures without stopping |
148
- | `cup goals` | List goals with progress percentage and owner |
149
- | `cup goal-create` | Create a goal with optional description and color |
150
- | `cup goal-update` | Update goal name, description, or color |
151
- | `cup key-results` | List key results for a goal with progress tracking |
152
- | `cup key-result-create` | Create a key result (number or percentage type) with a target value |
153
- | `cup key-result-update` | Update key result progress or add a note |
154
- | `cup time` | Track time: start/stop timer, log entries, list history, update/delete entries. Duration format: "2h", "30m", "1h30m" |
155
- | `cup time update` | Update a time entry description or duration |
156
- | `cup time delete` | Delete a time entry |
157
- | `cup comment-edit` | Edit comment text and resolution status |
158
- | `cup comment-delete` | Delete a comment |
159
- | `cup replies` / `cup reply` | View and post threaded comment replies |
160
- | Custom task IDs | Auto-detected by format (`PROJ-123`). Uses `teamId` from config. All commands support them |
161
- | `cup link` + custom IDs | Both IDs must be the same type (both custom or both native). Mixing may not work |
162
- | `cup link` | Link/unlink tasks (different from dependencies) |
163
- | `cup attach` | Upload files to tasks. Attachments shown in `cup task` detail view |
164
- | `cup folders` | List folders in a space with their contained lists |
165
- | `cup docs` | List and search workspace docs by name |
166
- | `cup doc` | View doc metadata + page tree (no pageId), or a specific page (with pageId) |
167
- | `cup doc-pages` | Dump all pages in a doc with full content |
168
- | `cup doc-create` | Create a new doc with optional initial content |
169
- | `cup doc-page-create` | Create a page in a doc, optionally nested under a parent page |
170
- | `cup doc-page-edit` | Edit a doc page name or content |
171
- | `cup task` | Shows custom fields, checklists, attachments, dependencies, and linked tasks in detail view |
172
- | `cup lists` | Discovers list IDs needed for `--list` and `cup create -l` |
173
- | Errors | stderr with exit code 1 |
174
- | Parsing | Strict - excess/unknown arguments rejected |
66
+ | Command | What it does |
67
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------- |
68
+ | `cup create -n name [-l listId] [-p parentId] [-d desc] [-s status] [--priority p] [--due-date d] [--time-estimate t] [--assignee id\|me] [--tags t] [--custom-item-id n] [--template id]` | Create task |
69
+ | `cup update <id> [-n name] [-d desc] [-s status] [--priority p] [--due-date d] [--time-estimate t] [--assignee id\|me] [--parent id]` | Update task fields |
70
+ | `cup comment <id> -m text [--notify-all]` | Post comment on task |
71
+ | `cup comment-edit <commentId> -m text [--resolved] [--unresolved]` | Edit a comment |
72
+ | `cup comment-delete <commentId>` | Delete a comment |
73
+ | `cup replies <commentId>` | List threaded replies |
74
+ | `cup reply <commentId> -m text [--notify-all]` | Reply to a comment |
75
+ | `cup assign <id> [--to userId\|me] [--remove userId\|me]` | Assign/unassign users |
76
+ | `cup depend <id> [--on taskId] [--blocks taskId] [--remove]` | Add/remove dependencies |
77
+ | `cup move <id> [--to listId] [--remove listId]` | Add/remove task from lists |
78
+ | `cup field <id> [--set "Name" value] [--remove "Name"]` | Set/remove custom field values |
79
+ | `cup tag <id> [--add tags] [--remove tags]` | Add/remove tags on a task |
80
+ | `cup link <taskId> <linksTo> [--remove]` | Link/unlink tasks |
81
+ | `cup attach <taskId> <filePath>` | Upload file attachment |
82
+ | `cup delete <id> [--confirm]` | Delete task (DESTRUCTIVE) |
83
+ | `cup duplicate <taskId>` | Duplicate a task |
84
+ | `cup bulk status <status> <taskIds...>` | Bulk update status |
85
+ | `cup checklist view <id>` | View checklists on a task |
86
+ | `cup checklist create <id> <name>` | Create a checklist |
87
+ | `cup checklist delete <checklistId>` | Delete a checklist |
88
+ | `cup checklist add-item <checklistId> <name>` | Add item to checklist |
89
+ | `cup checklist edit-item <checklistId> <itemId> [--name n] [--resolved] [--unresolved] [--assignee id]` | Edit checklist item |
90
+ | `cup checklist delete-item <checklistId> <itemId>` | Delete checklist item |
91
+ | `cup time start <taskId> [-d desc]` | Start timer |
92
+ | `cup time stop` | Stop running timer |
93
+ | `cup time status` | Show running timer |
94
+ | `cup time log <taskId> <duration> [-d desc]` | Log manual entry (e.g. "2h", "30m") |
95
+ | `cup time list [--days n] [--task id]` | List recent time entries |
96
+ | `cup time update <timeEntryId> [-d desc] [--duration dur]` | Update time entry |
97
+ | `cup time delete <timeEntryId>` | Delete time entry |
98
+ | `cup goal-create <name> [-d desc] [--color hex]` | Create a goal |
99
+ | `cup goal-update <goalId> [-n name] [-d desc] [--color hex]` | Update a goal |
100
+ | `cup goal-delete <goalId>` | Delete a goal |
101
+ | `cup key-result-create <goalId> <name> [--type t] [--target n]` | Create key result |
102
+ | `cup key-result-update <keyResultId> [--progress n] [--note text]` | Update key result |
103
+ | `cup key-result-delete <keyResultId>` | Delete key result |
104
+ | `cup doc-create <title> [-c content]` | Create a doc |
105
+ | `cup doc-page-create <docId> <name> [-c content] [--parent-page pageId]` | Create doc page |
106
+ | `cup doc-page-edit <docId> <pageId> [--name text] [-c content]` | Edit doc page |
107
+ | `cup doc-delete <docId>` | Delete a doc |
108
+ | `cup doc-page-delete <docId> <pageId>` | Delete doc page |
109
+ | `cup tag-create <spaceId> <name> [--fg color] [--bg color]` | Create space tag |
110
+ | `cup tag-update <spaceId> <tagName> --name <newName> [--fg c] [--bg c]` | Update space tag |
111
+ | `cup tag-delete <spaceId> <name>` | Delete space tag |
112
+ | `cup config get <key>` / `set <key> <value>` / `path` | Manage config |
113
+ | `cup completion <shell>` | Shell completions (bash/zsh/fish) |
114
+
115
+ ## Flags & Conventions
116
+
117
+ | Topic | Detail |
118
+ | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
119
+ | Task IDs | Native (`abc123def`) or custom (`PROJ-123`). Custom IDs auto-detected by `PREFIX-DIGITS` format |
120
+ | `--status` | Fuzzy matching: exact > starts-with > contains. Prints match to stderr |
121
+ | `--priority` | Names (`urgent`, `high`, `normal`, `low`) or numbers (1-4) |
122
+ | `--due-date` | `YYYY-MM-DD` format |
123
+ | `--assignee` | User ID or `me` |
124
+ | `--tags` | Comma-separated (e.g. `--tags "bug,frontend"`) |
125
+ | `--time-estimate` | Duration: `"2h"`, `"30m"`, `"1h30m"`, or raw milliseconds |
126
+ | `--type` | `task` (regular) or custom type name/ID (e.g. `initiative`, `Bug`) |
127
+ | `--custom-item-id` | Custom task type ID for `cup create` (find with `cup task-types`) |
128
+ | `--space` | Partial name match or exact ID |
129
+ | `--name` | Partial match, case-insensitive |
130
+ | `--include-closed` | Include closed/done tasks |
131
+ | `--list` on create | Optional when `--parent` is given (auto-detected) |
132
+ | `cup field --set` | Supports: text, number, checkbox (true/false), dropdown (option name), date (YYYY-MM-DD), url, email. Names resolved case-insensitively; errors list available fields/options |
133
+ | `cup sprint` | Auto-detects active sprint by folder name (sprint/iteration/cycle/scrum), parses multiple date formats. Override with `--folder <id>` or `cup config set sprintFolderId <id>` |
134
+ | `cup link` | Both IDs must be the same type (both custom or both native) |
135
+ | `cup delete` | DESTRUCTIVE. Requires `--confirm` in non-interactive mode. Cannot be undone |
136
+ | Errors | stderr with exit code 1. Strict parsing - excess/unknown arguments rejected |
175
137
 
176
138
  ## Agent Workflow Examples
177
139
 
@@ -191,7 +153,6 @@ cup activity abc123def # task + comments combined
191
153
  cup tasks --status "in progress" # by status
192
154
  cup tasks --name "login" # by partial name
193
155
  cup tasks --type initiative # initiatives only
194
- cup tasks --type task # regular tasks only
195
156
  cup search "payment flow" # multi-word search
196
157
  cup search auth --status "prog" # fuzzy status match
197
158
  cup sprint # current sprint
@@ -205,87 +166,54 @@ cup inbox --days 7 # recently updated
205
166
  ```bash
206
167
  cup update abc123def -s "done"
207
168
  cup update abc123def --priority high --due-date 2025-03-15
208
- cup update abc123def --time-estimate 2h
209
- cup update abc123def --parent parentId # make it a subtask
210
169
  cup create -n "Fix the thing" -p abc123def
211
170
  cup create -n "Fix bug" -l <listId> --priority urgent --tags "bug,frontend"
212
- cup create -n "Q3 Roadmap" -l <listId> --custom-item-id 1 # create initiative
171
+ cup create -n "Q3 Roadmap" -l <listId> --custom-item-id 1
213
172
  cup comment abc123def -m "Completed in PR #42"
214
173
  cup assign abc123def --to me
215
174
  cup depend task3 --on task2 # task3 waits for task2
216
- cup depend task1 --blocks task2 # task1 blocks task2
217
- cup move task1 --to list2 --remove list1 # move between lists
175
+ cup move task1 --to list2 --remove list1
218
176
  cup field abc123def --set "Story Points" 5
219
- cup field abc123def --set "Category" "Bug Fix"
220
- cup field abc123def --remove "Old Field"
221
177
  cup tag abc123def --add "bug,frontend"
222
- cup tag abc123def --remove "triage"
223
- cup checklist view abc123def # view checklists
224
- cup checklist create abc123def "QA Steps" # add checklist
225
- cup checklist add-item <clId> "Run unit tests" # add item
226
- cup checklist edit-item <clId> <itemId> --resolved # check off item
227
- cup comment-edit <commentId> -m "Updated findings" # edit a comment
228
- cup comment-delete <commentId> # delete a comment
229
- cup replies <commentId> # view threaded replies
230
- cup reply <commentId> -m "Agreed, fixing" # reply to a comment
231
- cup link abc123 def456 # link two tasks
232
- cup link abc123 def456 --remove # unlink two tasks
233
- cup attach abc123def ./screenshot.png # upload file to task
234
- cup time start abc123def -d "Working on feature" # start timer
235
- cup time status # check running timer
236
- cup time stop # stop timer
237
- cup time log abc123def 2h -d "Code review" # log manual entry
238
- cup time list --days 7 # recent entries
178
+ cup checklist create abc123def "QA Steps"
179
+ cup checklist add-item <clId> "Run unit tests"
180
+ cup checklist edit-item <clId> <itemId> --resolved
181
+ cup link abc123 def456
182
+ cup attach abc123def ./screenshot.png
183
+ cup time start abc123def -d "Working on feature"
184
+ cup time stop
185
+ cup time log abc123def 2h -d "Code review"
239
186
  cup delete abc123def --confirm # irreversible!
240
187
  ```
241
188
 
242
- ### Work with docs
189
+ ### Docs
243
190
 
244
191
  ```bash
245
- cup docs # list all docs
246
- cup docs "design" # search docs by name
247
- cup doc <docId> # doc metadata + page tree
248
- cup doc <docId> <pageId> # view page content
249
- cup doc-pages <docId> # all pages with content
250
- cup doc-create "Architecture Notes" # create a doc
251
- cup doc-create "Notes" -c "# Draft" # create with content
252
- cup doc-page-create <docId> "New Section" # add page to doc
253
- cup doc-page-create <docId> "Sub" --parent-page <pageId> # nested page
254
- cup doc-page-edit <docId> <pageId> --name "Renamed" # rename page
255
- cup doc-page-edit <docId> <pageId> -c "# Updated content" # edit content
192
+ cup docs "design" # search docs
193
+ cup doc <docId> <pageId> # view page
194
+ cup doc-create "Architecture Notes" -c "# Draft"
195
+ cup doc-page-create <docId> "Section" --parent-page <pageId>
196
+ cup doc-page-edit <docId> <pageId> -c "# Updated"
256
197
  ```
257
198
 
258
- ### Discover workspace structure
199
+ ### Workspace structure
259
200
 
260
201
  ```bash
261
- cup spaces # all spaces
262
- cup spaces --name "Engineering" # find space ID by name
202
+ cup spaces --name "Engineering" # find space ID
263
203
  cup folders <spaceId> # folders with their lists
264
- cup folders <spaceId> --name "sprint" # filter folders by name
265
- cup lists <spaceId> # lists in a space (needs ID from cup spaces)
266
- cup sprints # all sprints across folders
204
+ cup lists <spaceId> # lists in a space
267
205
  cup members # workspace members
268
206
  cup fields <listId> # custom fields on a list
269
- cup auth # verify token works
270
- cup config set sprintFolderId <id> # pin sprint detection to a folder
271
- ```
272
-
273
- ### Bulk operations
274
-
275
- ```bash
276
- cup duplicate abc123 # duplicate a task
277
- cup bulk status "done" t1 t2 t3 # mark multiple tasks done
278
- cup tag-create <spaceId> "urgent" # create a space tag
279
- cup tag-delete <spaceId> "old-tag" # delete a space tag
207
+ cup task-types # custom task types
208
+ cup templates # task templates
280
209
  ```
281
210
 
282
- ### Goals and key results
211
+ ### Goals
283
212
 
284
213
  ```bash
285
- cup goals # list all goals
214
+ cup goals
286
215
  cup goal-create "Ship v2" -d "Release version 2"
287
- cup goal-update g123 -n "Updated name"
288
- cup key-results g123 # key results for a goal
216
+ cup key-results g123
289
217
  cup key-result-create g123 "API coverage" --type percentage --target 80
290
218
  cup key-result-update kr456 --progress 60 --note "On track"
291
219
  ```