@krodak/clickup-cli 1.11.0 → 1.12.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "clickup-cli",
3
3
  "description": "ClickUp CLI skills for managing tasks, sprints, comments, checklists, custom fields, tags, and time tracking via the cup command",
4
- "version": "1.11.0",
4
+ "version": "1.12.0",
5
5
  "author": {
6
6
  "name": "Krzysztof Rodak"
7
7
  },
package/dist/index.js CHANGED
@@ -160,12 +160,14 @@ var ClickUpClient = class {
160
160
  return allTasks;
161
161
  }
162
162
  async getMyTasks(teamId, filters = {}) {
163
- const me = await this.getMe();
164
163
  const baseParams = new URLSearchParams({
165
164
  subtasks: String(filters.subtasks ?? true)
166
165
  });
167
166
  if (filters.includeClosed) baseParams.set("include_closed", "true");
168
- baseParams.append("assignees[]", String(me.id));
167
+ if (!filters.all) {
168
+ const me = await this.getMe();
169
+ baseParams.append("assignees[]", String(me.id));
170
+ }
169
171
  for (const s of filters.statuses ?? []) baseParams.append("statuses[]", s);
170
172
  for (const id of filters.listIds ?? []) baseParams.append("list_ids[]", id);
171
173
  for (const id of filters.spaceIds ?? []) baseParams.append("space_ids[]", id);
@@ -2520,7 +2522,7 @@ function isOverdue2(task, now) {
2520
2522
  async function fetchOverdueTasks(config, opts = {}) {
2521
2523
  const client = new ClickUpClient(config);
2522
2524
  const [allTasks, customTypes] = await Promise.all([
2523
- client.getMyTasks(config.teamId, { includeClosed: opts.includeClosed }),
2525
+ client.getMyTasks(config.teamId, { all: opts.all, includeClosed: opts.includeClosed }),
2524
2526
  client.getCustomTaskTypes(config.teamId)
2525
2527
  ]);
2526
2528
  const typeMap = buildTypeMap(customTypes);
@@ -2665,9 +2667,20 @@ var commandMetadata = [
2665
2667
  },
2666
2668
  {
2667
2669
  name: "tasks",
2668
- description: "List tasks assigned to me",
2669
- flags: ["--status", "--list", "--space", "--name", "--type", "--include-closed", "--json"],
2670
- quickReference: [{ section: "read", usage: "tasks", description: "List tasks assigned to me" }]
2670
+ description: "List tasks assigned to me (use --all for all tasks)",
2671
+ flags: [
2672
+ "--status",
2673
+ "--list",
2674
+ "--space",
2675
+ "--name",
2676
+ "--type",
2677
+ "--all",
2678
+ "--include-closed",
2679
+ "--json"
2680
+ ],
2681
+ quickReference: [
2682
+ { section: "read", usage: "tasks", description: "List tasks assigned to me (--all for all)" }
2683
+ ]
2671
2684
  },
2672
2685
  {
2673
2686
  name: "task",
@@ -2690,6 +2703,7 @@ var commandMetadata = [
2690
2703
  "--time-estimate",
2691
2704
  "--assignee",
2692
2705
  "--parent",
2706
+ "--field",
2693
2707
  "--json"
2694
2708
  ],
2695
2709
  quickReference: [{ section: "write", usage: "update <taskId>", description: "Update a task" }]
@@ -2859,8 +2873,8 @@ var commandMetadata = [
2859
2873
  },
2860
2874
  {
2861
2875
  name: "search",
2862
- description: "Search my tasks by name",
2863
- flags: ["--status", "--include-closed", "--json"],
2876
+ description: "Search my tasks by name (use --all for all tasks)",
2877
+ flags: ["--status", "--all", "--include-closed", "--json"],
2864
2878
  quickReference: [
2865
2879
  { section: "read", usage: "search <query>", description: "Search my tasks by name" }
2866
2880
  ]
@@ -2874,7 +2888,7 @@ var commandMetadata = [
2874
2888
  {
2875
2889
  name: "overdue",
2876
2890
  description: "List tasks that are past their due date",
2877
- flags: ["--include-closed", "--json"],
2891
+ flags: ["--all", "--include-closed", "--json"],
2878
2892
  quickReference: [
2879
2893
  { section: "read", usage: "overdue", description: "Tasks past their due date" }
2880
2894
  ]
@@ -4299,7 +4313,7 @@ async function searchTasks(config, query, opts = {}) {
4299
4313
  }
4300
4314
  const client = new ClickUpClient(config);
4301
4315
  const [allTasks, customTypes] = await Promise.all([
4302
- client.getMyTasks(config.teamId, { includeClosed: opts.includeClosed }),
4316
+ client.getMyTasks(config.teamId, { all: opts.all, includeClosed: opts.includeClosed }),
4303
4317
  client.getCustomTaskTypes(config.teamId)
4304
4318
  ]);
4305
4319
  const typeMap = buildTypeMap(customTypes);
@@ -5296,10 +5310,10 @@ function buildProgram(programName = basename(process.argv[1] ?? "cup")) {
5296
5310
  }
5297
5311
  })
5298
5312
  );
5299
- program.command("tasks").description("List tasks assigned to me").option("--status <status>", 'Filter by status (e.g. "in progress")').option("--list <listId>", "Filter by list ID").option("--space <spaceId>", "Filter by space ID").option("--name <partial>", "Filter by name (case-insensitive contains)").option(
5313
+ program.command("tasks").description("List tasks assigned to me (use --all for all tasks)").option("--status <status>", 'Filter by status (e.g. "in progress")').option("--list <listId>", "Filter by list ID").option("--space <spaceId>", "Filter by space ID").option("--name <partial>", "Filter by name (case-insensitive contains)").option(
5300
5314
  "--type <type>",
5301
5315
  'Filter by task type (e.g. "task", "initiative", or custom type name/ID)'
5302
- ).option("--include-closed", "Include done/closed tasks").option("--json", "Force JSON output even in terminal").action(
5316
+ ).option("--all", "Include all tasks, not just mine").option("--include-closed", "Include done/closed tasks").option("--json", "Force JSON output even in terminal").action(
5303
5317
  wrapAction(async (opts) => {
5304
5318
  const config = loadConfig(getProfileName());
5305
5319
  const tasks = await fetchMyTasks(config, {
@@ -5308,6 +5322,7 @@ function buildProgram(programName = basename(process.argv[1] ?? "cup")) {
5308
5322
  listIds: opts.list ? [opts.list] : void 0,
5309
5323
  spaceIds: opts.space ? [opts.space] : void 0,
5310
5324
  name: opts.name,
5325
+ all: opts.all,
5311
5326
  includeClosed: opts.includeClosed
5312
5327
  });
5313
5328
  await printTasks(tasks, opts.json ?? false, config);
@@ -5326,21 +5341,31 @@ function buildProgram(programName = basename(process.argv[1] ?? "cup")) {
5326
5341
  }
5327
5342
  })
5328
5343
  );
5329
- program.command("update <taskId>").description("Update a task").option("-n, --name <text>", "New task name").option("-d, --description <text>", "New description (markdown supported)").option("-s, --status <status>", 'New status (e.g. "in progress", "done")').option("--priority <level>", "Priority: urgent, high, normal, low (or 1-4)").option("--due-date <date>", "Due date (YYYY-MM-DD)").option("--time-estimate <duration>", 'Time estimate (e.g. "2h", "30m", "1h30m")').option("--assignee <userId>", 'Add assignee by user ID or "me"').option("--parent <taskId>", "Set parent task (makes this a subtask)").option("--json", "Force JSON output even in terminal").action(
5330
- wrapAction(async (taskId, opts) => {
5331
- const config = loadConfig(getProfileName());
5332
- if (opts.assignee === "me") {
5333
- const client = new ClickUpClient(config);
5334
- opts.assignee = String(await resolveAssigneeId(client, "me"));
5335
- }
5336
- const payload = buildUpdatePayload(opts);
5337
- const result = await updateTask(config, taskId, payload);
5338
- if (shouldOutputJson(opts.json ?? false)) {
5339
- console.log(JSON.stringify(result, null, 2));
5340
- } else {
5341
- console.log(formatUpdateConfirmation(result.id, result.name));
5344
+ program.command("update <taskId>").description("Update a task").option("-n, --name <text>", "New task name").option("-d, --description <text>", "New description (markdown supported)").option("-s, --status <status>", 'New status (e.g. "in progress", "done")').option("--priority <level>", "Priority: urgent, high, normal, low (or 1-4)").option("--due-date <date>", "Due date (YYYY-MM-DD)").option("--time-estimate <duration>", 'Time estimate (e.g. "2h", "30m", "1h30m")').option("--assignee <userId>", 'Add assignee by user ID or "me"').option("--parent <taskId>", "Set parent task (makes this a subtask)").option("--field <nameAndValue...>", 'Set custom field: --field "Name" value').option("--json", "Force JSON output even in terminal").action(
5345
+ wrapAction(
5346
+ async (taskId, opts) => {
5347
+ const config = loadConfig(getProfileName());
5348
+ if (opts.assignee === "me") {
5349
+ const client = new ClickUpClient(config);
5350
+ opts.assignee = String(await resolveAssigneeId(client, "me"));
5351
+ }
5352
+ const payload = buildUpdatePayload(opts);
5353
+ const result = await updateTask(config, taskId, payload);
5354
+ if (opts.field?.length) {
5355
+ if (opts.field.length % 2 !== 0) {
5356
+ throw new Error('--field requires pairs: --field "Name" value');
5357
+ }
5358
+ for (let i = 0; i < opts.field.length; i += 2) {
5359
+ await setCustomField(config, taskId, { set: [opts.field[i], opts.field[i + 1]] });
5360
+ }
5361
+ }
5362
+ if (shouldOutputJson(opts.json ?? false)) {
5363
+ console.log(JSON.stringify(result, null, 2));
5364
+ } else {
5365
+ console.log(formatUpdateConfirmation(result.id, result.name));
5366
+ }
5342
5367
  }
5343
- })
5368
+ )
5344
5369
  );
5345
5370
  program.command("create").description("Create a new task").option("-l, --list <listId>", "Target list ID (auto-detected from --parent if omitted)").requiredOption("-n, --name <name>", "Task name").option("-d, --description <text>", "Task description (markdown supported)").option("-p, --parent <taskId>", "Parent task ID (list auto-detected from parent)").option("-s, --status <status>", "Initial status").option("--priority <level>", "Priority: urgent, high, normal, low (or 1-4)").option("--due-date <date>", "Due date (YYYY-MM-DD)").option("--assignee <userId>", 'Assignee user ID or "me"').option("--tags <tags>", "Comma-separated tag names").option("--custom-item-id <id>", "Custom task type ID (use to create initiatives)").option("--time-estimate <duration>", 'Time estimate (e.g. "2h", "30m", "1h30m")').option("--template <id>", "Create from a task template").option("--json", "Force JSON output even in terminal").action(
5346
5371
  wrapAction(async (opts) => {
@@ -5504,12 +5529,13 @@ function buildProgram(programName = basename(process.argv[1] ?? "cup")) {
5504
5529
  await openTask(config, query, opts);
5505
5530
  })
5506
5531
  );
5507
- program.command("search <query>").description("Search my tasks by name").option("--status <status>", "Filter by status").option("--include-closed", "Include done/closed tasks in search").option("--json", "Force JSON output even in terminal").action(
5532
+ program.command("search <query>").description("Search my tasks by name (use --all for all tasks)").option("--status <status>", "Filter by status").option("--all", "Search all tasks, not just mine").option("--include-closed", "Include done/closed tasks in search").option("--json", "Force JSON output even in terminal").action(
5508
5533
  wrapAction(
5509
5534
  async (query, opts) => {
5510
5535
  const config = loadConfig(getProfileName());
5511
5536
  const tasks = await searchTasks(config, query, {
5512
5537
  status: opts.status,
5538
+ all: opts.all,
5513
5539
  includeClosed: opts.includeClosed
5514
5540
  });
5515
5541
  await printTasks(tasks, opts.json ?? false, config);
@@ -5526,10 +5552,13 @@ function buildProgram(programName = basename(process.argv[1] ?? "cup")) {
5526
5552
  await runSummaryCommand(config, { hours, json: opts.json ?? false });
5527
5553
  })
5528
5554
  );
5529
- program.command("overdue").description("List tasks that are past their due date").option("--include-closed", "Include done/closed overdue tasks").option("--json", "Force JSON output even in terminal").action(
5555
+ program.command("overdue").description("List tasks that are past their due date").option("--all", "Include all tasks, not just mine").option("--include-closed", "Include done/closed overdue tasks").option("--json", "Force JSON output even in terminal").action(
5530
5556
  wrapAction(async (opts) => {
5531
5557
  const config = loadConfig(getProfileName());
5532
- const tasks = await fetchOverdueTasks(config, { includeClosed: opts.includeClosed });
5558
+ const tasks = await fetchOverdueTasks(config, {
5559
+ all: opts.all,
5560
+ includeClosed: opts.includeClosed
5561
+ });
5533
5562
  await printTasks(tasks, opts.json ?? false, config);
5534
5563
  })
5535
5564
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@krodak/clickup-cli",
3
- "version": "1.11.0",
3
+ "version": "1.12.0",
4
4
  "description": "ClickUp CLI for AI agents and humans",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -33,102 +33,102 @@ All commands support `--help` for full flag details. All commands support `--jso
33
33
 
34
34
  ### Read
35
35
 
36
- | Command | What it returns |
37
- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
38
- | `cup tasks [--status s] [--name q] [--type t] [--list id] [--space id] [--include-closed]` | My tasks (filter by status, name, type, list, space) |
39
- | `cup assigned [--status s] [--include-closed]` | All my tasks grouped by status |
40
- | `cup sprint [--status s] [--space nameOrId] [--folder id] [--include-closed]` | Tasks in active sprint (auto-detected) |
41
- | `cup sprints [--space nameOrId]` | List all sprints (marks active with \*) |
42
- | `cup search <query> [--status s] [--include-closed]` | Search my tasks by name |
43
- | `cup task <id>` | Single task details (custom fields, checklists, attachments, deps, links) |
44
- | `cup subtasks <id> [--status s] [--name q] [--include-closed]` | Subtasks of a task |
45
- | `cup comments <id>` | Comments on a task |
46
- | `cup activity <id>` | Task details + comment history combined |
47
- | `cup inbox [--days n] [--include-closed]` | Tasks updated in last n days (default 30) |
48
- | `cup summary [--hours n]` | Standup: completed, in-progress, overdue |
49
- | `cup overdue [--include-closed]` | Tasks past due date (most overdue first) |
50
- | `cup spaces [--name partial] [--my]` | List/filter workspace spaces |
51
- | `cup lists <spaceId> [--name partial]` | Lists in a space (including folder lists) |
52
- | `cup folders <spaceId> [--name partial]` | Folders in a space (with their lists) |
53
- | `cup members` | Workspace members (username, ID, email) |
54
- | `cup fields <listId>` | Custom fields on a list (type, required, options) |
55
- | `cup tags <spaceId>` | Tags available in a space |
56
- | `cup goals` | Workspace goals with progress |
57
- | `cup key-results <goalId>` | Key results for a goal |
58
- | `cup docs [query]` | Workspace docs (optionally filter by name) |
59
- | `cup doc <docId> [pageId]` | Doc metadata + page tree, or a specific page |
60
- | `cup doc-pages <docId>` | All pages in a doc with content |
61
- | `cup task-types` | Custom task types (for `--custom-item-id`) |
62
- | `cup templates` | Task templates (for `--template`) |
63
- | `cup list-templates` | List templates (for `list-from-template`) |
64
- | `cup folder-templates` | Folder templates |
65
- | `cup views <listId>` | List views on a list |
66
- | `cup view <viewId>` | Get view details |
67
- | `cup open <query>` | Open task in browser by ID or name |
68
- | `cup auth` | Check authentication status |
36
+ | Command | What it returns |
37
+ | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
38
+ | `cup tasks [--status s] [--name q] [--type t] [--list id] [--space id] [--all] [--include-closed]` | My tasks (filter by status, name, type, list, space). `--all` for all tasks in workspace |
39
+ | `cup assigned [--status s] [--include-closed]` | All my tasks grouped by status |
40
+ | `cup sprint [--status s] [--space nameOrId] [--folder id] [--include-closed]` | Tasks in active sprint (auto-detected) |
41
+ | `cup sprints [--space nameOrId]` | List all sprints (marks active with \*) |
42
+ | `cup search <query> [--status s] [--all] [--include-closed]` | Search my tasks by name. `--all` for all tasks |
43
+ | `cup task <id>` | Single task details (custom fields, checklists, attachments, deps, links) |
44
+ | `cup subtasks <id> [--status s] [--name q] [--include-closed]` | Subtasks of a task |
45
+ | `cup comments <id>` | Comments on a task |
46
+ | `cup activity <id>` | Task details + comment history combined |
47
+ | `cup inbox [--days n] [--include-closed]` | Tasks updated in last n days (default 30) |
48
+ | `cup summary [--hours n]` | Standup: completed, in-progress, overdue |
49
+ | `cup overdue [--include-closed]` | Tasks past due date (most overdue first) |
50
+ | `cup spaces [--name partial] [--my]` | List/filter workspace spaces |
51
+ | `cup lists <spaceId> [--name partial]` | Lists in a space (including folder lists) |
52
+ | `cup folders <spaceId> [--name partial]` | Folders in a space (with their lists) |
53
+ | `cup members` | Workspace members (username, ID, email) |
54
+ | `cup fields <listId>` | Custom fields on a list (type, required, options) |
55
+ | `cup tags <spaceId>` | Tags available in a space |
56
+ | `cup goals` | Workspace goals with progress |
57
+ | `cup key-results <goalId>` | Key results for a goal |
58
+ | `cup docs [query]` | Workspace docs (optionally filter by name) |
59
+ | `cup doc <docId> [pageId]` | Doc metadata + page tree, or a specific page |
60
+ | `cup doc-pages <docId>` | All pages in a doc with content |
61
+ | `cup task-types` | Custom task types (for `--custom-item-id`) |
62
+ | `cup templates` | Task templates (for `--template`) |
63
+ | `cup list-templates` | List templates (for `list-from-template`) |
64
+ | `cup folder-templates` | Folder templates |
65
+ | `cup views <listId>` | List views on a list |
66
+ | `cup view <viewId>` | Get view details |
67
+ | `cup open <query>` | Open task in browser by ID or name |
68
+ | `cup auth` | Check authentication status |
69
69
 
70
70
  ### Write
71
71
 
72
- | Command | What it does |
73
- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------- |
74
- | `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 |
75
- | `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 |
76
- | `cup comment <id> -m text [--notify-all]` | Post comment on task |
77
- | `cup comment-edit <commentId> -m text [--resolved] [--unresolved]` | Edit a comment |
78
- | `cup comment-delete <commentId>` | Delete a comment |
79
- | `cup replies <commentId>` | List threaded replies |
80
- | `cup reply <commentId> -m text [--notify-all]` | Reply to a comment |
81
- | `cup assign <id> [--to userId\|me] [--remove userId\|me]` | Assign/unassign users |
82
- | `cup depend <id> [--on taskId] [--blocks taskId] [--remove]` | Add/remove dependencies |
83
- | `cup move <id> [--to listId] [--remove listId]` | Add/remove task from lists |
84
- | `cup field <id> [--set "Name" value] [--remove "Name"]` | Set/remove custom field values |
85
- | `cup field-create <name> -t <type> [-d desc] [--options "a,b,c"] [--required]` | Create a custom field |
86
- | `cup tag <id> [--add tags] [--remove tags]` | Add/remove tags on a task |
87
- | `cup link <taskId> <linksTo> [--remove]` | Link/unlink tasks |
88
- | `cup attach <taskId> <filePath>` | Upload file attachment |
89
- | `cup delete <id> [--confirm]` | Delete task (DESTRUCTIVE) |
90
- | `cup duplicate <taskId>` | Duplicate a task |
91
- | `cup bulk status <status> <taskIds...>` | Bulk update status |
92
- | `cup checklist view <id>` | View checklists on a task |
93
- | `cup checklist create <id> <name>` | Create a checklist |
94
- | `cup checklist delete <checklistId>` | Delete a checklist |
95
- | `cup checklist add-item <checklistId> <name>` | Add item to checklist |
96
- | `cup checklist edit-item <checklistId> <itemId> [--name n] [--resolved] [--unresolved] [--assignee id]` | Edit checklist item |
97
- | `cup checklist delete-item <checklistId> <itemId>` | Delete checklist item |
98
- | `cup time start <taskId> [-d desc]` | Start timer |
99
- | `cup time stop` | Stop running timer |
100
- | `cup time status` | Show running timer |
101
- | `cup time log <taskId> <duration> [-d desc]` | Log manual entry (e.g. "2h", "30m") |
102
- | `cup time list [--days n] [--task id]` | List recent time entries |
103
- | `cup time update <timeEntryId> [-d desc] [--duration dur]` | Update time entry |
104
- | `cup time delete <timeEntryId>` | Delete time entry |
105
- | `cup goal-create <name> [-d desc] [--color hex]` | Create a goal |
106
- | `cup goal-update <goalId> [-n name] [-d desc] [--color hex]` | Update a goal |
107
- | `cup goal-delete <goalId>` | Delete a goal |
108
- | `cup key-result-create <goalId> <name> [--type t] [--target n]` | Create key result |
109
- | `cup key-result-update <keyResultId> [--progress n] [--note text]` | Update key result |
110
- | `cup key-result-delete <keyResultId>` | Delete key result |
111
- | `cup doc-create <title> [-c content]` | Create a doc |
112
- | `cup doc-page-create <docId> <name> [-c content] [--parent-page pageId]` | Create doc page |
113
- | `cup doc-page-edit <docId> <pageId> [--name text] [-c content]` | Edit doc page |
114
- | `cup doc-delete <docId>` | Delete a doc |
115
- | `cup doc-page-delete <docId> <pageId>` | Delete doc page |
116
- | `cup space-create <name>` | Create a space |
117
- | `cup list-create <spaceId> <name> [--folder folderId]` | Create a list in a space or folder |
118
- | `cup folder-create <spaceId> <name>` | Create a folder in a space |
119
- | `cup tag-create <spaceId> <name> [--fg color] [--bg color]` | Create space tag |
120
- | `cup tag-update <spaceId> <tagName> --name <newName> [--fg c] [--bg c]` | Update space tag |
121
- | `cup tag-delete <spaceId> <name>` | Delete space tag |
122
- | `cup list-from-template <name> --template <id> [--space id] [--folder id]` | Create list from template |
123
- | `cup view-create <listId> <name> -t <type> [--group-by field]` | Create a view on a list |
124
- | `cup view-update <viewId> [-n name] [--group-by field]` | Update a view |
125
- | `cup view-delete <viewId> [--confirm]` | Delete a view (DESTRUCTIVE) |
126
- | `cup profile list [--json]` | List all profiles |
127
- | `cup profile add <name>` | Add a new profile (interactive) |
128
- | `cup profile remove <name>` | Remove a profile |
129
- | `cup profile use <name>` | Set the default profile |
130
- | `cup config get <key>` / `set <key> <value>` / `path` | Manage config |
131
- | `cup completion <shell>` | Shell completions (bash/zsh/fish) |
72
+ | Command | What it does |
73
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- |
74
+ | `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 |
75
+ | `cup update <id> [-n name] [-d desc] [-s status] [--priority p] [--due-date d] [--time-estimate t] [--assignee id\|me] [--parent id] [--field "Name" val]` | Update task fields (including custom fields) |
76
+ | `cup comment <id> -m text [--notify-all]` | Post comment on task |
77
+ | `cup comment-edit <commentId> -m text [--resolved] [--unresolved]` | Edit a comment |
78
+ | `cup comment-delete <commentId>` | Delete a comment |
79
+ | `cup replies <commentId>` | List threaded replies |
80
+ | `cup reply <commentId> -m text [--notify-all]` | Reply to a comment |
81
+ | `cup assign <id> [--to userId\|me] [--remove userId\|me]` | Assign/unassign users |
82
+ | `cup depend <id> [--on taskId] [--blocks taskId] [--remove]` | Add/remove dependencies |
83
+ | `cup move <id> [--to listId] [--remove listId]` | Add/remove task from lists |
84
+ | `cup field <id> [--set "Name" value] [--remove "Name"]` | Set/remove custom field values |
85
+ | `cup field-create <name> -t <type> [-d desc] [--options "a,b,c"] [--required]` | Create a custom field |
86
+ | `cup tag <id> [--add tags] [--remove tags]` | Add/remove tags on a task |
87
+ | `cup link <taskId> <linksTo> [--remove]` | Link/unlink tasks |
88
+ | `cup attach <taskId> <filePath>` | Upload file attachment |
89
+ | `cup delete <id> [--confirm]` | Delete task (DESTRUCTIVE) |
90
+ | `cup duplicate <taskId>` | Duplicate a task |
91
+ | `cup bulk status <status> <taskIds...>` | Bulk update status |
92
+ | `cup checklist view <id>` | View checklists on a task |
93
+ | `cup checklist create <id> <name>` | Create a checklist |
94
+ | `cup checklist delete <checklistId>` | Delete a checklist |
95
+ | `cup checklist add-item <checklistId> <name>` | Add item to checklist |
96
+ | `cup checklist edit-item <checklistId> <itemId> [--name n] [--resolved] [--unresolved] [--assignee id]` | Edit checklist item |
97
+ | `cup checklist delete-item <checklistId> <itemId>` | Delete checklist item |
98
+ | `cup time start <taskId> [-d desc]` | Start timer |
99
+ | `cup time stop` | Stop running timer |
100
+ | `cup time status` | Show running timer |
101
+ | `cup time log <taskId> <duration> [-d desc]` | Log manual entry (e.g. "2h", "30m") |
102
+ | `cup time list [--days n] [--task id]` | List recent time entries |
103
+ | `cup time update <timeEntryId> [-d desc] [--duration dur]` | Update time entry |
104
+ | `cup time delete <timeEntryId>` | Delete time entry |
105
+ | `cup goal-create <name> [-d desc] [--color hex]` | Create a goal |
106
+ | `cup goal-update <goalId> [-n name] [-d desc] [--color hex]` | Update a goal |
107
+ | `cup goal-delete <goalId>` | Delete a goal |
108
+ | `cup key-result-create <goalId> <name> [--type t] [--target n]` | Create key result |
109
+ | `cup key-result-update <keyResultId> [--progress n] [--note text]` | Update key result |
110
+ | `cup key-result-delete <keyResultId>` | Delete key result |
111
+ | `cup doc-create <title> [-c content]` | Create a doc |
112
+ | `cup doc-page-create <docId> <name> [-c content] [--parent-page pageId]` | Create doc page |
113
+ | `cup doc-page-edit <docId> <pageId> [--name text] [-c content]` | Edit doc page |
114
+ | `cup doc-delete <docId>` | Delete a doc |
115
+ | `cup doc-page-delete <docId> <pageId>` | Delete doc page |
116
+ | `cup space-create <name>` | Create a space |
117
+ | `cup list-create <spaceId> <name> [--folder folderId]` | Create a list in a space or folder |
118
+ | `cup folder-create <spaceId> <name>` | Create a folder in a space |
119
+ | `cup tag-create <spaceId> <name> [--fg color] [--bg color]` | Create space tag |
120
+ | `cup tag-update <spaceId> <tagName> --name <newName> [--fg c] [--bg c]` | Update space tag |
121
+ | `cup tag-delete <spaceId> <name>` | Delete space tag |
122
+ | `cup list-from-template <name> --template <id> [--space id] [--folder id]` | Create list from template |
123
+ | `cup view-create <listId> <name> -t <type> [--group-by field]` | Create a view on a list |
124
+ | `cup view-update <viewId> [-n name] [--group-by field]` | Update a view |
125
+ | `cup view-delete <viewId> [--confirm]` | Delete a view (DESTRUCTIVE) |
126
+ | `cup profile list [--json]` | List all profiles |
127
+ | `cup profile add <name>` | Add a new profile (interactive) |
128
+ | `cup profile remove <name>` | Remove a profile |
129
+ | `cup profile use <name>` | Set the default profile |
130
+ | `cup config get <key>` / `set <key> <value>` / `path` | Manage config |
131
+ | `cup completion <shell>` | Shell completions (bash/zsh/fish) |
132
132
 
133
133
  ## Global Flags
134
134
 
@@ -152,6 +152,7 @@ All commands support `--help` for full flag details. All commands support `--jso
152
152
  | `--custom-item-id` | Custom task type ID for `cup create` (find with `cup task-types`) |
153
153
  | `--space` | Partial name match or exact ID |
154
154
  | `--name` | Partial match, case-insensitive |
155
+ | `--all` | Show all tasks in workspace, not just assigned to me. Available on `tasks`, `search`, `overdue`. Default: my tasks only (smaller output for agent context windows) |
155
156
  | `--include-closed` | Include closed/done tasks |
156
157
  | `--list` on create | Optional when `--parent` is given (auto-detected) |
157
158
  | `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 |
@@ -179,6 +180,7 @@ cup activity abc123def # task + comments combined
179
180
  cup tasks --status "in progress" # by status
180
181
  cup tasks --name "login" # by partial name
181
182
  cup tasks --type initiative # initiatives only
183
+ cup tasks --list 12345 --all # all tasks in list, not just mine
182
184
  cup search "payment flow" # multi-word search
183
185
  cup search auth --status "prog" # fuzzy status match
184
186
  cup sprint # current sprint