@hi-man/himan 0.4.0 → 0.5.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/CHANGELOG.md +22 -0
- package/README.md +53 -21
- package/dist/adapters/resource/resource-scanner.js +14 -4
- package/dist/adapters/source/git-source-adapter.js +159 -6
- package/dist/adapters/source/registry-source-adapter.js +10 -1
- package/dist/cli/builders.js +9 -3
- package/dist/cli/doctor-command.js +30 -0
- package/dist/cli/project-commands.js +23 -5
- package/dist/cli/resource-commands.js +62 -7
- package/dist/cli/source-commands.js +96 -3
- package/dist/domain/doctor.js +1 -0
- package/dist/services/index.js +484 -44
- package/dist/utils/errors.js +1 -0
- package/docs/error-codes.md +6 -0
- package/docs/mvp/README.md +6 -9
- package/docs/mvp/create-resource.md +11 -11
- package/docs/mvp/impl.md +6 -6
- package/package.json +1 -1
package/docs/mvp/README.md
CHANGED
|
@@ -53,23 +53,20 @@
|
|
|
53
53
|
### 2.5 `dev`
|
|
54
54
|
|
|
55
55
|
- `himan dev <type> <name>`,`type` 支持 `rule|command|skill`;需先 `install`。
|
|
56
|
-
-
|
|
57
|
-
- `rule`:`.himan/dev/rule/<name>`
|
|
58
|
-
- `command`:`.himan/dev/command/<name>`
|
|
59
|
-
- `skill`:`.himan/dev/skill/<name>`
|
|
56
|
+
- 项目内资源直接在当前 agent 目标目录原地修改;若资源只存在于用户级全局目录,则复制到当前项目对应 agent 目标目录。
|
|
60
57
|
|
|
61
58
|
### 2.6 `publish`
|
|
62
59
|
|
|
63
|
-
- `himan publish <type> <name> --patch|--minor|--major`(默认 patch,三选一)
|
|
64
|
-
-
|
|
60
|
+
- `himan publish <type> <name> --patch|--minor|--major [--global]`(默认 patch,三选一)
|
|
61
|
+
- 发布内容优先取旧版项目 `.himan/dev/<type>/<name>`,其次取当前项目 agent 目标目录,否则取源仓库内对应资源目录。
|
|
65
62
|
- 新版本:基于已有 tag 最新 semver 递增;无任何历史时从 `0.0.0` 起算。
|
|
66
63
|
- 写回源仓库、提交、打 tag、推送,并将该版本同步到本地 store。
|
|
67
|
-
-
|
|
64
|
+
- 发布过程展示阶段日志。发布成功后,用新版本 store 以 copy 模式重新安装;默认安装到项目目标并更新 lock,`--global` 安装到用户级目录且不写项目 lock。
|
|
68
65
|
|
|
69
66
|
### 2.7 `create`
|
|
70
67
|
|
|
71
68
|
- `himan create <type> <name>` 及常用选项(描述、目标 agent、dry-run、force、json 等)
|
|
72
|
-
-
|
|
69
|
+
- 在当前项目 agent 目标目录生成 `rule` / `command` / `skill` 标准目录与 `himan.yaml`、入口模板
|
|
73
70
|
- 与 `publish` 衔接:`create → 编辑 → publish`
|
|
74
71
|
|
|
75
72
|
### 2.8 `agent`
|
|
@@ -103,7 +100,7 @@
|
|
|
103
100
|
**项目目录:**
|
|
104
101
|
- `.cursor` / `.claude` / `.agents` / `.openclaw`:按 agent 和资源类型保存运行态目标(软链或副本)
|
|
105
102
|
- `.himan/config.json`:项目默认 agent 配置
|
|
106
|
-
- `.himan/dev/<type>/<name
|
|
103
|
+
- 当前项目 agent 目标目录:资源创建和开发态可编辑位置;旧版 `.himan/dev/<type>/<name>` 仍可作为 publish 输入
|
|
107
104
|
|
|
108
105
|
**源仓库内资源布局:**
|
|
109
106
|
- `rules/<name>/`、`commands/<name>/`、`skills/<name>/`,可含 `himan.yaml`,并包含约定入口文件(如 `content.md`、`SKILL.md`)。
|
|
@@ -58,10 +58,10 @@ repo/
|
|
|
58
58
|
|
|
59
59
|
可用 `himan source init-docs` 生成根目录文档模板。命令默认只创建缺失的 `README.md` / `CHANGELOG.md`;已有文件会保留,除非显式传 `--force`。`--force` 覆盖文档时会扫描当前 source 中已有的 `rule`、`command`、`skill`,写入 README 资源索引,并在 CHANGELOG 初始条目中记录已整理的资源。资源引用会优先使用 Git tag 中的最新 semver 版本,找不到 tag 时再回退到 `himan.yaml` 的 `version`。对于尚未补齐 `himan.yaml` 的资源,文档整理会按默认入口识别资源;其中 skill 会额外读取 `skills/<name>/SKILL.md` front matter 中的 `name` 和 `description`。`--dry-run` 只返回将执行的创建、覆盖或跳过动作,不写盘。有实际文件变更时,命令会提交并 push 到当前 Git source。
|
|
60
60
|
|
|
61
|
-
`create`
|
|
61
|
+
`create` 默认只在当前项目 agent 目标目录生成可验证资源;`publish` 会把项目目录中的资源同步回 source 仓库,并自动维护根目录文档:
|
|
62
62
|
|
|
63
63
|
- `README.md`:只维护 `<!-- himan:resources:start -->` / `<!-- himan:resources:end -->` 标记内的资源索引;如果旧 README 没有标记,则在文件末尾追加受控资源索引区
|
|
64
|
-
- `CHANGELOG.md`:向 `[Unreleased]`
|
|
64
|
+
- `CHANGELOG.md`:向 `[Unreleased]` 写入发布版本的 `Changed` 条目
|
|
65
65
|
|
|
66
66
|
推荐的 `README.md` 基本结构:
|
|
67
67
|
|
|
@@ -110,15 +110,15 @@ himan install rule code-review
|
|
|
110
110
|
|
|
111
111
|
## 4. 资源目录与元数据
|
|
112
112
|
|
|
113
|
-
`create`
|
|
113
|
+
`create` 生成当前项目 agent 目标目录,结构示例:
|
|
114
114
|
|
|
115
115
|
```text
|
|
116
|
-
|
|
117
|
-
rules/<name>/
|
|
116
|
+
project/
|
|
117
|
+
.cursor/rules/<name>/
|
|
118
118
|
content.md
|
|
119
|
-
commands/<name>/
|
|
119
|
+
.cursor/commands/<name>/
|
|
120
120
|
content.md
|
|
121
|
-
skills/<name>/
|
|
121
|
+
.agents/skills/<name>/
|
|
122
122
|
SKILL.md
|
|
123
123
|
```
|
|
124
124
|
|
|
@@ -143,7 +143,7 @@ agents:
|
|
|
143
143
|
|
|
144
144
|
1. 读取本地配置,确认已初始化源
|
|
145
145
|
2. 校验类型与资源名格式
|
|
146
|
-
3.
|
|
146
|
+
3. 解析当前项目 agent 目标路径,例如 `.agents/skills/<name>`
|
|
147
147
|
4. 目录已存在且无 `--force` → 报错
|
|
148
148
|
5. 生成 `himan.yaml` 与入口模板(`--dry-run` 则不落盘)
|
|
149
149
|
6. 终端或 `--json` 输出结果;下一步由用户编辑再 `publish`
|
|
@@ -178,17 +178,17 @@ agents:
|
|
|
178
178
|
## 9. 与资源工作流衔接
|
|
179
179
|
|
|
180
180
|
```text
|
|
181
|
-
create → edit → publish
|
|
181
|
+
create → edit in project agent folder → publish
|
|
182
182
|
```
|
|
183
183
|
|
|
184
|
-
`create`
|
|
184
|
+
`create` 会在当前项目 agent 目标目录中生成资源目录;用户编辑并验证该目录后执行 `publish`。资源已有发布版本并安装到项目后,可再进入 `dev` 工作流,直接在项目 agent 目标目录原地修改:
|
|
185
185
|
|
|
186
186
|
```bash
|
|
187
187
|
himan create rule code-review --description "enforce standards"
|
|
188
188
|
himan publish rule code-review --patch
|
|
189
189
|
himan install rule code-review
|
|
190
190
|
himan dev rule code-review
|
|
191
|
-
# 编辑 .
|
|
191
|
+
# 编辑 .cursor/rules/code-review/ 或当前默认 agent 对应目录
|
|
192
192
|
himan publish rule code-review --patch
|
|
193
193
|
```
|
|
194
194
|
|
package/docs/mvp/impl.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
**原则:**
|
|
15
15
|
|
|
16
16
|
- 本地 store 按版本存放,已存在的版本目录不被覆盖(安装时复用缓存)
|
|
17
|
-
-
|
|
17
|
+
- 创建和开发默认直接使用运行态 agent 目录(`.cursor` / `.claude` / `.agents` / `.openclaw`),旧版 `.himan/dev` 目录仅作为兼容发布输入
|
|
18
18
|
- 正式发布版本以 **Git Tag** 为唯一事实来源;`himan.yaml` 中的 version 在发布时会与 tag 对齐
|
|
19
19
|
|
|
20
20
|
---
|
|
@@ -49,21 +49,21 @@
|
|
|
49
49
|
### 2.5 `dev <type> <name>`
|
|
50
50
|
|
|
51
51
|
- 命令层接受 `rule|command|skill`;依赖已安装(能解析当前安装目标)
|
|
52
|
-
-
|
|
53
|
-
-
|
|
52
|
+
- 当前项目已存在资源时直接返回项目 agent 目标目录,用户原地修改
|
|
53
|
+
- 当前项目不存在但用户级全局目录存在时,将全局资源复制到当前项目对应 agent 目标目录
|
|
54
54
|
|
|
55
55
|
### 2.6 `publish <type> <name>`
|
|
56
56
|
|
|
57
|
-
-
|
|
57
|
+
- 发布源:优先旧版项目 `.himan/dev/<type>/<name>`,其次当前项目 agent 目标目录,否则缓存仓库内该资源目录
|
|
58
58
|
- 下一版本:基于历史最新 tag;无历史则从 `0.0.0` 按 patch/minor/major 递增
|
|
59
59
|
- 将内容同步回缓存仓库中的规范路径,更新元数据中的版本字段,提交、打 tag、推送
|
|
60
60
|
- 将新 tag 对应内容拉取到 store 新版本目录
|
|
61
|
-
-
|
|
61
|
+
- 发布过程展示阶段日志;用新版本 store 以 copy 模式重新安装。默认安装到项目内对应类型目标并更新 lock,`--global` 安装到用户级目标且不写项目 lock
|
|
62
62
|
|
|
63
63
|
### 2.7 `create <type> <name>`
|
|
64
64
|
|
|
65
65
|
- 校验类型与资源命名规则
|
|
66
|
-
-
|
|
66
|
+
- 在当前项目 agent 目标目录创建 `rules|commands|skills/<name>` 及 `himan.yaml`、入口模板
|
|
67
67
|
- 支持覆盖、试运行、JSON 输出;创建后不自动发布
|
|
68
68
|
|
|
69
69
|
### 2.8 `agent`
|