name: release-docs description: 使用当前插件组件构建和更新文档网站
参数
[可选:–dry-run 预览更改而不写入]
发布文档命令
您是一个文档生成器,用于 compound-engineering 插件。您的职责是确保 plugins/compound-engineering/docs/ 下的文档网站始终与实际的插件组件保持同步。
概述
文档网站是一个基于 Evil Martians LaunchKit 模板的静态 HTML/CSS/JS 网站。需要在以下情况下重新生成:
- 代理被添加、移除或修改
- 命令被添加、移除或修改
- 技能被添加、移除或修改
- MCP 服务器被添加、移除或修改
步骤 1:盘点当前组件
首先,计数并列出所有当前组件:
# 计数代理
ls plugins/compound-engineering/agents/*.md | wc -l
# 计数命令
ls plugins/compound-engineering/commands/*.md | wc -l
# 计数技能
ls -d plugins/compound-engineering/skills/*/ 2>/dev/null | wc -l
# 计数 MCP 服务器
ls -d plugins/compound-engineering/mcp-servers/*/ 2>/dev/null | wc -l
读取所有组件文件以获取其元数据:
代理
对于 plugins/compound-engineering/agents/*.md 中的每个代理文件:
- 提取前置数据(名称、描述)
- 注意类别(评审、研究、工作流、设计、文档)
- 从内容中获取关键职责
命令
对于 plugins/compound-engineering/commands/*.md 中的每个命令文件:
- 提取前置数据(名称、描述、参数提示)
- 分类为工作流或实用命令
技能
对于 plugins/compound-engineering/skills/*/ 中的每个技能目录:
- 读取 SKILL.md 文件以获取前置数据(名称、描述)
- 注意任何脚本或支持文件
MCP 服务器
对于 plugins/compound-engineering/mcp-servers/*/ 中的每个 MCP 服务器:
- 读取配置和 README
- 列出提供的工具
步骤 2:更新文档页面
2a. 更新 docs/index.html
使用准确的计数更新统计部分:
<div class="stats-grid">
<div class="stat-card">
<span class="stat-number">[AGENT_COUNT]</span>
<span class="stat-label">专业代理</span>
</div>
<!-- 更新所有统计卡片 -->
</div>
确保组件摘要部分准确列出关键组件。
2b. 更新 docs/pages/agents.html
重新生成完整的代理参考页面:
- 按类别分组代理(评审、研究、工作流、设计、文档)
- 为每个代理包括:
- 名称和描述
- 关键职责(项目列表)
- 使用示例:
claude agent [代理名称] "您的消息" - 用例
2c. 更新 docs/pages/commands.html
重新生成完整的命令参考页面:
- 按类型分组命令(工作流、实用)
- 为每个命令包括:
- 名称和描述
- 参数(如果有)
- 流程/工作流步骤
- 使用示例
2d. 更新 docs/pages/skills.html
重新生成完整的技能参考页面:
- 按类别分组技能(开发工具、内容与工作流、图像生成)
- 为每个技能包括:
- 名称和描述
- 使用:
claude skill [技能名称] - 功能和能力
2e. 更新 docs/pages/mcp-servers.html
重新生成 MCP 服务器参考页面:
- 对于每个服务器:
- 名称和目的
- 提供的工具
- 配置详情
- 支持的框架/服务
步骤 3:更新元数据文件
确保计数在以下文件中一致:
-
plugins/compound-engineering/.claude-plugin/plugin.json- 使用正确计数更新
description - 使用计数更新
components对象 - 使用当前项更新
agents、commands数组
- 使用正确计数更新
-
.claude-plugin/marketplace.json- 使用正确计数更新插件
description
- 使用正确计数更新插件
-
plugins/compound-engineering/README.md- 使用计数更新介绍段落
- 更新组件列表
步骤 4:验证
运行验证检查:
# 验证 JSON 文件
cat .claude-plugin/marketplace.json | jq .
cat plugins/compound-engineering/.claude-plugin/plugin.json | jq .
# 验证计数匹配
echo "文件中的代理:$(ls plugins/compound-engineering/agents/*.md | wc -l)"
grep -o "[0-9]* specialized agents" plugins/compound-engineering/docs/index.html
echo "文件中的命令:$(ls plugins/compound-engineering/commands/*.md | wc -l)"
grep -o "[0-9]* slash commands" plugins/compound-engineering/docs/index.html
步骤 5:报告更改
提供更新摘要:
## 文档发布摘要
### 组件计数
- 代理:X(之前 Y)
- 命令:X(之前 Y)
- 技能:X(之前 Y)
- MCP 服务器:X(之前 Y)
### 更新的文件
- docs/index.html - 更新统计和组件摘要
- docs/pages/agents.html - 重新生成 X 个代理
- docs/pages/commands.html - 重新生成 X 个命令
- docs/pages/skills.html - 重新生成 X 个技能
- docs/pages/mcp-servers.html - 重新生成 X 个服务器
- plugin.json - 更新计数和组件列表
- marketplace.json - 更新描述
- README.md - 更新组件列表
### 新增组件
- [列出任何新代理/命令/技能]
### 移除组件
- [列出任何移除的代理/命令/技能]
干运行模式
如果指定 --dry-run:
- 执行所有盘点和验证步骤
- 报告将更新的内容
- 不写入任何文件
- 显示建议更改的差异预览
错误处理
- 如果组件文件有无效的前置数据,报告错误并跳过
- 如果 JSON 验证失败,报告并中止
- 始终维持有效状态 - 不部分更新
发布后
成功发布后:
- 建议使用文档更改更新 CHANGELOG.md
- 提醒提交消息:
docs: 更新文档网站以匹配插件组件 - 提醒推送更改
使用示例
# 完整文档发布
claude /release-docs
# 预览更改而不写入
claude /release-docs --dry-run
# 添加新代理后
claude /release-docs