mcpField
Z
zr-github-repository

zr-github-repository

github.com/zenon-red开发267 次安装23 周前更新
代码仓库

关于 zr-github-repository

指导从 `zenon-red/nexus-template` 创建 zenon-red 仓库并按项目需求定制,涵盖仓库配置、文档、开发钩子和分支保护。

主要功能

  1. 01从标准模板创建仓库
  2. 02替换模板占位内容
  3. 03配置 CI 和开发钩子
  4. 04定制文档与项目技能
  5. 05设置分支保护
  6. 06按清单跟踪配置进度

适用场景

  1. 01启动新的 zenon-red 仓库
  2. 02按项目需求调整模板设置
  3. 03配置特定技术栈的检查
  4. 04为首次推送准备仓库

安装

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

$npx skills add https://github.com/zenon-red/skills --skill zr-github-repository

安装后在 Claude Code 中输入/zr-github-repository确认已加载。

包含的文件

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

assets/
gitignore
assets/github/
ci.yml
labeler-config.yml
labeler.yml
settings.yml
stale-issues-prs.yml
assets/husky/
commit-msg
pre-commit
pre-push

详细介绍

Zenon-Red 仓库设置

使用标准的 zenon-red 模板创建新仓库,然后根据你的具体项目进行定制。

基于模板的方法

所有 zenon-red 仓库都应使用 GitHub 模板 zenon-red/nexus-template 创建:

gh repo create zenon-red/REPO_NAME --template zenon-red/nexus-template --public

然后克隆并进行定制:

gh repo clone zenon-red/REPO_NAME
cd REPO_NAME

模板创建后的定制

使用模板创建后,请按以下步骤进行定制:

1. 替换占位符

将所有 REPO_NAME 占位符替换为实际的仓库名称:

文件更改内容
README.md将 nexus-template 替换为仓库名称,并更新描述
.github/settings.yml更新 name: 和 description:
docs/setup.md更新对 nexus-template 的引用
skills/REPO_NAME/SKILL.md将文件夹重命名为实际的仓库名称,并更新所有内容
2. 更新 Logo

模板包含占位 Logo .github/nexus-template.png。请将其替换:

  1. 临时: 将 nexus-template.png 重命名为 zr-newborn.png,作为占位图
  2. 最终: 创建实际的 128px PNG Logo,并保存为 .github/{repo-name}.png
  3. 更新 README.md,使其引用正确的 Logo 文件
# Rename placeholder first
git mv .github/nexus-template.png .github/zr-newborn.png
# Update README.md to point to zr-newborn.png temporarily
# Later, replace with actual logo:
git mv .github/zr-newborn.png .github/{repo-name}.png
3. 配置技术栈

填写与你的技术栈相关的 TODO:

文件特定于技术栈的更改
.github/workflows/ci.yml取消注释/配置你的工具链(Node、Rust、Python、Go、Deno)
.husky/pre-commit添加 lint/格式化命令
.husky/pre-push添加测试/构建命令
.github/dependabot.yml取消注释并配置你的包生态系统
.gitignore添加特定于技术栈的模式
4. 更新 CODEOWNERS(如有需要)

默认值为 @zenon-red/zoe。如果需要其他所有者,请进行更改:

# .github/CODEOWNERS
* @zenon-red/team-name
5. 更新文档

移除模板专用文件:

  • docs/setup.md - 此文件仅用于说明如何从模板进行设置,定制完成后请移除

在 docs/ 中创建面向用户的文档:

  • getting-started.md - 安装和入门步骤
  • commands.md - CLI 命令或 API 参考
  • architecture.md - 技术架构概览
  • examples.md - 使用示例

更新 docs/README.md 索引:

  1. 移除指向 setup.md 的链接
  2. 添加指向新项目专用文档的链接
6. 编写仓库专用 Skill

将占位文件 skills/{repo-name}/SKILL.md 替换为实际指南:

  • 技术栈详情
  • 项目架构
  • 开发命令(构建、测试、lint)
  • Agent 专用指南和注意事项
7. 安装依赖并设置钩子
# Install your package manager dependencies
npm install  # or cargo, pip, go mod, etc.

# Initialize husky (if using Node.js)
npx husky init
8. 首次提交
git add .
git commit -m "chore: initial setup from nexus-template"
git push -u origin main
9. 应用分支保护

首次推送到 main 后,通过 API 应用分支保护(免费层级,无需付费的 GitHub Team 计划):

gh api repos/zenon-red/REPO_NAME/branches/main/protection \
  -X PUT \
  -f "enforce_admins=false" \
  -f "required_pull_request_reviews[required_approving_review_count]=0" \
  -f "required_pull_request_reviews[dismiss_stale_reviews]=true" \
  -f "required_pull_request_reviews[require_code_owner_reviews]=true" \
  -f "restrictions=null" \
  -f "allow_force_pushes=false" \
  -f "allow_deletions=false"

这会设置:

  • 禁止强制推送到 main
  • 禁止删除分支
  • 合并前必须创建 PR
  • 必须经过 CODEOWNERS 审核(来自 .github/CODEOWNERS)
  • 新推送会使过期审核失效
  • 管理员可绕过(组织所有者通过 enforce_admins=false 覆盖)

注意: 这里使用的是所有 GitHub 计划均可用的分支保护端点。请勿使用规则集(/repos/.../rulesets)——这需要付费的 GitHub Team 计划。

目标结构(模板创建和定制完成后)

repo/
├── .github/
│   ├── {repo}.png              # Logo (128px) - replace zr-newborn.png placeholder
│   ├── CODEOWNERS             # Code owners (@zenon-red/zoe default)
│   ├── dependabot.yml         # Dependency updates (configure for your stack)
│   ├── labeler.yml            # PR label patterns
│   ├── settings.yml           # Repo settings and labels
│   └── workflows/
│       ├── ci.yml             # Stack-specific CI pipeline
│       ├── labeler.yml        # Auto-label PRs
│       └── stale-issues-prs.yml
├── .husky/
│   ├── commit-msg             # Commit message validation (optional)
│   ├── pre-commit             # Pre-commit checks (lint, format)
│   └── pre-push               # Pre-push checks (test, build)
├── docs/                      # Documentation
│   ├── README.md              # Docs index (remove setup.md link)
│   ├── getting-started.md     # (create as needed)
│   └── ...                    # Other user docs (setup.md removed)
├── skills/
│   └── {repo-name}/
│       └── SKILL.md           # Repo-specific agent guidance
├── src/                       # Source code (create for your stack)
├── .gitignore                 # Stack-specific ignore patterns
├── CONTRIBUTING.md            # Contribution guidelines (can override org)
├── LICENSE                    # MIT license
├── README.md                  # Main project README
└── {config files}             # package.json, Cargo.toml, etc.

特定于技术栈的钩子示例

pre-commit
# TypeScript/JavaScript
npm run lint:staged && npm run typecheck

# Rust
cargo fmt --check && cargo clippy

# Python
ruff check . && mypy .

# Go
go fmt ./... && go vet ./...

# Deno
deno lint && deno check
pre-push
# TypeScript/JavaScript
npm run check:push

# Rust
cargo test && cargo clippy -- -D warnings

# Python
pytest && ruff check .

# Go
go test ./... && go build ./...

# Deno
deno test && deno lint

标签(模板中)

模板在 .github/settings.yml 中包含以下标签:

标签颜色描述
bugd73a4a某项功能无法正常工作
feature0e8a16新功能或请求
task6f42c1计划中的实现工作项
documentation0075ca文档改进
doc0075ca文档更改(PR 标签)
code1d76db源代码更改
dep0366d6依赖项更新
config5319e7配置更改
pinnedfbca04不受过期机器人处理的影响

注意: 请勿移除 task 标签——组织级问题模板会用到它。

组织级继承文件

如果以下文件不存在,则会从 zenon-red/.github/ 继承:

文件是否继承?说明
PULL_REQUEST_TEMPLATE.md✅ 是组织级 PR 模板
.github/ISSUE_TEMPLATE/*✅ 是Bug、功能、任务和文档表单
CONTRIBUTING.md✅ 是(回退方案)模板中包含副本;也可覆盖

检查清单

完成设置前,请确认:

  • 从 zenon-red/nexus-template 创建了仓库
  • 已在 README.md 中更新实际项目名称和描述
  • .github/settings.yml 中的名称和描述正确
  • Logo 已从 nexus-template.png 重命名为 zr-newborn.png(临时名称),或已替换为实际 Logo
  • 已更新 README.md 中的 Logo 引用
  • 已重命名并自定义 skills/{repo}/SKILL.md
  • 已根据包生态系统配置 .github/dependabot.yml
  • 已根据技术栈配置 .github/workflows/ci.yml
  • .husky/pre-commit 中包含适当的 lint/format 命令
  • .husky/pre-push 中包含适当的 test/build 命令
  • .gitignore 中包含特定于技术栈的匹配规则
  • 已移除 docs/setup.md(模板专用)
  • 已创建 docs/getting-started.md 或同等文件
  • 已安装依赖项,并配置 package.json/Cargo.toml/等文件
  • 已将首次提交推送到 main
  • 已应用分支保护(通过 API,而非规则集)
  • 已处理或移除文件中的所有 TODO 注释

重要说明

  • 切勿从头创建仓库;始终使用 --template zenon-red/nexus-template
  • 务必保留 task 标签;组织问题模板需要此标签
  • 务必确认 husky 钩子具有可执行权限:chmod +x .husky/*
  • 首次推送后,Probot Settings 机器人会同步标签和仓库设置

评论

支持 Markdown