@lumoai/cli 1.2.0 → 1.2.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/README.md +12 -12
- package/assets/skill.md +25 -25
- package/dist/cli/src/commands/setup.js +3 -1
- package/dist/cli/src/lib/hooks-template.js +3 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -91,18 +91,18 @@ lumo task update LUM-42 --status done
|
|
|
91
91
|
|
|
92
92
|
## Commands
|
|
93
93
|
|
|
94
|
-
| Group
|
|
95
|
-
|
|
|
96
|
-
| `setup`
|
|
97
|
-
| `auth`
|
|
98
|
-
| `whoami`
|
|
99
|
-
| `update`
|
|
100
|
-
| `task`
|
|
101
|
-
| `session`
|
|
102
|
-
| `project`
|
|
103
|
-
| `milestone`
|
|
104
|
-
| `sprint`
|
|
105
|
-
| `doc`
|
|
94
|
+
| Group | Highlights |
|
|
95
|
+
| ----------- | ---------------------------------------------------------------------- |
|
|
96
|
+
| `setup` | Install SKILL.md + hooks into `~/.claude/` or `./.claude/` |
|
|
97
|
+
| `auth` | `login`, `logout` |
|
|
98
|
+
| `whoami` | Show current identity + workspace |
|
|
99
|
+
| `update` | Self-update to the latest npm release |
|
|
100
|
+
| `task` | `create`, `update`, `list`, `show`, `comment`, `context` |
|
|
101
|
+
| `session` | `attach`, `status`, `detach` (binds Claude Code sessions) |
|
|
102
|
+
| `project` | `list` |
|
|
103
|
+
| `milestone` | `create`, `update`, `list`, `show`, `delete` |
|
|
104
|
+
| `sprint` | `create`, `start`, `close`, `list`, `show`, `add`, `remove`, `summary` |
|
|
105
|
+
| `doc` | `create`, `update`, `list`, `show`, `move`, `bind`, `share` |
|
|
106
106
|
|
|
107
107
|
Every command accepts `--help` for full flags and examples:
|
|
108
108
|
|
package/assets/skill.md
CHANGED
|
@@ -187,7 +187,7 @@ Pure flag-driven update. Provide at least one of:
|
|
|
187
187
|
| `-p, --priority <lvl>` | enum | `low \| medium \| high \| urgent`. |
|
|
188
188
|
| `-a, --assignee <ref>` | string | `me`, an email, or a member name. `--assignee ""` clears the field. |
|
|
189
189
|
| `--milestone <ref>` | string | Milestone name (case-insensitive) within the task's project. `--milestone ""` unbinds. |
|
|
190
|
-
| `--sprint <ref>` | string | Sprint number or UUID to bind the task to. `--sprint ""` clears the current sprint binding (idempotent when already unbound).
|
|
190
|
+
| `--sprint <ref>` | string | Sprint number or UUID to bind the task to. `--sprint ""` clears the current sprint binding (idempotent when already unbound). |
|
|
191
191
|
| `--tag <name>` | string (repeatable) | **Bulk replace** the tag set by name. Creates tag if missing. Max 20. Mutually exclusive with `--add-tag*` / `--remove-tag*`. |
|
|
192
192
|
| `--tag-id <cuid>` | string (repeatable) | **Bulk replace** the tag set by id. Max 20. Mutually exclusive with `--add-tag*` / `--remove-tag*`. |
|
|
193
193
|
| `--add-tag <name>` | string (repeatable) | Attach tag by name (find-or-create). Max 20. |
|
|
@@ -629,11 +629,11 @@ If user creates a doc with `--task LUM-N` and the current Claude Code session is
|
|
|
629
629
|
|
|
630
630
|
Prints fixed-width rows: `<NUMBER> <STATUS> <start> <end> <name>`, sorted newest-first (server sort).
|
|
631
631
|
|
|
632
|
-
| Flag | Type | Notes
|
|
633
|
-
| ---------------------- | ------- |
|
|
632
|
+
| Flag | Type | Notes |
|
|
633
|
+
| ---------------------- | ------- | ----------------------------------------------------- |
|
|
634
634
|
| `--team <ref>` | string | Team name or slug. Required in multi-team workspaces. |
|
|
635
|
-
| `-s, --status <value>` | enum | `draft \| active \| closed`.
|
|
636
|
-
| `-n, --limit <count>` | integer | Cap output to the first N rows.
|
|
635
|
+
| `-s, --status <value>` | enum | `draft \| active \| closed`. |
|
|
636
|
+
| `-n, --limit <count>` | integer | Cap output to the first N rows. |
|
|
637
637
|
|
|
638
638
|
```bash
|
|
639
639
|
lumo sprint list
|
|
@@ -645,12 +645,12 @@ When to suggest: user asks "what sprints do we have", "which sprint is active",
|
|
|
645
645
|
|
|
646
646
|
### `lumo sprint create [flags]` — create a sprint
|
|
647
647
|
|
|
648
|
-
| Flag
|
|
649
|
-
|
|
|
650
|
-
| `--team <ref>`
|
|
651
|
-
| `--start <date>`
|
|
652
|
-
| `--end <date>`
|
|
653
|
-
| `-n, --name <>`
|
|
648
|
+
| Flag | Type | Notes |
|
|
649
|
+
| ---------------- | ------ | ----------------------------------------------------- |
|
|
650
|
+
| `--team <ref>` | string | Team name or slug. Required in multi-team workspaces. |
|
|
651
|
+
| `--start <date>` | string | **Required.** YYYY-MM-DD. |
|
|
652
|
+
| `--end <date>` | string | **Required.** YYYY-MM-DD. |
|
|
653
|
+
| `-n, --name <>` | string | Optional. Server fills a default name when omitted. |
|
|
654
654
|
|
|
655
655
|
```bash
|
|
656
656
|
lumo sprint create --start 2026-06-01 --end 2026-06-14
|
|
@@ -679,12 +679,12 @@ When to suggest: user asks "what's in sprint 3", "show me the current sprint", "
|
|
|
679
679
|
|
|
680
680
|
Updates sprint metadata. At least one flag required. **No `--status` flag** — use `lumo sprint start` / `lumo sprint close` to transition status.
|
|
681
681
|
|
|
682
|
-
| Flag
|
|
683
|
-
|
|
|
684
|
-
| `--team <ref>`
|
|
685
|
-
| `-n, --name <>`
|
|
686
|
-
| `--start <date>`
|
|
687
|
-
| `--end <date>`
|
|
682
|
+
| Flag | Type | Notes |
|
|
683
|
+
| ---------------- | ------ | --------------------------------------------------------------- |
|
|
684
|
+
| `--team <ref>` | string | Required when identifier is a number in a multi-team workspace. |
|
|
685
|
+
| `-n, --name <>` | string | New name. Cannot be empty. |
|
|
686
|
+
| `--start <date>` | string | YYYY-MM-DD. `--start ""` clears. |
|
|
687
|
+
| `--end <date>` | string | YYYY-MM-DD. `--end ""` clears. |
|
|
688
688
|
|
|
689
689
|
```bash
|
|
690
690
|
lumo sprint update 3 --name "Sprint 4 (extended)"
|
|
@@ -717,11 +717,11 @@ When to suggest: user says "start the sprint", "开始冲刺", "kick off sprint
|
|
|
717
717
|
|
|
718
718
|
Handles unfinished tasks based on flags. Without flags: closes only if all tasks are done; otherwise prints a list of unfinished tasks and refuses.
|
|
719
719
|
|
|
720
|
-
| Flag
|
|
721
|
-
|
|
|
722
|
-
| `--move-all`
|
|
723
|
-
| `--backlog-all
|
|
724
|
-
| `--yes`
|
|
720
|
+
| Flag | Type | Notes |
|
|
721
|
+
| --------------- | ------- | -------------------------------------------------------------------------------- |
|
|
722
|
+
| `--move-all` | boolean | Move all unfinished tasks to the next sprint. Requires `--yes`. |
|
|
723
|
+
| `--backlog-all` | boolean | Remove all unfinished tasks from the sprint (send to backlog). Requires `--yes`. |
|
|
724
|
+
| `--yes` | boolean | Required when `--move-all` or `--backlog-all` is given. |
|
|
725
725
|
|
|
726
726
|
```bash
|
|
727
727
|
lumo sprint close 3 # fails if unfinished tasks exist
|
|
@@ -735,9 +735,9 @@ When to suggest: user says "close the sprint", "关闭冲刺", "end sprint 3", "
|
|
|
735
735
|
|
|
736
736
|
Prints the AI-generated retrospective summary for the sprint. A 404 response means no summary has been generated yet ("no summary yet").
|
|
737
737
|
|
|
738
|
-
| Flag | Type | Notes
|
|
739
|
-
| --------- | ------- |
|
|
740
|
-
| `--retry` | boolean | Queue a regeneration (async, server returns 202).
|
|
738
|
+
| Flag | Type | Notes |
|
|
739
|
+
| --------- | ------- | ------------------------------------------------- |
|
|
740
|
+
| `--retry` | boolean | Queue a regeneration (async, server returns 202). |
|
|
741
741
|
|
|
742
742
|
```bash
|
|
743
743
|
lumo sprint summary 3
|
|
@@ -148,7 +148,9 @@ function isLumoOnPath() {
|
|
|
148
148
|
try {
|
|
149
149
|
// `command -v` is a POSIX shell builtin (`execSync` defaults to /bin/sh
|
|
150
150
|
// on Unix). `where` is a cmd.exe builtin on Windows.
|
|
151
|
-
(0, child_process_1.execSync)(process.platform === 'win32' ? 'where lumo' : 'command -v lumo', {
|
|
151
|
+
(0, child_process_1.execSync)(process.platform === 'win32' ? 'where lumo' : 'command -v lumo', {
|
|
152
|
+
stdio: 'pipe',
|
|
153
|
+
});
|
|
152
154
|
return true;
|
|
153
155
|
}
|
|
154
156
|
catch {
|
|
@@ -49,7 +49,9 @@ function buildLumoHookFragment() {
|
|
|
49
49
|
return { hooks };
|
|
50
50
|
}
|
|
51
51
|
function mergeLumoHooks(existing) {
|
|
52
|
-
const base = existing
|
|
52
|
+
const base = existing
|
|
53
|
+
? JSON.parse(JSON.stringify(existing))
|
|
54
|
+
: {};
|
|
53
55
|
if (!base.hooks)
|
|
54
56
|
base.hooks = {};
|
|
55
57
|
const stats = { addedEvents: [], alreadyPresent: [] };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lumoai/cli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Lumo CLI — manage tasks and sessions from the terminal",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "cli@uselumo.ai",
|
|
@@ -40,9 +40,11 @@
|
|
|
40
40
|
"prepublishOnly": "npm run clean && npm run build"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"commander": "^13.1.0"
|
|
43
|
+
"commander": "^13.1.0",
|
|
44
|
+
"markdown-it": "^14.1.1"
|
|
44
45
|
},
|
|
45
46
|
"devDependencies": {
|
|
47
|
+
"@types/markdown-it": "^14.1.2",
|
|
46
48
|
"@types/node": "^25",
|
|
47
49
|
"typescript": "^5"
|
|
48
50
|
}
|