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. 03CI と開発フックを設定
  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.mdnexus-template をリポジトリ名に置き換え、説明を更新
.github/settings.ymlname: と description: を更新
docs/setup.mdnexus-template への参照を更新
skills/REPO_NAME/SKILL.mdフォルダー名を実際のリポジトリ名に変更し、内容をすべて更新
2. ロゴを更新する

テンプレートにはプレースホルダーのロゴ .github/nexus-template.png が含まれています。これを置き換えます。

  1. 一時的な対応: プレースホルダーとして nexus-template.png を zr-newborn.png に名前変更します
  2. 最終対応: 実際の 128px PNG ロゴを作成し、.github/{repo-name}.png として保存します
  3. README.md を更新し、正しいロゴファイルを参照します
# 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-commitlint/format コマンドを追加します
.husky/pre-pushtest/build コマンドを追加します
.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. リポジトリ固有のスキルを作成する

プレースホルダーの skills/{repo-name}/SKILL.md を、実際のガイダンスに置き換えます。

  • 技術スタックの詳細
  • プロジェクトのアーキテクチャ
  • 開発コマンド(build、test、lint)
  • エージェント固有のガイドラインと注意点
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 への最初の push の後、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 への強制 push を禁止します
  • ブランチの削除を禁止します
  • マージ前に PR を必須にします
  • CODEOWNERS によるレビューを必須にします(.github/CODEOWNERS から取得)
  • 新しい push があると、古いレビューを却下します
  • 管理者によるバイパスを許可します(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設定の変更
pinnedfbca04stale bot の対象外

注: 組織レベルの issue テンプレートで使用するため、task ラベルは削除しないでください。

組織レベルで継承されるファイル

以下のファイルは、存在しない場合に zenon-red/.github/ から継承されます。

ファイル継承される?備考
PULL_REQUEST_TEMPLATE.md✅ はい組織レベルの PR テンプレート
.github/ISSUE_TEMPLATE/*✅ はいバグ、機能、タスク、ドキュメントのフォーム
CONTRIBUTING.md✅ はい(フォールバック)テンプレートにコピーが含まれています。上書きできます

チェックリスト

セットアップを完了とする前に、以下を確認してください。

  • zenon-red/nexus-template からリポジトリを作成した
  • README.md を実際のプロジェクト名と説明に更新した
  • .github/settings.yml に正しい名前と説明が設定されている
  • ロゴの名前を nexus-template.png から zr-newborn.png(一時)に変更した、または実際のロゴに置き換えた
  • README.md のロゴ参照を更新した
  • 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 ラベルを維持してください。組織の issue テンプレートで必須です
  • 必ず husky フックが実行可能であることを確認してください:chmod +x .husky/*
  • Probot Settings ボットは、最初のプッシュ後にラベルとリポジトリ設定を同期します

コメント