@krodak/clickup-cli 1.11.1 → 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.
- package/.claude-plugin/plugin.json +1 -1
- package/dist/index.js +33 -15
- package/package.json +1 -1
- package/skills/clickup-cli/SKILL.md +35 -33
|
@@ -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.
|
|
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
|
-
|
|
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: [
|
|
2670
|
-
|
|
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",
|
|
@@ -2860,8 +2873,8 @@ var commandMetadata = [
|
|
|
2860
2873
|
},
|
|
2861
2874
|
{
|
|
2862
2875
|
name: "search",
|
|
2863
|
-
description: "Search my tasks by name",
|
|
2864
|
-
flags: ["--status", "--include-closed", "--json"],
|
|
2876
|
+
description: "Search my tasks by name (use --all for all tasks)",
|
|
2877
|
+
flags: ["--status", "--all", "--include-closed", "--json"],
|
|
2865
2878
|
quickReference: [
|
|
2866
2879
|
{ section: "read", usage: "search <query>", description: "Search my tasks by name" }
|
|
2867
2880
|
]
|
|
@@ -2875,7 +2888,7 @@ var commandMetadata = [
|
|
|
2875
2888
|
{
|
|
2876
2889
|
name: "overdue",
|
|
2877
2890
|
description: "List tasks that are past their due date",
|
|
2878
|
-
flags: ["--include-closed", "--json"],
|
|
2891
|
+
flags: ["--all", "--include-closed", "--json"],
|
|
2879
2892
|
quickReference: [
|
|
2880
2893
|
{ section: "read", usage: "overdue", description: "Tasks past their due date" }
|
|
2881
2894
|
]
|
|
@@ -4300,7 +4313,7 @@ async function searchTasks(config, query, opts = {}) {
|
|
|
4300
4313
|
}
|
|
4301
4314
|
const client = new ClickUpClient(config);
|
|
4302
4315
|
const [allTasks, customTypes] = await Promise.all([
|
|
4303
|
-
client.getMyTasks(config.teamId, { includeClosed: opts.includeClosed }),
|
|
4316
|
+
client.getMyTasks(config.teamId, { all: opts.all, includeClosed: opts.includeClosed }),
|
|
4304
4317
|
client.getCustomTaskTypes(config.teamId)
|
|
4305
4318
|
]);
|
|
4306
4319
|
const typeMap = buildTypeMap(customTypes);
|
|
@@ -5297,10 +5310,10 @@ function buildProgram(programName = basename(process.argv[1] ?? "cup")) {
|
|
|
5297
5310
|
}
|
|
5298
5311
|
})
|
|
5299
5312
|
);
|
|
5300
|
-
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(
|
|
5301
5314
|
"--type <type>",
|
|
5302
5315
|
'Filter by task type (e.g. "task", "initiative", or custom type name/ID)'
|
|
5303
|
-
).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(
|
|
5304
5317
|
wrapAction(async (opts) => {
|
|
5305
5318
|
const config = loadConfig(getProfileName());
|
|
5306
5319
|
const tasks = await fetchMyTasks(config, {
|
|
@@ -5309,6 +5322,7 @@ function buildProgram(programName = basename(process.argv[1] ?? "cup")) {
|
|
|
5309
5322
|
listIds: opts.list ? [opts.list] : void 0,
|
|
5310
5323
|
spaceIds: opts.space ? [opts.space] : void 0,
|
|
5311
5324
|
name: opts.name,
|
|
5325
|
+
all: opts.all,
|
|
5312
5326
|
includeClosed: opts.includeClosed
|
|
5313
5327
|
});
|
|
5314
5328
|
await printTasks(tasks, opts.json ?? false, config);
|
|
@@ -5515,12 +5529,13 @@ function buildProgram(programName = basename(process.argv[1] ?? "cup")) {
|
|
|
5515
5529
|
await openTask(config, query, opts);
|
|
5516
5530
|
})
|
|
5517
5531
|
);
|
|
5518
|
-
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(
|
|
5519
5533
|
wrapAction(
|
|
5520
5534
|
async (query, opts) => {
|
|
5521
5535
|
const config = loadConfig(getProfileName());
|
|
5522
5536
|
const tasks = await searchTasks(config, query, {
|
|
5523
5537
|
status: opts.status,
|
|
5538
|
+
all: opts.all,
|
|
5524
5539
|
includeClosed: opts.includeClosed
|
|
5525
5540
|
});
|
|
5526
5541
|
await printTasks(tasks, opts.json ?? false, config);
|
|
@@ -5537,10 +5552,13 @@ function buildProgram(programName = basename(process.argv[1] ?? "cup")) {
|
|
|
5537
5552
|
await runSummaryCommand(config, { hours, json: opts.json ?? false });
|
|
5538
5553
|
})
|
|
5539
5554
|
);
|
|
5540
|
-
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(
|
|
5541
5556
|
wrapAction(async (opts) => {
|
|
5542
5557
|
const config = loadConfig(getProfileName());
|
|
5543
|
-
const tasks = await fetchOverdueTasks(config, {
|
|
5558
|
+
const tasks = await fetchOverdueTasks(config, {
|
|
5559
|
+
all: opts.all,
|
|
5560
|
+
includeClosed: opts.includeClosed
|
|
5561
|
+
});
|
|
5544
5562
|
await printTasks(tasks, opts.json ?? false, config);
|
|
5545
5563
|
})
|
|
5546
5564
|
);
|
package/package.json
CHANGED
|
@@ -33,39 +33,39 @@ All commands support `--help` for full flag details. All commands support `--jso
|
|
|
33
33
|
|
|
34
34
|
### Read
|
|
35
35
|
|
|
36
|
-
| Command
|
|
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]`
|
|
40
|
-
| `cup sprint [--status s] [--space nameOrId] [--folder id] [--include-closed]`
|
|
41
|
-
| `cup sprints [--space nameOrId]`
|
|
42
|
-
| `cup search <query> [--status s] [--include-closed]` | Search my tasks by name
|
|
43
|
-
| `cup task <id>`
|
|
44
|
-
| `cup subtasks <id> [--status s] [--name q] [--include-closed]`
|
|
45
|
-
| `cup comments <id>`
|
|
46
|
-
| `cup activity <id>`
|
|
47
|
-
| `cup inbox [--days n] [--include-closed]`
|
|
48
|
-
| `cup summary [--hours n]`
|
|
49
|
-
| `cup overdue [--include-closed]`
|
|
50
|
-
| `cup spaces [--name partial] [--my]`
|
|
51
|
-
| `cup lists <spaceId> [--name partial]`
|
|
52
|
-
| `cup folders <spaceId> [--name partial]`
|
|
53
|
-
| `cup members`
|
|
54
|
-
| `cup fields <listId>`
|
|
55
|
-
| `cup tags <spaceId>`
|
|
56
|
-
| `cup goals`
|
|
57
|
-
| `cup key-results <goalId>`
|
|
58
|
-
| `cup docs [query]`
|
|
59
|
-
| `cup doc <docId> [pageId]`
|
|
60
|
-
| `cup doc-pages <docId>`
|
|
61
|
-
| `cup task-types`
|
|
62
|
-
| `cup templates`
|
|
63
|
-
| `cup list-templates`
|
|
64
|
-
| `cup folder-templates`
|
|
65
|
-
| `cup views <listId>`
|
|
66
|
-
| `cup view <viewId>`
|
|
67
|
-
| `cup open <query>`
|
|
68
|
-
| `cup auth`
|
|
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
|
|
|
@@ -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
|