mcpField
R
repo-prep

repo-prep

github.com/glebis开发40147 次安装1 天前更新
代码仓库

关于 repo-prep

Repo Prep 是用于交互式整理 GitHub 发布前仓库文件的技能,面向维护者和开源项目作者。它会检查现有仓库、征询选择,并依据作者资料生成法律、元数据、社区和合规文件。

主要功能

  1. 01检查仓库文件与项目元数据
  2. 02生成许可证及社区文档
  3. 03创建 GitHub 模板与工作流
  4. 04引导编写 AI 创作记录
  5. 05按条件处理欧盟及德国合规
  6. 06展示差异并验证更改

适用场景

  1. 01为新仓库准备公开发布
  2. 02补齐许可证、NOTICE 或 README 内容
  3. 03记录 AI 辅助工作的创作贡献
  4. 04评估仓库适用的合规事项

安装

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

$npx skills add https://github.com/glebis/claude-skills --skill repo-prep

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

包含的文件

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

assets/github/
dependabot.yml
pull_request_template.md
assets/github/ISSUE_TEMPLATE/
bug_report.md
feature_request.md
assets/github/workflows/
ci-node.yml
ci-python.yml
assets/licenses/
BSD-3-Clause.txt
MIT.txt
assets/templates/
AUTHORSHIP.md
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
NOTICE.txt
profile.example.toml
SECURITY.md
references/
authorship-wizard.md
checklist.md
eu-germany-compliance.md
licenses.md
scripts/
fetch_license.py

详细介绍

仓库准备

以统一的方式,从中央作者资料开始,交互式搭建仓库发布前所需的法律、元数据、社区和合规文件,同时尊重作者针对每个仓库的选择。

适用场景

  • 为新仓库或现有仓库准备 GitHub 发布或开源。
  • 添加缺失的 LICENSE、NOTICE、AUTHORSHIP、README 章节或软件包元数据。
  • 为 AI 辅助创作编写有依据的 AUTHORSHIP 记录(向导)。
  • 添加社区文档或 .github/ 模板。
  • 检查仓库是否需要遵守 欧盟/德国合规义务。

操作原则

  • 交互进行,不做假设。 询问用户的选择(参见下方的提问);尊重作者资料中的 defaults,但要针对每个仓库进行确认。不要不加判断地直接套用模板。
  • 幂等。 检测现有内容;跳过或更新,不要悄无声息地覆盖。写入前先展示计划。
  • 证据优于断言(尤其是作者身份):从仓库中挖掘事实。
  • 确认对外操作(通过 gh 执行的任何操作、推送)后再运行。
  • 遵循用户的 Git 约定——只有在用户要求时才提交。

提问(访谈方式)

如果已安装 cenno,优先使用它——它能提供更好的面板、进度圆点和语音输入(非常适合需要深入思考的作者身份问题)。

  1. 每次运行只检测一次 cenno: 使用 ToolSearch 查找 mcp__cenno__ask_sequence。如果工具可用,就使用 cenno;否则改用 AskUserQuestion(选择题)或普通对话提示(自由文本)。
  2. 使用 cenno 时:
    • 多问题流程(作者身份向导、范围选择)→ 使用 mcp__cenno__ask_sequence,并设置 flow: "question";它会自动填充进度圆点。
    • 单个问题 → 使用 mcp__cenno__ask_user。
    • 选择一项时使用 input.kind: "choice" + choices;是/否问题使用 "confirm"; 需要深入思考的自由文本(Decisions、Judgment、Direction、Art Direction)使用 "voice_text";评分使用 "scale"。
    • 解析返回的 JSON({answers: [...]} / {answer, ...})。处理 {answered: false}(超时)时,重试或回退。
  3. 如果用户想用 cenno,但尚未安装,说明可以通过 cenno 技能进行设置;不要因此停下——平稳地回退到其他方式。

中央作者资料(唯一事实来源)

身份信息、推广链接(“广告”)和默认值都存放在 ~/.config/personal-os/repo-prep/profile.toml 中(可通过 REPO_PREP_PROFILE 覆盖)。

  1. 首次运行时,如果该文件不存在,就将 assets/templates/profile.example.toml 复制到该位置,并引导用户填写(姓名、电子邮件、github、url、推广项目、默认值)。其中已预先填入该作者的信息。
  2. 每次运行开始时都读取该文件,以解析 {{author}}、{{email}}、 {{github}}、推广内容块和默认选项。

工作流

  1. 检测 — 检查代码仓库:清单/生态系统(pyproject.toml、 package.json、Cargo.toml、go.mod)、现有文件、git remote、默认 分支、是否已在 GitHub 上。阅读作者资料。
  2. 确定范围 — 通过 AskUserQuestion 确认要处理哪些组件(core / community / .github / promo / compliance / gh remote)。根据资料中的 defaults 预先填好选项。
  3. 解析占位符 — 按照 references/checklist.md,一次性完成。
  4. 生成 — 为每个选定的组件使用 assets/templates/ 和 assets/github/ 创建文件,并填入占位符。使用 scripts/fetch_license.py 处理 LICENSE。 直接编辑软件包元数据。
  5. 作者身份 — 如果要处理 AUTHORSHIP.md,请运行向导(见下文),不要只 填写模板。
  6. 合规性 — 如果用户提出要求,或作者位于欧盟,请运行 references/eu-germany-compliance.md 中的门控问题,并仅添加适用内容。
  7. gh remote(可选)— 确认后创建/配置代码仓库。
  8. 验证 — 运行测试套件(编辑元数据可能导致构建失败);展示差异;仅在 用户要求时提交。

逐项详细说明、占位符表和生态系统检测: references/checklist.md(生成前请先阅读)。

作者身份向导

这是一项核心功能。要为 AI 辅助创作生成一份经得起审查的 AUTHORSHIP.md, 请阅读并遵循 references/authorship-wizard.md。它会:

  • 先收集外部证据(ADR、git 日志、变更日志、AI 会话日志、 CLAUDE.md/AGENTS.md、设计令牌),并提供草稿供编辑;
  • 先询问司法管辖区,然后围绕五个部分进行访谈——决策、判断的运用、 目标设定与方向、艺术指导、AI 实现;
  • 撰写考虑司法管辖区差异的法律与版权部分(美国的人类作者身份门槛、 欧盟/德国的“自身智力创作”、英国 CGW);
  • 始终声明这不是法律建议。

输出模板:assets/templates/AUTHORSHIP.md。

欧盟/德国合规性

references/eu-germany-compliance.md 涵盖 CRA(SBOM、漏洞报告)、《AI 法案》 第 50 条透明度要求、德国 Impressum(DDG)、GDPR、《产品责任指令》和 EAA。 义务视情况而定——请询问门控问题,并且仅添加适用内容。不是法律建议。

资源

  • assets/licenses/ — 内置 MIT、BSD-3-Clause(可离线使用);其他许可证需获取。
  • assets/templates/ — AUTHORSHIP、CODE_OF_CONDUCT、CONTRIBUTING、SECURITY、 NOTICE、CHANGELOG、profile.example.toml。
  • assets/github/ — PR 和问题模板、dependabot、CI 工作流(python/node)。
  • scripts/fetch_license.py — 为任何 SPDX id 编写一份已填充的 LICENSE。
  • references/ — checklist.md、licenses.md、authorship-wizard.md、 eu-germany-compliance.md。

评论

支持 Markdown