@doist/todoist-cli 1.24.1 → 1.25.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.
Files changed (41) hide show
  1. package/dist/commands/add.d.ts.map +1 -1
  2. package/dist/commands/add.js +9 -1
  3. package/dist/commands/add.js.map +1 -1
  4. package/dist/commands/comment.d.ts.map +1 -1
  5. package/dist/commands/comment.js +24 -3
  6. package/dist/commands/comment.js.map +1 -1
  7. package/dist/commands/filter.d.ts.map +1 -1
  8. package/dist/commands/filter.js +27 -1
  9. package/dist/commands/filter.js.map +1 -1
  10. package/dist/commands/label.d.ts.map +1 -1
  11. package/dist/commands/label.js +25 -1
  12. package/dist/commands/label.js.map +1 -1
  13. package/dist/commands/project.d.ts.map +1 -1
  14. package/dist/commands/project.js +55 -15
  15. package/dist/commands/project.js.map +1 -1
  16. package/dist/commands/reminder.d.ts.map +1 -1
  17. package/dist/commands/reminder.js +24 -1
  18. package/dist/commands/reminder.js.map +1 -1
  19. package/dist/commands/section.d.ts.map +1 -1
  20. package/dist/commands/section.js +21 -3
  21. package/dist/commands/section.js.map +1 -1
  22. package/dist/commands/task.d.ts.map +1 -1
  23. package/dist/commands/task.js +118 -6
  24. package/dist/commands/task.js.map +1 -1
  25. package/dist/lib/api/core.d.ts +3 -1
  26. package/dist/lib/api/core.d.ts.map +1 -1
  27. package/dist/lib/api/core.js +26 -0
  28. package/dist/lib/api/core.js.map +1 -1
  29. package/dist/lib/options.d.ts +3 -0
  30. package/dist/lib/options.d.ts.map +1 -1
  31. package/dist/lib/output.d.ts +1 -0
  32. package/dist/lib/output.d.ts.map +1 -1
  33. package/dist/lib/output.js +9 -0
  34. package/dist/lib/output.js.map +1 -1
  35. package/dist/lib/skills/content.d.ts +2 -2
  36. package/dist/lib/skills/content.d.ts.map +1 -1
  37. package/dist/lib/skills/content.js +22 -1
  38. package/dist/lib/skills/content.js.map +1 -1
  39. package/dist/lib/skills/create-installer.js +1 -1
  40. package/dist/lib/skills/create-installer.js.map +1 -1
  41. package/package.json +6 -6
@@ -1,4 +1,4 @@
1
- export const SKILL_NAME = 'todoist';
1
+ export const SKILL_NAME = 'todoist-cli';
2
2
  export const SKILL_DESCRIPTION = 'Manage Todoist tasks, projects, labels, comments, and more via the td CLI';
3
3
  export const SKILL_CONTENT = `# Todoist CLI (td)
4
4
 
@@ -45,6 +45,11 @@ The following mutating commands also support \`--json\` to return the created or
45
45
  - \`filter create\`
46
46
  - \`reminder add\`
47
47
 
48
+ All mutating commands support \`--dry-run\` to preview what would happen without executing:
49
+ - Shows a preview of the action and parameters
50
+ - The mutating action is skipped; read-only API calls may still be made to resolve references
51
+ - On destructive commands (delete, project move) that use \`--yes\`, \`--dry-run\` takes precedence: even with \`--yes\`, the action will not execute
52
+
48
53
  ## Shared List Options
49
54
 
50
55
  Most list commands also support:
@@ -166,6 +171,11 @@ td task update "task name" --completable # Revert to completable (undo --unc
166
171
  td task update "Reference header" --order 0 # Move task to top of project
167
172
  td task update "task name" --content "New" --json # Return updated task as JSON
168
173
 
174
+ # Reschedule (preserves recurrence patterns, unlike update --due)
175
+ td task reschedule "task name" 2026-03-20 # Date only (YYYY-MM-DD)
176
+ td task reschedule id:123456 2026-03-20T14:00:00 # With time
177
+ td task reschedule "task name" 2026-03-20 --json # Return as JSON
178
+
169
179
  # Move
170
180
  td task move "task name" --project "Personal"
171
181
  td task move "task name" --section "In Progress"
@@ -173,6 +183,10 @@ td task move "task name" --parent "Parent task"
173
183
  td task move "task name" --no-parent # Move to project root
174
184
  td task move "task name" --no-section # Remove from section
175
185
 
186
+ # Dry run (preview any mutating command without executing)
187
+ td task add "New task" --due "tomorrow" --dry-run # Preview task creation
188
+ td task delete "task name" --dry-run # Preview deletion
189
+
176
190
  # Delete and browse
177
191
  td task delete "task name" --yes
178
192
  td task browse "task name" # Open in browser
@@ -197,6 +211,8 @@ td project move "Project Name" --to-workspace "Acme" --folder "Engineering"
197
211
  td project move "Project Name" --to-workspace "Acme" --visibility team
198
212
  td project move "Project Name" --to-personal
199
213
  # move requires --yes to confirm (without it, shows a dry-run preview)
214
+ td project create --name "New Project" --dry-run # Preview project creation
215
+ td project delete "Project Name" --dry-run # Preview deletion
200
216
  \`\`\`
201
217
 
202
218
  ### Labels
@@ -209,6 +225,7 @@ td label create --name "urgent" --json # Return created label as JSON
209
225
  td label update "urgent" --color "orange"
210
226
  td label update "urgent" --color "orange" --json # Return updated label as JSON
211
227
  td label delete "urgent" --yes
228
+ td label create --name "urgent" --dry-run # Preview label creation
212
229
  td label browse "urgent" # Open in browser
213
230
  \`\`\`
214
231
 
@@ -227,6 +244,7 @@ td comment view id:123 # View full comment
227
244
  td comment update id:123 --content "Updated text"
228
245
  td comment update id:123 --content "Updated text" --json # Return updated comment as JSON
229
246
  td comment delete id:123 --yes
247
+ td comment add "task name" --content "Note" --dry-run # Preview comment creation
230
248
  td comment browse id:123 # Open in browser
231
249
  \`\`\`
232
250
 
@@ -239,6 +257,7 @@ td section create --project "Work" --name "In Progress" --json # Return created
239
257
  td section update id:123 --name "Done"
240
258
  td section update id:123 --name "Done" --json # Return updated section as JSON
241
259
  td section delete id:123 --yes
260
+ td section create --project "Work" --name "In Progress" --dry-run # Preview section creation
242
261
  td section browse id:123 # Open in browser
243
262
  \`\`\`
244
263
 
@@ -250,6 +269,7 @@ td filter create --name "Urgent work" --query "p1 & #Work" --json # Return crea
250
269
  td filter view "Urgent work" # Show tasks matching filter (alias: show)
251
270
  td filter update "Urgent work" --query "p1 & #Work & today"
252
271
  td filter delete "Urgent work" --yes
272
+ td filter create --name "Urgent work" --query "p1 & #Work" --dry-run # Preview filter creation
253
273
  td filter browse "Urgent work" # Open in browser
254
274
  \`\`\`
255
275
 
@@ -289,6 +309,7 @@ td reminder add "task name" --before 30m # or --task "task name" --before 3
289
309
  td reminder add "task name" --before 30m --json # Return created reminder as JSON
290
310
  td reminder add "task name" --at "2024-01-15 10:00"
291
311
  td reminder update id:123 --before 1h
312
+ td reminder add "task name" --before 30m --dry-run # Preview reminder creation
292
313
  td reminder delete id:123 --yes
293
314
  \`\`\`
294
315
 
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAA;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAC1B,2EAA2E,CAAA;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkX5B,CAAA"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAA;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAC1B,2EAA2E,CAAA;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuY5B,CAAA"}
@@ -14,7 +14,7 @@ description: ${SKILL_DESCRIPTION}
14
14
  export function createInstaller(config) {
15
15
  function getInstallPath(local) {
16
16
  const base = local ? process.cwd() : homedir();
17
- return join(base, config.dirName, 'skills', 'todoist-cli', 'SKILL.md');
17
+ return join(base, config.dirName, 'skills', SKILL_NAME, 'SKILL.md');
18
18
  }
19
19
  return {
20
20
  name: config.name,
@@ -1 +1 @@
1
- {"version":3,"file":"create-installer.js","sourceRoot":"","sources":["../../../src/lib/skills/create-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-installer.js","sourceRoot":"","sources":["../../../src/lib/skills/create-installer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doist/todoist-cli",
3
- "version": "1.24.1",
3
+ "version": "1.25.1",
4
4
  "description": "TypeScript CLI for Todoist",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -60,11 +60,11 @@
60
60
  },
61
61
  "devDependencies": {
62
62
  "@types/marked-terminal": "6.1.1",
63
- "@types/node": "25.3.5",
64
- "lefthook": "2.1.3",
65
- "oxfmt": "0.36.0",
66
- "oxlint": "1.51.0",
63
+ "@types/node": "25.4.0",
64
+ "lefthook": "2.1.4",
65
+ "oxfmt": "0.40.0",
66
+ "oxlint": "1.55.0",
67
67
  "typescript": "5.9.3",
68
- "vitest": "4.0.18"
68
+ "vitest": "4.1.0"
69
69
  }
70
70
  }