github-release について
プロジェクトの公開前チェックとGitHubリリースを支援するスキルです。`gh`、`gitleaks`、Gitリモートを設定済みのメンテナー向けに、確認作業とタグ付け・公開を段階的に案内します。
主な機能
- 01リポジトリ内の秘密情報をスキャン
- 02個人的な作業ファイルを確認・削除
- 03ライセンス、README、除外ルールを検証
- 04ビルドと依存関係の監査を実行
- 05バージョンタグを作成して変更をプッシュ
- 06GitHubリリースを作成
活用シーン
- 01公開前にリポジトリの機密情報を点検
- 02プロジェクトを整えリリース要件を確認
- 03バージョンにタグを付けGitHubで公開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jezweb/ claude-skills --skill github-releaseインストール後、Claude Code で/github-releaseを入力して読み込まれたか確認します。
同梱ファイルreferences/release-workflow.mdreferences/safety-checklist.md
詳細
GitHub リリース
プロジェクトをサニタイズして GitHub にリリースします。2 段階のワークフローです。まず安全性を確認し、その後タグを付けて公開します。
前提条件
ghCLI がインストールされ、認証済みであること(gh auth status)- シークレットのスキャン用に
gitleaksがインストールされていること(brew install gitleaksまたは GitHub からダウンロード) - リモートが設定された Git リポジトリ
ワークフロー
フェーズ 1:サニタイズ
公開リリースの前に、以下のチェックを実行してください。問題が見つかった場合は中止します。
1. シークレットをスキャンする(ブロッカー)
gitleaks detect --no-git --source=. --verbose
シークレットが見つかった場合:中止してください。シークレットを削除し、環境変数に移してください。git log -S "secret_value" で Git 履歴を確認します。履歴に含まれている場合は、BFG Repo-Cleaner を使用してください。
gitleaks がインストールされていない場合は、手動で確認します。
# Check for .env files
find . -name ".env*" -not -path "*/node_modules/*"
# Check config files for hardcoded secrets
grep -ri "api_key\|token\|secret\|password" wrangler.toml wrangler.jsonc .dev.vars 2>/dev/null
2. 個人的なファイルを削除する
公開すべきでないセッション/計画ファイルがないか確認し、削除します。
SESSION.md— セッション状態planning/、screenshots/— 作業ディレクトリtest-*.ts、test-*.js— ローカルテストファイル
削除するか、.gitignore に追加してください。
3. LICENSE を検証する
ls LICENSE LICENSE.md LICENSE.txt 2>/dev/null
存在しない場合は作成してください。リポジトリの公開設定を確認します(gh repo view --json visibility -q '.visibility')。公開リポジトリには MIT を使用してください。非公開リポジトリの場合は、代わりに独自ライセンスを検討してください。
4. README を検証する
README が存在し、基本的なセクションが含まれていることを確認します。
grep -i "## Install\|## Usage\|## License" README.md
セクションが不足している場合は、リリース前に追加してください。
5. .gitignore を確認する
必須のパターンが含まれていることを確認します。
grep -E "node_modules|\.env|dist/|\.dev\.vars" .gitignore
6. ビルドテスト(ブロッカーではありません)
npm run build 2>&1
7. 依存関係の監査(ブロッカーではありません)
npm audit --audit-level=high
8. サニタイズのコミットを作成する
サニタイズ中に変更を加えた場合:
git add -A
git commit -m "chore: prepare for release"
フェーズ 2:リリース
1. バージョンを決定する
現在のバージョンを package.json で確認するか、ユーザーに確認します。バージョンの先頭に v が付いていることを確認してください。
2. タグが存在しないことを確認する
git tag -l "v[version]"
すでに存在する場合は、削除して作り直すか、別のバージョンを使用するかをユーザーに確認してください。
3. リリース内容を表示する
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [ -z "$LAST_TAG" ]; then
git log --oneline --no-merges HEAD | head -20
else
git log --oneline --no-merges ${LAST_TAG}..HEAD
fi
4. タグを作成してプッシュする
git tag -a v[version] -m "Release v[version]"
git push origin $(git branch --show-current)
git push origin --tags
5. GitHub リリースを作成する
gh release create v[version] \
--title "Release v[version]" \
--notes "[auto-generated from commits]"
プレリリースには --prerelease を追加します。ドラフトには --draft を追加します。
6. 報告する
ユーザーに以下を提示します。
- リリース URL
- 次の手順(該当する場合は npm publish、告知)
参照ファイル
| 内容 | 読み込むファイル |
|---|---|
| 詳細な安全性チェック | references/safety-checklist.md |
| リリースの手順 | references/release-workflow.md |