project-mgr 0.1.4 → 0.1.6
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/CHANGELOG.md +11 -1
- package/README.md +31 -9
- package/README_CN.md +31 -9
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/skills/project-mgr/SKILL.md +2 -1
- package/skills/project-mgr/agents/openai.yaml +3 -3
- package/src/cli.ts +1 -1
- package/test/core.test.ts +6 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 0.1.6 - 2026-08-03
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Allowed `history` to query recent entries across all projects without `--project`.
|
|
8
|
+
|
|
9
|
+
## 0.1.5 - 2026-08-03
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Matched the Skill picker label to the project name, `project-mgr`, and documented explicit invocation.
|
|
4
14
|
|
|
5
15
|
## 0.1.4 - 2026-08-03
|
|
6
16
|
|
package/README.md
CHANGED
|
@@ -33,7 +33,7 @@ PMGR_DB_PATH=/absolute/path/projects.sqlite npx --yes --package project-mgr pmgr
|
|
|
33
33
|
|
|
34
34
|
## Install the Agent Skill
|
|
35
35
|
|
|
36
|
-
The repository includes `
|
|
36
|
+
The repository includes the `project-mgr` skill, shown as **project-mgr** in skill pickers. It guides compatible AI agents to add, import, query, and export local project status history. Install it with the [skills CLI](https://skills.sh/docs/cli):
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
39
|
npx skills add deanplus/project-manager
|
|
@@ -41,9 +41,28 @@ npx skills add deanplus/project-manager
|
|
|
41
41
|
|
|
42
42
|
The installer detects supported agents and asks where to install the skill. No separate `project-mgr` installation is required: the skill runs the CLI through `npx`. Restart or reload the selected agent after installation.
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
### Invoke the skill
|
|
45
|
+
|
|
46
|
+
In Codex, write `$project-mgr` in the prompt. Alternatively, type `/pro` and select **project-mgr** from the picker. In other agents, use their explicit skill syntax or select `project-mgr` from the skills menu.
|
|
47
|
+
|
|
48
|
+
Use normal language after the skill name; the agent translates the request into CLI commands. For example:
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
Use $project-mgr to show the current status and latest 10 updates for project-mgr.
|
|
52
|
+
|
|
53
|
+
Use $project-mgr to record this update for project-mgr: active; released the Agent Skill;
|
|
54
|
+
next, collect user feedback.
|
|
45
55
|
|
|
46
|
-
|
|
56
|
+
Use $project-mgr to record these updates: api is blocked by authentication; web is active
|
|
57
|
+
and the dashboard is complete.
|
|
58
|
+
|
|
59
|
+
Use $project-mgr with PMGR_DB_PATH=/tmp/project-mgr-test.sqlite to add a test update,
|
|
60
|
+
then show its history.
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
The agent should query before writing and ask for missing required values such as the project name, status, or summary.
|
|
64
|
+
|
|
65
|
+
The skill uses the same `PMGR_DB_PATH` behavior as the CLI: it defaults to `~/.local/share/project-mgr/project-mgr.sqlite`; set an absolute path to work in another ledger. For manual or exploratory work, use a dedicated database such as `PMGR_DB_PATH=/tmp/project-mgr-skill-test.sqlite` rather than the default ledger.
|
|
47
66
|
|
|
48
67
|
## Build from source
|
|
49
68
|
|
|
@@ -138,6 +157,9 @@ pnpm start history \
|
|
|
138
157
|
--limit 20 \
|
|
139
158
|
--offset 0
|
|
140
159
|
|
|
160
|
+
# Recent history across every project.
|
|
161
|
+
pnpm start history --limit 20 --json
|
|
162
|
+
|
|
141
163
|
pnpm start at \
|
|
142
164
|
--project project-mgr \
|
|
143
165
|
--at 2026-08-03T12:00:00+08:00 \
|
|
@@ -191,12 +213,12 @@ Unknown fields, unknown CLI options, extra positional arguments, invalid statuse
|
|
|
191
213
|
|
|
192
214
|
## Query and export
|
|
193
215
|
|
|
194
|
-
| Command | Purpose
|
|
195
|
-
| --------- |
|
|
196
|
-
| `current` | Current status for all projects or one project
|
|
197
|
-
| `history` |
|
|
198
|
-
| `at` | The latest status at or before a specified time
|
|
199
|
-
| `export` | Export all records or one project's records
|
|
216
|
+
| Command | Purpose | Key options |
|
|
217
|
+
| --------- | ----------------------------------------------------- | ------------------------------------------------------------------ |
|
|
218
|
+
| `current` | Current status for all projects or one project | `--project`, `--json` |
|
|
219
|
+
| `history` | History for all projects or one project, newest first | `--project`, `--since`, `--until`, `--limit`, `--offset`, `--json` |
|
|
220
|
+
| `at` | The latest status at or before a specified time | `--project`, `--at`, `--json` |
|
|
221
|
+
| `export` | Export all records or one project's records | `--project`, `--format json\|jsonl` |
|
|
200
222
|
|
|
201
223
|
All six actions can also use the compatible `status <action>` form, for example `pmgr status export`. Human-readable multi-record results list project, status, occurrence time, and summary, or `No entries found.` when empty. `add`, `import`, `current`, `history`, and `at` support `--json`; `export` uses `--format` to select its format.
|
|
202
224
|
|
package/README_CN.md
CHANGED
|
@@ -33,7 +33,7 @@ PMGR_DB_PATH=/absolute/path/projects.sqlite npx --yes --package project-mgr pmgr
|
|
|
33
33
|
|
|
34
34
|
## 安装 Agent Skill
|
|
35
35
|
|
|
36
|
-
仓库包含 `
|
|
36
|
+
仓库包含 `project-mgr` Skill,在 Skill 选择器中显示为 **project-mgr**。它用于指导兼容 Skills 的 AI Agent 新增、导入、查询和导出本地项目状态历史。通过 [skills CLI](https://skills.sh/docs/cli) 安装:
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
39
|
npx skills add deanplus/project-manager
|
|
@@ -41,9 +41,28 @@ npx skills add deanplus/project-manager
|
|
|
41
41
|
|
|
42
42
|
安装器会检测支持的 Agent,并询问安装目标。无需单独安装 `project-mgr`:该 Skill 会通过 `npx` 运行 CLI。安装后重启或重新加载所选 Agent。
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
### 调用 Skill
|
|
45
|
+
|
|
46
|
+
在 Codex 的提示词中直接写 `$project-mgr`。也可以输入 `/pro`,然后在选择器中选择 **project-mgr**。其他 Agent 请使用其显式 Skill 语法,或从 Skills 菜单选择 `project-mgr`。
|
|
47
|
+
|
|
48
|
+
Skill 名称后直接使用自然语言即可,Agent 会把请求转换成 CLI 命令。例如:
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
使用 $project-mgr 查询 project-mgr 的当前状态和最近 10 条更新。
|
|
52
|
+
|
|
53
|
+
使用 $project-mgr 记录 project-mgr 的状态:active;已发布 Agent Skill;
|
|
54
|
+
下一步收集用户反馈。
|
|
45
55
|
|
|
46
|
-
|
|
56
|
+
使用 $project-mgr 批量记录状态:api 因认证问题 blocked;web 为 active,
|
|
57
|
+
dashboard 已完成。
|
|
58
|
+
|
|
59
|
+
使用 $project-mgr 和 PMGR_DB_PATH=/tmp/project-mgr-test.sqlite 添加一条测试状态,
|
|
60
|
+
然后查询其历史。
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Agent 应在写入前先查询;如果缺少项目名、状态或摘要等必填信息,它会向用户确认。
|
|
64
|
+
|
|
65
|
+
该 Skill 与 CLI 使用相同的 `PMGR_DB_PATH` 规则:默认使用 `~/.local/share/project-mgr/project-mgr.sqlite`;如需使用其他账本,请设置绝对路径。手工或探索性操作请使用独立数据库,例如 `PMGR_DB_PATH=/tmp/project-mgr-skill-test.sqlite`,避免写入默认账本。
|
|
47
66
|
|
|
48
67
|
## 从源码构建
|
|
49
68
|
|
|
@@ -138,6 +157,9 @@ pnpm start history \
|
|
|
138
157
|
--limit 20 \
|
|
139
158
|
--offset 0
|
|
140
159
|
|
|
160
|
+
# 查询全部项目的近期历史。
|
|
161
|
+
pnpm start history --limit 20 --json
|
|
162
|
+
|
|
141
163
|
pnpm start at \
|
|
142
164
|
--project project-mgr \
|
|
143
165
|
--at 2026-08-03T12:00:00+08:00 \
|
|
@@ -191,12 +213,12 @@ pnpm start import --file statuses.jsonl --json
|
|
|
191
213
|
|
|
192
214
|
## 查询与导出
|
|
193
215
|
|
|
194
|
-
| 命令 | 用途
|
|
195
|
-
| --------- |
|
|
196
|
-
| `current` | 所有项目或单项目的当前状态
|
|
197
|
-
| `history` |
|
|
198
|
-
| `at` | 指定时间点及之前的最后状态
|
|
199
|
-
| `export` | 导出全部或单项目记录
|
|
216
|
+
| 命令 | 用途 | 主要选项 |
|
|
217
|
+
| --------- | ---------------------------------- | ------------------------------------------------------------------ |
|
|
218
|
+
| `current` | 所有项目或单项目的当前状态 | `--project`、`--json` |
|
|
219
|
+
| `history` | 全部或单个项目的历史,最新记录在前 | `--project`、`--since`、`--until`、`--limit`、`--offset`、`--json` |
|
|
220
|
+
| `at` | 指定时间点及之前的最后状态 | `--project`、`--at`、`--json` |
|
|
221
|
+
| `export` | 导出全部或单项目记录 | `--project`、`--format json\|jsonl` |
|
|
200
222
|
|
|
201
223
|
全部六个 action 仍可使用 `status <action>` 的兼容形式,例如 `pmgr status export`。人类可读的多条结果按“项目、状态、发生时间、摘要”输出;为空时输出 `No entries found.`。`add`、`import`、`current`、`history`、`at` 支持 `--json`;`export` 由 `--format` 控制格式。
|
|
202
224
|
|
package/dist/cli.js
CHANGED
|
@@ -165,7 +165,7 @@ export function run(argv, write = process.stdout.write.bind(process.stdout)) {
|
|
|
165
165
|
output(current(db, stringFlag(flags, "project")), json, write);
|
|
166
166
|
break;
|
|
167
167
|
case "history":
|
|
168
|
-
output(history(db, stringFlag(flags, "project"
|
|
168
|
+
output(history(db, stringFlag(flags, "project"), {
|
|
169
169
|
since: stringFlag(flags, "since") &&
|
|
170
170
|
parseTime(stringFlag(flags, "since"), "since"),
|
|
171
171
|
until: stringFlag(flags, "until") &&
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@ name: project-mgr
|
|
|
3
3
|
description: Manage project status with the local-first project-mgr CLI. Use when an AI agent needs to add an append-only project update, import status records, query current or historical project state, or export a status ledger.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# project-mgr
|
|
7
7
|
|
|
8
8
|
Use `npx --yes --package project-mgr pmgr`. In a source checkout, use `pnpm pmgr` instead.
|
|
9
9
|
|
|
@@ -26,6 +26,7 @@ npx --yes --package project-mgr pmgr add --project my-project --status active --
|
|
|
26
26
|
# Query current state, history, or state at a time.
|
|
27
27
|
npx --yes --package project-mgr pmgr current --project my-project --json
|
|
28
28
|
npx --yes --package project-mgr pmgr history --project my-project --limit 20 --json
|
|
29
|
+
npx --yes --package project-mgr pmgr history --limit 20 --json
|
|
29
30
|
npx --yes --package project-mgr pmgr at --project my-project --at 2026-08-03T12:00:00+08:00 --json
|
|
30
31
|
|
|
31
32
|
# Import validated JSON/JSONL, or export portable records.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
|
-
display_name: "
|
|
3
|
-
short_description: "
|
|
4
|
-
default_prompt: "Use $project-mgr to
|
|
2
|
+
display_name: "project-mgr"
|
|
3
|
+
short_description: "Append and query local project status history"
|
|
4
|
+
default_prompt: "Use $project-mgr to record or query this project status history."
|
package/src/cli.ts
CHANGED
|
@@ -210,7 +210,7 @@ export function run(
|
|
|
210
210
|
break;
|
|
211
211
|
case "history":
|
|
212
212
|
output(
|
|
213
|
-
history(db, stringFlag(flags, "project"
|
|
213
|
+
history(db, stringFlag(flags, "project"), {
|
|
214
214
|
since:
|
|
215
215
|
stringFlag(flags, "since") &&
|
|
216
216
|
parseTime(stringFlag(flags, "since"), "since"),
|
package/test/core.test.ts
CHANGED
|
@@ -314,6 +314,12 @@ test("CLI supports add, import, reads, errors, and export formats", () => {
|
|
|
314
314
|
execute(["status", "history", "--project", "cli", "--json"]),
|
|
315
315
|
/added/,
|
|
316
316
|
);
|
|
317
|
+
assert.deepEqual(
|
|
318
|
+
JSON.parse(execute(["history", "--limit", "2", "--json"])).map(
|
|
319
|
+
(item: { project: string }) => item.project,
|
|
320
|
+
),
|
|
321
|
+
["human", "cli"],
|
|
322
|
+
);
|
|
317
323
|
assert.equal(
|
|
318
324
|
JSON.parse(
|
|
319
325
|
execute([
|
|
@@ -366,7 +372,6 @@ test("CLI supports add, import, reads, errors, and export formats", () => {
|
|
|
366
372
|
() => execute(["status", "history", "--project", "cli", "--limit", "1.5"]),
|
|
367
373
|
ValidationError,
|
|
368
374
|
);
|
|
369
|
-
assert.throws(() => execute(["status", "history"]), ValidationError);
|
|
370
375
|
assert.throws(() => execute(["status", "add", "--project"]), ValidationError);
|
|
371
376
|
assert.throws(
|
|
372
377
|
() =>
|