关于 repo-scaffold
repo-scaffold 是用于初始化 GitHub 代码库的 Claude 技能,可按项目类型生成标准配置和协作文件。它会检查现有文件、处理冲突,并在写入前请求确认。
主要功能
- 01检测项目类型
- 02生成适配语言的代码库模板
- 03创建政策与贡献指南文件
- 04生成 GitHub Issue 和 PR 模板
- 05生成 GitHub Actions CI 框架
- 06写入前检查文件冲突
适用场景
- 01创建新的 GitHub 代码库
- 02为现有代码库补充标准文件
- 03统一多个代码库的配置
- 04准备公开发布代码库
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ thatrebeccarae/ claude-marketing --skill repo-scaffold安装后在 Claude Code 中输入/repo-scaffold确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
EXAMPLES.mdLICENSEREFERENCE.md详细介绍
仓库脚手架
使用标准文件和配置初始化 GitHub 仓库。此技能会生成 LICENSE、CONTRIBUTING.md、SECURITY.md、CODEOWNERS、.gitignore、.editorconfig、基于 YAML 的议题模板、PR 模板、CI 配置框架以及可选的安全文件。它会根据现有文件检测项目类型,并据此调整所有模板。
安装
claude skill install repo-scaffold
使用时机
在以下情况下应使用此技能:
- 从头开始设置新的 GitHub 仓库
- 为现有仓库添加缺失的标准文件
- 在多个项目中统一仓库配置
- 为将私有仓库开源做好准备
用法
/repo-scaffold [repo-path] [--license MIT|Apache-2.0|ISC] [--public] [--ci github-actions|none]
| 标志 | 默认值 | 说明 |
|---|---|---|
repo-path | . (cwd) | Git 仓库根目录的路径 |
--license | MIT | 许可证类型(MIT、Apache-2.0、ISC、GPL-3.0、BSD-2-Clause) |
--public | 关闭 | 包含 .public-repo、.pii-allowlist、.commit-msg-blocklist |
--ci | github-actions | CI 提供方框架(github-actions 或 none) |
流程
步骤 1:验证仓库路径
确认目标路径是已初始化的 Git 仓库(包含 .git/)。如果不是,则停止并告知用户。未经明确许可,绝不运行 git init。
步骤 2:扫描现有文件
检查仓库根目录和 .github/ 目录,查找此技能将生成的文件,并整理冲突列表。绝不覆盖现有文件。 如果存在冲突,请列出冲突文件,并询问用户要跳过或替换哪些文件。
步骤 3:检测项目类型
通过检查标记文件,识别主要语言和工具:
| 标记文件 | 项目类型 |
|---|---|
package.json | Node.js / JavaScript / TypeScript |
pyproject.toml、setup.py、requirements.txt | Python |
Cargo.toml | Rust |
go.mod | Go |
| 存在多个标记文件 | 多语言 |
| 以上文件均不存在 | 通用 |
如果发现多个标记文件,则按多语言项目处理,并组合相关模式。
步骤 4:生成文件
根据语言生成相应内容的文件。模板、模式和格式规范请参阅 REFERENCE.md。
4a. LICENSE
如果未提供 --license,则询问用户选择哪种许可证。默认使用 MIT。填入当前年份和仓库所有者的姓名(从 git config user.name 获取,或询问用户)。许可证选择指南请参阅 REFERENCE.md 中的许可证对比表。
4b. .gitignore
根据检测到的项目类型生成相应的忽略模式。对于多语言仓库,组合相关模式。始终包含操作系统级忽略项(.DS_Store、Thumbs.db)和编辑器忽略项(.vscode/、.idea/)。
4c. CONTRIBUTING.md
生成基于 Fork、分支和 PR 的贡献指南。包括:
- Fork 和克隆说明
- 分支命名约定(
feat/、fix/、docs/) - 代码风格说明(如果检测到 linter 配置,则链接到该配置)
- 提交消息格式
- PR 检查清单
4d. SECURITY.md
生成安全政策,包含:
- 支持的版本表(如果能检测到包版本,则填入)
- 漏洞报告说明(通过电子邮件报告,不要提交公开议题)
- 预期响应时间
4e. CODEOWNERS
扫描顶层目录结构并生成 CODEOWNERS 文件。默认将各目录映射到仓库所有者。添加注释,说明如何自定义。
4f. .editorconfig
根据检测到的项目类型生成相应的设置:
- 缩进样式和大小
- 行尾字符
- 删除行尾空白
- 插入文件末尾换行符
- 字符集(utf-8)
4g. .github/ISSUE_TEMPLATE/bug-report.yml
生成基于 YAML 表单的错误报告模板,字段包括:描述、复现步骤、预期行为、实际行为、环境和可选截图。YAML 表单规范请参阅 REFERENCE.md。
4h. .github/ISSUE_TEMPLATE/feature-request.yml
生成基于 YAML 表单的功能请求模板,字段包括:问题陈述、拟议解决方案、考虑过的替代方案和其他背景信息。
4i. .github/pull_request_template.md
生成包含以下部分的 PR 模板:变更摘要、变更类型(复选框)、已执行的测试和检查清单。
4j. .github/workflows/ci.yml
生成 GitHub Actions 的 CI 框架(除非使用 --ci none)。包含:
- 在推送到 main 和创建拉取请求时触发
- 适用于对应语言的设置步骤
- lint 步骤(ESLint、ruff、clippy、golangci-lint)
- 测试步骤(适用于对应语言的测试运行器)
- 用于添加其他步骤的占位注释
4k. 可选:安全文件(使用 --public 时)
传入 --public 时,还要生成:
.public-repo— 空标记文件,表示该仓库为公开仓库.pii-allowlist— 每行一个正则表达式;以说明用法的注释标题开头.commit-msg-blocklist— 每行一个词条;以注释标题和常见默认项开头
步骤 5:展示计划
在写入任何文件之前,列出所有要创建的文件,并为每个文件附上一行说明。注明因冲突而跳过的文件。请用户确认后再继续。
步骤 6:写入文件
写入所有已确认的文件。逐一报告写入的文件。
步骤 7:总结
打印一张总结表格,包含:
- 已创建的文件(含路径)
- 已跳过的文件(含原因)
- 建议的后续步骤(例如:检查 CODEOWNERS、自定义 CONTRIBUTING.md、向 CI 添加密钥)
核心原则
- 绝不覆盖现有文件。 始终先扫描、标记冲突并询问。
- 始终在写入前询问。 展示计划并获得明确确认。
- 使用适用于对应语言的默认设置。 检测项目类型,并据此调整每个模板。
- 精简但完整。 生成每个维护良好的仓库所需的标准文件,不多不少。
- 可组合。 每个文件都独立存在。之后可重新运行此技能来添加缺少的文件,而不影响现有文件。
参考资料
- REFERENCE.md — 许可证比较、.gitignore 模式、YAML 模板规范、CI 框架、CODEOWNERS 语法、.editorconfig 设置、SECURITY.md 和 CONTRIBUTING.md 模板
- EXAMPLES.md — Node.js、Python 和公开仓库搭建的完整示例