关于 gh-bootstrap
gh-bootstrap 是用于生成 GitHub 仓库配置文件的技能,面向项目维护者。它通过检测项目技术栈、下载模板、渲染并验证文件来创建配置,并要求对现有文件冲突先征求许可。
主要功能
- 01检测语言、框架和 GitHub 文件
- 02按模式选择配置模板
- 03下载并渲染模板文件
- 04验证生成文件及占位符
- 05处理现有文件冲突
适用场景
- 01为新仓库生成 GitHub 配置
- 02为现有项目补充社区文件
- 03依据项目语言选择工作流模板
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bahayonghang/ my-ai-cli-toolkit --skill gh-bootstrap安装后在 Claude Code 中输入/gh-bootstrap确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/interface.yamlevals/evals.jsonscripts/gh_bootstrap_runtime.pyspecs/template-catalog.md详细介绍
在以下命令中,
<skill-dir>是此技能的基础目录,会在技能加载时公布。请替换为实际路径;它不是环境变量。运行时脚本gh_bootstrap_runtime.py是唯一的执行引擎——切勿自行编写 detect / fetch / render / validate 步骤。
- 询问用户的沟通语言和模板语言偏好,以及所需模式:quick(采用合理的默认值,尽量减少交互)、custom(选择特定模板)或 full(使用所有可用模板)。
- 在规划前,使用
python "<skill-dir>/scripts/gh_bootstrap_runtime.py" detect "$ARGUMENTS"检测语言、框架和现有 GitHub 文件。如果检测结果中没有语言(项目为空或技术栈无法识别),请让用户手动指定主要语言,而不要猜测。 - 调用
AskUserQuestion收集必要的配置变量(项目名称、GitHub 所有者/仓库、作者、许可证,以及各组件特定的值)。 - 扫描现有配置文件并规划冲突解决方案。未经用户明确许可,绝不覆盖现有文件。
- 阅读
specs/template-catalog.md,将所需文件映射到仓库 URL,然后使用python "<skill-dir>/scripts/gh_bootstrap_runtime.py" fetch-template ...下载选定的模板源。如果模板下载失败(网络错误、404、超时),请说明失败的模板,并提供跳过或重试的选项。 - 使用
python "<skill-dir>/scripts/gh_bootstrap_runtime.py" render-template ...渲染文件,确保占位符替换具有确定性。 - 使用
python "<skill-dir>/scripts/gh_bootstrap_runtime.py" validate-tree <target-root>验证生成的目录树;如果仍有未替换的{{placeholders}},则拒绝完成。
强制规则
- 绝不凭记忆编写配置文件;必须从下载的模板渲染。
- 始终替换
{{variable}}占位符(例如{{projectName}});绝不更改 GitHub Actions 表达式(${{ github.* }}、${{ secrets.* }})或操作版本固定值(例如@v4)。渲染器只会替换{{...}}。 - 输出目标包括
.github/workflows/、问题模板、PR 模板和基础社区文件。
评论
支持 Markdown