@krodak/clickup-cli 1.37.0 → 1.38.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.37.0",
4
+ "version": "1.38.0",
5
5
  "author": {
6
6
  "name": "Krzysztof Rodak"
7
7
  },
package/dist/index.js CHANGED
@@ -2263,9 +2263,6 @@ function buildUpdatePayload(opts, timezone) {
2263
2263
  if (opts.archive && opts.unarchive) {
2264
2264
  throw new Error("Cannot use --archive and --unarchive together");
2265
2265
  }
2266
- if (opts.parent !== void 0 && opts.detach) {
2267
- throw new Error("Cannot use --parent and --detach together");
2268
- }
2269
2266
  const payload = {};
2270
2267
  if (opts.name !== void 0) {
2271
2268
  if (!opts.name.trim()) throw new Error("Task name cannot be empty");
@@ -2308,9 +2305,7 @@ function buildUpdatePayload(opts, timezone) {
2308
2305
  if (opts.timeEstimate !== void 0) {
2309
2306
  payload.time_estimate = parseTimeEstimate(opts.timeEstimate);
2310
2307
  }
2311
- if (opts.detach) {
2312
- payload.parent = null;
2313
- } else if (opts.parent !== void 0) {
2308
+ if (opts.parent !== void 0) {
2314
2309
  payload.parent = opts.parent;
2315
2310
  }
2316
2311
  if (opts.archive) payload.archived = true;
@@ -2353,7 +2348,7 @@ async function resolveTaskType2(client, teamId, typeInput) {
2353
2348
  async function updateTask(config, taskId, options, typeInput) {
2354
2349
  if (!hasUpdateFields(options) && typeInput === void 0)
2355
2350
  throw new Error(
2356
- "Provide at least one of: --name, --description, --status, --priority, --due-date, --start-date, --time-estimate, --assignee, --remove-assignee, --group-assignee, --remove-group-assignee, --parent, --detach, --archive, --unarchive, --type"
2351
+ "Provide at least one of: --name, --description, --status, --priority, --due-date, --start-date, --time-estimate, --assignee, --remove-assignee, --group-assignee, --remove-group-assignee, --parent, --archive, --unarchive, --type"
2357
2352
  );
2358
2353
  const client = new ClickUpClient(config);
2359
2354
  const resolved = { ...options };
@@ -3859,7 +3854,6 @@ var commandMetadata = [
3859
3854
  "--group-assignee",
3860
3855
  "--remove-group-assignee",
3861
3856
  "--parent",
3862
- "--detach",
3863
3857
  "--archive",
3864
3858
  "--unarchive",
3865
3859
  "--type",
@@ -5229,7 +5223,6 @@ ${renderZshTopLevelCommands(name)}
5229
5223
  '--assignee[Add assignee]:user_id:' \\
5230
5224
  '--remove-assignee[Remove assignee]:user_id:' \\
5231
5225
  '--parent[Set parent task]:task_id:' \\
5232
- '--detach[Remove parent task]' \\
5233
5226
  '--archive[Archive the task]' \\
5234
5227
  '--unarchive[Unarchive the task]' \\
5235
5228
  '--field[Set custom field]:field_name_and_value:' \\
@@ -7556,7 +7549,9 @@ async function duplicateTask(config, taskId) {
7556
7549
  const created = await client.createTask(task.list.id, {
7557
7550
  name: `${task.name} (copy)`,
7558
7551
  description: task.description,
7559
- markdown_content: task.markdown_content,
7552
+ // getTask requests include_markdown_description=true, so the source markdown
7553
+ // lives in markdown_description (markdown_content is always null on read).
7554
+ markdown_content: task.markdown_description ?? task.description,
7560
7555
  priority: task.priority ? parsePriority(task.priority.priority.toLowerCase()) : void 0,
7561
7556
  tags: task.tags?.map((t) => t.name),
7562
7557
  time_estimate: task.time_estimate ?? void 0
@@ -8728,7 +8723,7 @@ function buildProgram(programName = basename(process.argv[1] ?? "cup")) {
8728
8723
  ).option(
8729
8724
  "--remove-group-assignee <groupIds...>",
8730
8725
  "Remove group assignee (UUID or @handle, can repeat or comma-separated)"
8731
- ).option("--parent <taskId>", "Set parent task (makes this a subtask)").option("--detach", "Remove parent task (promote subtask to top-level)").option("--archive", "Archive the task").option("--unarchive", "Unarchive the task").option("--type <type>", "Change task type (name or custom_item_id)").option("--field <nameAndValue...>", 'Set custom field: --field "Name" value').option("--json", "Force JSON output even in terminal").action(
8726
+ ).option("--parent <taskId>", "Set parent task (makes this a subtask)").option("--archive", "Archive the task").option("--unarchive", "Unarchive the task").option("--type <type>", "Change task type (name or custom_item_id)").option("--field <nameAndValue...>", 'Set custom field: --field "Name" value').option("--json", "Force JSON output even in terminal").action(
8732
8727
  wrapAction(
8733
8728
  async (taskId, opts) => {
8734
8729
  const config = loadConfig(getProfileName());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@krodak/clickup-cli",
3
- "version": "1.37.0",
3
+ "version": "1.38.0",
4
4
  "description": "ClickUp CLI for AI agents and humans",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -3,11 +3,11 @@ name: clickup
3
3
  description: 'Use when managing ClickUp tasks, sprints, or comments via the `cup` CLI tool. Triggers: task queries, status updates, sprint tracking, creating subtasks, posting comments, threaded replies, standup summaries, searching tasks, checking overdue items, assigning tasks, listing spaces and lists, opening tasks in browser, checking auth or config, setting custom fields, deleting tasks, managing tags, managing checklists, editing comments, task links, time tracking, attachments, file uploads, listing members, listing fields, duplicating tasks, bulk operations, goals, key results, saved filters, favorites.'
4
4
  ---
5
5
 
6
- # ClickUp CLI (`cup`) - skill version 1.37.0
6
+ # ClickUp CLI (`cup`) - skill version 1.38.0
7
7
 
8
8
  Reference for AI agents using the `cup` CLI tool. Covers task management, sprint tracking, comments, time tracking, custom fields, goals, docs, and project workflows.
9
9
 
10
- > **Version check:** Run `cup --version`. If your installed version is older than 1.37.0, update with `npm install -g @krodak/clickup-cli` and refresh this skill with `cup skill`.
10
+ > **Version check:** Run `cup --version`. If your installed version is older than 1.38.0, update with `npm install -g @krodak/clickup-cli` and refresh this skill with `cup skill`.
11
11
 
12
12
  ## Install & Configure
13
13
 
@@ -164,7 +164,7 @@ All commands support `--help` for full flag details. All commands support `--jso
164
164
  | Command | What it does |
165
165
  | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
166
166
  | `cup create -n name [-l listId\|sprint:current] [-p parentId] [-d desc] [-s status] [--priority p] [--due-date d] [--start-date d] [--time-estimate t] [--assignee id\|me] [--group-assignee uuid\|@handle,...] [--tags t] [--custom-item-id n] [--template id] [--field "Name" val]` | Create task (`--list` accepts `sprint:current`, `--field` sets custom fields inline) |
167
- | `cup update <id> [-n name] [-d desc] [-s status] [--priority p] [--due-date d\|none] [--start-date d] [--time-estimate t] [--assignee id\|me] [--remove-assignee id\|me] [--group-assignee uuid\|@handle] [--remove-group-assignee uuid\|@handle] [--parent id] [--detach] [--archive] [--unarchive] [--type type] [--field "Name" val]` | Update task fields (including custom fields and group assignees) |
167
+ | `cup update <id> [-n name] [-d desc] [-s status] [--priority p] [--due-date d\|none] [--start-date d] [--time-estimate t] [--assignee id\|me] [--remove-assignee id\|me] [--group-assignee uuid\|@handle] [--remove-group-assignee uuid\|@handle] [--parent id] [--archive] [--unarchive] [--type type] [--field "Name" val]` | Update task fields (including custom fields and group assignees) |
168
168
  | `cup comment <id> -m text [--notify-all] [--mention user]` | Post comment (markdown auto-converted to rich text; `--mention` for real @mentions, repeatable) |
169
169
  | `cup comment-edit <commentId> -m text [--resolved] [--unresolved] [--mention user]` | Edit a comment (markdown auto-converted to rich text; `--mention` for real @mentions) |
170
170
  | `cup comment-delete <commentId>` or `cup comment-delete --task <taskId> --mine [--match text]` | Delete a comment by ID or delete one of your task comments |