mcpField
G
gh-bootstrap

gh-bootstrap

github.com/bahayonghang开发1736 次安装3 天前更新
代码仓库

关于 gh-bootstrap

gh-bootstrap 是用于生成 GitHub 仓库配置文件的技能,面向项目维护者。它通过检测项目技术栈、下载模板、渲染并验证文件来创建配置,并要求对现有文件冲突先征求许可。

主要功能

  1. 01检测语言、框架和 GitHub 文件
  2. 02按模式选择配置模板
  3. 03下载并渲染模板文件
  4. 04验证生成文件及占位符
  5. 05处理现有文件冲突

适用场景

  1. 01为新仓库生成 GitHub 配置
  2. 02为现有项目补充社区文件
  3. 03依据项目语言选择工作流模板

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bahayonghang/my-ai-cli-toolkit --skill gh-bootstrap

安装后在 Claude Code 中输入/gh-bootstrap确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
interface.yaml
evals/
evals.json
scripts/
gh_bootstrap_runtime.py
specs/
template-catalog.md

详细介绍

在以下命令中,<skill-dir> 是此技能的基础目录,会在技能加载时公布。请替换为实际路径;它不是环境变量。运行时脚本 gh_bootstrap_runtime.py 是唯一的执行引擎——切勿自行编写 detect / fetch / render / validate 步骤。

  1. 询问用户的沟通语言和模板语言偏好,以及所需模式:quick(采用合理的默认值,尽量减少交互)、custom(选择特定模板)或 full(使用所有可用模板)。
  2. 在规划前,使用 python "<skill-dir>/scripts/gh_bootstrap_runtime.py" detect "$ARGUMENTS" 检测语言、框架和现有 GitHub 文件。如果检测结果中没有语言(项目为空或技术栈无法识别),请让用户手动指定主要语言,而不要猜测。
  3. 调用 AskUserQuestion 收集必要的配置变量(项目名称、GitHub 所有者/仓库、作者、许可证,以及各组件特定的值)。
  4. 扫描现有配置文件并规划冲突解决方案。未经用户明确许可,绝不覆盖现有文件。
  5. 阅读 specs/template-catalog.md,将所需文件映射到仓库 URL,然后使用 python "<skill-dir>/scripts/gh_bootstrap_runtime.py" fetch-template ... 下载选定的模板源。如果模板下载失败(网络错误、404、超时),请说明失败的模板,并提供跳过或重试的选项。
  6. 使用 python "<skill-dir>/scripts/gh_bootstrap_runtime.py" render-template ... 渲染文件,确保占位符替换具有确定性。
  7. 使用 python "<skill-dir>/scripts/gh_bootstrap_runtime.py" validate-tree <target-root> 验证生成的目录树;如果仍有未替换的 {{placeholders}},则拒绝完成。

强制规则

  • 绝不凭记忆编写配置文件;必须从下载的模板渲染。
  • 始终替换 {{variable}} 占位符(例如 {{projectName}});绝不更改 GitHub Actions 表达式(${{ github.* }}、${{ secrets.* }})或操作版本固定值(例如 @v4)。渲染器只会替换 {{...}}。
  • 输出目标包括 .github/workflows/、问题模板、PR 模板和基础社区文件。

评论

支持 Markdown