Skip to content

Commit 0c61a8e

Browse files
docs(hagitask): expand community package guide
Add repository boundary and release pipeline overview, published task ID table, file-to-catalog mapping, and validation failure guidance to the community page. Co-Authored-By: Hagicode <noreply@hagicode.com> Signed-off-by: newbe36524 <newbe36524@qq.com>
1 parent 587c8d2 commit 0c61a8e

1 file changed

Lines changed: 57 additions & 2 deletions

File tree

src/content/docs/guides/hagitask/community.mdx

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,19 @@ description: 创建、校验、版本化并提交 HagiTask Community Packages
1111
- 能初始化该仓库的嵌套 `hagitask` checkout。
1212
- 了解 JSON、Markdown 和 Git Pull Request。
1313

14-
本页是面向贡献者的完整操作入口。`hagitask-community-packages` README 保留技术契约和命令,但不再复制本页的完整说明。
14+
本页是面向贡献者的完整操作入口。Community Packages README 只保留仓库边界、目录和命令参考。
15+
16+
## 仓库边界和发布链路
17+
18+
Community Packages 是社区任务定义的 source of truth。贡献者编辑 `data/<taskId>/`;HagiTask
19+
维护共享包 Schema;HagiTask Site 读取精确的 Community Packages 提交,规范化并生成:
20+
21+
- `/index.json`:用于发现任务的轻量目录。
22+
- `/tasks/<taskId>.json`:包含完整资源和兼容性信息的详情文档。
23+
- `/packages/<taskId>.zip`:供应用安装的归档。
24+
25+
这些 JSON 和 ZIP 是生成产物,不要在 Community Packages 中手工创建或修改。归档包含整个
26+
`data/<taskId>/` 目录,因此目录内新增的资源都会随包发布。
1527

1628
## 1. 准备 Schema 和仓库
1729

@@ -28,6 +40,19 @@ npm install
2840

2941
新任务放在 `data/<taskId>/``taskId` 必须是稳定、唯一的 lowercase kebab-case,并且始终与 `manifest.json` 中的 `taskPresetId` 完全一致;改目录名会改变已发布的详情和归档 URL。
3042

43+
当前已发布的规范 ID 包括:
44+
45+
| 显示名称 | `taskId` |
46+
| --- | --- |
47+
| UI Master | `ui-master` |
48+
| AgentsMD | `claude-md-update` |
49+
| Last 30 Days | `last30days` |
50+
| Ponytail | `ponytail` |
51+
| Goal | `goal` |
52+
| OpenSpec Spec Compress | `openspec-spec-compress` |
53+
54+
`agentsmd``portytail` 只是人类别名,不是协议中的任务 ID。
55+
3156
```text
3257
data/<taskId>/
3358
manifest.json
@@ -50,6 +75,20 @@ data/<taskId>/
5075

5176
`manifest.json``frontend/panel.json``backend/task-preset.json``backend/prompts.json`、英文和中文 locale、两份 store page 以及每个声明语言的 prompt 模板是必需资源。`commands.json` 只有在包确实提供命令目录时才加入。
5277

78+
### 文件如何影响目录
79+
80+
| 源文件 | 发布结果 |
81+
| --- | --- |
82+
| `manifest.json``version` | 目录和详情中的版本 |
83+
| `manifest.json``owner` | 发布者 |
84+
| `manifest.json``localization` | 客户端加载的 locale bundle |
85+
| `backend/task-preset.json``requirements` | 任务要求和派生的兼容性信息 |
86+
| store page 的 `title` / `summary` | 多语言名称、摘要和描述 |
87+
| 英文 store page 的 `catalog` / `tags` | 分类和标签 |
88+
89+
如果英文页面没有 `catalog`,分类回退到第一个 tag,再回退到 `General`。只有英文页面
90+
`catalog``tags` 会参与目录分类生成。
91+
5392
## 3. 引用 Schema 和填写资源
5493

5594
每个 JSON 文件都要保留对应的 `$schema`,使用公开的 Schema URL:
@@ -58,7 +97,8 @@ data/<taskId>/
5897
https://tasks.hagicode.com/schemas/task-preset-plugin/<schema>.schema.json
5998
```
6099

61-
具体文件对应关系以 Community Packages README 和 `hagitask/schemas/task-preset-plugin/` 为准。`manifest.json` 要声明任务 ID、版本、发布者、本地化 bundle 以及前端/后端资源路径。locale 文件应保持相同的键集合。
100+
具体文件对应关系以 `hagitask/schemas/task-preset-plugin/` 为准。`manifest.json` 要声明任务
101+
ID、版本、发布者、本地化 bundle 以及前端/后端资源路径。locale 文件应保持相同的键集合。
62102

63103
`store-page/index.en-US.md``index.zh-CN.md` 至少需要 `locale``slug``title``summary` frontmatter。`catalog``tags` 放在英文页面,因为发布站点从英文页面生成分类和标签。
64104

@@ -74,6 +114,8 @@ npm run validate
74114

75115
验证器会检查规范 ID、Schema、资源声明、本地化覆盖、prompt 模板和 store-page frontmatter。失败时修复 `data/<taskId>/` 中的源文件,不能编辑 `/index.json``/tasks/<taskId>.json``/packages/<taskId>.zip`;这些都是 HagiTask Site 每次发布时生成的产物。
76116

117+
验证工作流会在修改包内容的 Pull Request 和 `main` 推送时运行;验证失败会阻止包合并。
118+
77119
需要进一步确认发布契约时,可在 `hagitask-site` checkout 中运行:
78120

79121
```bash
@@ -84,10 +126,23 @@ npm run stage:schemas
84126
npm run verify
85127
```
86128

129+
站点构建会再次执行规范化和发布 Schema 校验。构建成功表示生成的目录和详情符合
130+
`community-index-v1``community-task-detail-v1` 契约。
131+
87132
## 5. 提交 Pull Request
88133

89134
将 Pull Request 提交到 `hagitask-community-packages`,而不是 `hagitask-site``hagitask`。合并后,HagiTask Site 更新 Community Packages 的精确提交并重新生成索引、详情和 ZIP 归档。
90135

91136
`hagitask` 负责共享 Schema 和内置预设;如果包格式契约本身需要改变,应单独在 HagiTask 仓库提出 Schema 变更。Community Packages 只维护 `data/` 源数据,站点只发布生成结果。
92137

138+
### 验证失败时
139+
140+
根据错误指向修复 `data/<taskId>/` 中的源文件:
141+
142+
- 包 Schema 错误:修复对应 JSON,不要删除 `$schema` 或放宽校验。
143+
- 资源或 locale 缺失:更新 manifest、locale、prompt template 或 store page,使声明与实际文件一致。
144+
- 目录详情或归档 Schema 错误:检查源包和站点规范化输入,不要修补生成 JSON。
145+
146+
如果 Schema 契约本身有问题,应在 HagiTask 仓库提出契约变更,而不是在本仓库复制一份 Schema。
147+
93148
**下一步:** [安装 HagiTask](/guides/hagitask/installation)[使用 HagiTask](/guides/hagitask/usage)

0 commit comments

Comments
 (0)