mcpField
R
repo-scaffold

repo-scaffold

github.com/thatrebeccarae开发187101 次安装24 周前更新
代码仓库

关于 repo-scaffold

repo-scaffold 是用于初始化 GitHub 代码库的 Claude 技能,可按项目类型生成标准配置和协作文件。它会检查现有文件、处理冲突,并在写入前请求确认。

主要功能

  1. 01检测项目类型
  2. 02生成适配语言的代码库模板
  3. 03创建政策与贡献指南文件
  4. 04生成 GitHub Issue 和 PR 模板
  5. 05生成 GitHub Actions CI 框架
  6. 06写入前检查文件冲突

适用场景

  1. 01创建新的 GitHub 代码库
  2. 02为现有代码库补充标准文件
  3. 03统一多个代码库的配置
  4. 04准备公开发布代码库

安装

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

$npx skills add https://github.com/thatrebeccarae/claude-marketing --skill repo-scaffold

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

包含的文件

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

EXAMPLES.md
LICENSE
REFERENCE.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 仓库根目录的路径
--licenseMIT许可证类型(MIT、Apache-2.0、ISC、GPL-3.0、BSD-2-Clause)
--public关闭包含 .public-repo、.pii-allowlist、.commit-msg-blocklist
--cigithub-actionsCI 提供方框架(github-actions 或 none)

流程

步骤 1:验证仓库路径

确认目标路径是已初始化的 Git 仓库(包含 .git/)。如果不是,则停止并告知用户。未经明确许可,绝不运行 git init。

步骤 2:扫描现有文件

检查仓库根目录和 .github/ 目录,查找此技能将生成的文件,并整理冲突列表。绝不覆盖现有文件。 如果存在冲突,请列出冲突文件,并询问用户要跳过或替换哪些文件。

步骤 3:检测项目类型

通过检查标记文件,识别主要语言和工具:

标记文件项目类型
package.jsonNode.js / JavaScript / TypeScript
pyproject.toml、setup.py、requirements.txtPython
Cargo.tomlRust
go.modGo
存在多个标记文件多语言
以上文件均不存在通用

如果发现多个标记文件,则按多语言项目处理,并组合相关模式。

步骤 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 添加密钥)

核心原则

  1. 绝不覆盖现有文件。 始终先扫描、标记冲突并询问。
  2. 始终在写入前询问。 展示计划并获得明确确认。
  3. 使用适用于对应语言的默认设置。 检测项目类型,并据此调整每个模板。
  4. 精简但完整。 生成每个维护良好的仓库所需的标准文件,不多不少。
  5. 可组合。 每个文件都独立存在。之后可重新运行此技能来添加缺少的文件,而不影响现有文件。

参考资料

  • REFERENCE.md — 许可证比较、.gitignore 模式、YAML 模板规范、CI 框架、CODEOWNERS 语法、.editorconfig 设置、SECURITY.md 和 CONTRIBUTING.md 模板
  • EXAMPLES.md — Node.js、Python 和公开仓库搭建的完整示例

评论

支持 Markdown