@hi-man/himan 0.3.5 → 0.4.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.
@@ -73,4 +73,23 @@ export class ProjectLockStore {
73
73
  lock.updatedAt = new Date().toISOString();
74
74
  await fs.writeFile(this.getLockPath(projectDir), JSON.stringify(lock, null, 2), "utf8");
75
75
  }
76
+ async renameResource(projectDir, resource) {
77
+ const lock = await this.load(projectDir);
78
+ if (!lock)
79
+ return;
80
+ const found = lock.resources.find((item) => item.type === resource.type && item.name === resource.oldName);
81
+ if (!found)
82
+ return;
83
+ const now = new Date().toISOString();
84
+ found.name = resource.newName;
85
+ found.version = resource.version ?? found.version;
86
+ found.updatedAt = now;
87
+ lock.updatedAt = now;
88
+ lock.resources.sort((a, b) => {
89
+ if (a.type !== b.type)
90
+ return a.type.localeCompare(b.type);
91
+ return a.name.localeCompare(b.name);
92
+ });
93
+ await fs.writeFile(this.getLockPath(projectDir), JSON.stringify(lock, null, 2), "utf8");
94
+ }
76
95
  }
@@ -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
- - 发布内容优先取项目 `.himan/dev/<type>/<name>`,否则取源仓库内对应资源目录。
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
- - 发布成功后,用新版本 store 以 copy 模式重新安装到项目目标、更新 lock,并删除对应 `.himan/dev/<type>/<name>`。
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
- - 生成 `rule` / `command` / `skill` 标准目录与 `himan.yaml`、入口模板
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` `publish` 会自动维护根目录文档:
61
+ `create` 默认只在当前项目 agent 目标目录生成可验证资源;`publish` 会把项目目录中的资源同步回 source 仓库,并自动维护根目录文档:
62
62
 
63
63
  - `README.md`:只维护 `<!-- himan:resources:start -->` / `<!-- himan:resources:end -->` 标记内的资源索引;如果旧 README 没有标记,则在文件末尾追加受控资源索引区
64
- - `CHANGELOG.md`:向 `[Unreleased]` 写入资源变更;新增资源写入 `Added`,发布版本写入 `Changed`
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
- repo/
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. 解析目标路径 `rules|commands|skills/<name>`
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` 会在当前 Git source 缓存仓库中生成资源目录;用户编辑该目录后执行 `publish`。资源已有发布版本并安装到项目后,可再进入 `dev` 工作流:
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
- # 编辑 .himan/dev/rule/code-review/
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
- - 开发目录 `.himan/dev` 与运行态 agent 目录(`.cursor` / `.claude` / `.agents` / `.openclaw`)分离
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
- - 将当前安装内容复制到 `.himan/dev/<type>/<name>`(目录已存在则默认不覆盖)
53
- - 按安装模式将项目目标更新为 dev 目录的软链或副本
52
+ - 当前项目已存在资源时直接返回项目 agent 目标目录,用户原地修改
53
+ - 当前项目不存在但用户级全局目录存在时,将全局资源复制到当前项目对应 agent 目标目录
54
54
 
55
55
  ### 2.6 `publish <type> <name>`
56
56
 
57
- - 发布源:优先项目 `.himan/dev/<type>/<name>`,否则缓存仓库内该资源目录
57
+ - 发布源:优先旧版项目 `.himan/dev/<type>/<name>`,其次当前项目 agent 目标目录,否则缓存仓库内该资源目录
58
58
  - 下一版本:基于历史最新 tag;无历史则从 `0.0.0` 按 patch/minor/major 递增
59
59
  - 将内容同步回缓存仓库中的规范路径,更新元数据中的版本字段,提交、打 tag、推送
60
60
  - 将新 tag 对应内容拉取到 store 新版本目录
61
- - 用新版本 store 以 copy 模式重新安装项目内对应类型目标,更新 lock,并删除对应 `.himan/dev/<type>/<name>` 开发目录
61
+ - 发布过程展示阶段日志;用新版本 store 以 copy 模式重新安装。默认安装到项目内对应类型目标并更新 lock,`--global` 安装到用户级目标且不写项目 lock
62
62
 
63
63
  ### 2.7 `create <type> <name>`
64
64
 
65
65
  - 校验类型与资源命名规则
66
- - 在缓存仓库中创建 `rules|commands|skills/<name>` 及 `himan.yaml`、入口模板
66
+ - 在当前项目 agent 目标目录创建 `rules|commands|skills/<name>` 及 `himan.yaml`、入口模板
67
67
  - 支持覆盖、试运行、JSON 输出;创建后不自动发布
68
68
 
69
69
  ### 2.8 `agent`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-man/himan",
3
- "version": "0.3.5",
3
+ "version": "0.4.1",
4
4
  "description": "Prompt and agent asset management CLI",
5
5
  "keywords": [
6
6
  "ai",