NYC

gh-bootstrap

SKILL.md

gh-bootstrap

一站式 GitHub 仓库配置初始化工具,将项目配置时间从数小时缩短到几分钟。

Architecture Overview

┌─────────────────────────────────────────────────────────────────┐
│  gh-bootstrap Skill Architecture                                 │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  SKILL.md (入口)                                                 │
│       ↓                                                          │
│  Phase 1: Detection   →  扫描项目,识别语言/框架/现有配置         │
│       ↓                                                          │
│  Phase 2: Collection  →  交互式收集配置 (AskUserQuestion)         │
│       ↓                                                          │
│  Phase 3: Conflict    →  检测冲突,制定处理策略                   │
│       ↓                                                          │
│  Phase 4: Execution   →  下载模板 + 直接复制(仅替换变量)      │
│       ↓                                                          │
│  Phase 5: Report      →  生成执行报告和后续建议                   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Key Design Principles

  1. 阶段化执行: 复杂任务分解为 5 个有序阶段
  2. 关注点分离: phases/(逻辑) + specs/(配置) + templates/(视图)
  3. 交互式配置: 全程通过 AskUserQuestion 与用户对话
  4. 运行时下载: 不预存模板,按需从推荐仓库下载
  5. 直接复制模板: 从下载的模板原样复制,仅替换变量占位符(禁止重写)

CRITICAL CONSTRAINTS

⚠️ 禁止自行编写配置文件!必须遵循以下规则:

必须在开头询问用户使用语言环境

在开头调用问答式表单,询问用户的沟通语言(决定了与你沟通),询问用户编写后续模板使用的语言(Issue模板之类) 若用户确认了使用中文 or Chinese 你必须在后续的所有模板的编写都尽量以中文友好

强制执行顺序

Read specs/template-catalog.md → git clone 模板仓库 → Read 模板文件 → 直接复制 + 变量替换 → Write 输出

必须遵守的规则

  1. 必须先读取 template-catalog.md: 在下载任何模板之前,必须先读取 specs/template-catalog.md 获取精确的文件路径映射
  2. 必须下载模板: 在生成任何配置文件之前,必须先从 template-catalog.md 中下载对应的推荐仓库
  3. 必须直接复制: 读取模板后,原样复制内容到目标文件,仅替换变量占位符
  4. 禁止凭空生成: 不允许跳过下载步骤直接写文件,即使 Claude 知道如何编写

严格禁止的行为

  • ❌ 跳过下载直接写文件
  • ❌ "参考模板后重新编写"
  • ❌ "根据最佳实践优化模板"
  • ❌ "简化/重构模板步骤"
  • ❌ 凭记忆/知识生成配置内容
  • ❌ 删除模板中"看起来不需要"的步骤

必须执行的操作

  • ✅ 复制模板的结构和逻辑
  • 必须替换所有变量占位符({{projectName}}{{description}}{{author}} 等)
  • 必须替换 GitHub 信息({{owner}}{{repo}}、badges URL 等)
  • 必须调整版本号(node-versionpython-version 等)为检测到的版本
  • 必须填充组件特定配置(token 名称、平台账号等)
  • ✅ 保留所有 ${{ secrets.* }}${{ github.* }} 表达式(这些是 GitHub Actions 语法)
  • ✅ 保留所有 Action 版本号 @v4

变量替换是强制的

模板中的变量占位符必须全部替换,不能留空! 这些变量在 Phase 2 收集阶段必须全部确定。

违反以上规则将导致工作流失效!详见 04-execution.md

Execution Flow

用户触发 gh-bootstrap
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  Phase 1    │ ──▶ │  Phase 2    │ ──▶ │  Phase 3    │
│  Detection  │     │  Collection │     │  Conflict   │
│  项目检测    │     │  配置收集    │     │  冲突检测    │
└─────────────┘     └─────────────┘     └─────────────┘
     ┌────────────────────────────────────────┘
┌─────────────┐     ┌─────────────┐
│  Phase 4    │ ──▶ │  Phase 5    │
│  Execution  │     │  Report     │
│  执行生成    │     │  报告总结    │
└─────────────┘     └─────────────┘

Output Structure

{project-root}/
├── .github/
│   ├── workflows/
│   │   └── ci.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   │   └── feature_request.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── dependabot.yml
│   ├── labels.yml
│   └── CODEOWNERS
├── README.md
├── LICENSE
├── .gitignore
└── CONTRIBUTING.md

Reference Documents

Document Purpose
phases/01-detection.md 智能项目检测
phases/02-collection.md 交互式配置收集
phases/03-conflict.md 冲突检测与处理
phases/04-execution.md 模板下载与直接复制
phases/05-report.md 执行报告
specs/detection-rules.md 检测规则定义
specs/presets.md 预设配置定义
specs/template-catalog.md 推荐模板仓库目录
Weekly Installs
4
First Seen
Jan 29, 2026
Installed on
trae3
claude-code3
github-copilot3
opencode3
trae-cn3
mcpjam2