eliteforge-git-specification について
EliteForge Git Governance は、璀璨工坊规范 または eliteforge specification に従うと明示されたプロジェクト向けの Git スキルです。ブランチとマージリクエストのゲートを適用し、スクリプトを優先して、コマンドと確認結果を定型形式で報告します。
主な機能
- 01プロジェクトでの明示的な宣言が必要
- 02コード変更前のブランチ確認
- 03状況に応じた Git タスク処理
- 04マージ、整理、ブランチ操作用スクリプト
- 05規約とマージリクエストの構造化報告
活用シーン
- 01コード編集前のブランチ適合性確認
- 02プロジェクトブランチのマージや整理
- 03チーム規約に沿ったコミットとマージリクエストの準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cloudsen/ eliteforge-skills --skill eliteforge-git-specificationインストール後、Claude Code で/eliteforge-git-specificationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/git-governance-reference.mdscripts/auto_mergecheck_mergedelete_local_branchesdelete_merged_branchesgit_change_summary.shrename_git_branchuser_code.sh詳細
EliteForge Git ガバナンス
発動条件
ユーザーが現在のプロジェクトで 璀璨工坊规范 または eliteforge specification に従うと明示した場合に限り、このスキルを使用します。プロジェクト単位でそのように宣言されていない場合は、このスキルを有効にせず、汎用的な機能で対応します。
目標
Git 操作のタスクでは、標準化された操作を行うため、まず組み込みスクリプトを呼び出します。スクリプトで対応できない場合に限り、ネイティブコマンドを出力します。ブランチ戦略、コミット規約、MR ゲートが常にチームのルールに一致するようにします。 「コードの変更が必要」なタスクでは、ブランチゲートを満たしてからでなければ、ファイルを編集できません。
実行原則
-
ブランチの事前ゲート(必須)
まずブランチをチェックします。ブランチ名が誤っている場合、またはローカル品質ゲートに合格していない場合は、コードの変更とコミットを禁止します。 -
シナリオの特定
最初に、正常迭代、热修、分支整理、提交/MR 合规、统计分析のどれに該当するかを判断します。 -
スクリプトディレクトリの特定(必須)
現在のリポジトリにscripts/があると想定しないでください。まずスキル自身のディレクトリ内にあるスクリプトを特定してから呼び出します。
ELITEFORGE_GIT_SCRIPTS=""
for root in "$PWD" "${SKILLS_HOME:-}" "$HOME"; do
[ -n "$root" ] || continue
found="$(find "$root" -type d -path '*/eliteforge-git-specification/scripts' 2>/dev/null | head -n 1)"
if [ -n "$found" ]; then
ELITEFORGE_GIT_SCRIPTS="$found"
break
fi
done
[ -n "$ELITEFORGE_GIT_SCRIPTS" ] || { echo "Cannot locate eliteforge-git-specification/scripts." >&2; exit 1; }
-
スクリプトを優先
スクリプトが該当する機能に対応している場合は、スクリプトの呼び出しを優先し、長いコマンド列を手作業で繰り返し記述しません。 -
厳格なゲート
ブランチの前提条件、squash の要否、MR/パイプラインの状態、リリース経路を常にチェックします。 -
構造化された出力
出力内容は、結論、ブランチゲートのチェック、コマンド列、リスクとゲート、コミット/MR の文案に固定します。 -
workflow を厳格に実行します。
スクリプトの対応関係(優先して使用)
-
バージョンブランチを自動で取得してマージ
bash "$ELITEFORGE_GIT_SCRIPTS/auto_merge" [--ff-only | --merge | --rebase]
用途:qa/<version>またはrelease/<version>ブランチ上で、対応するfeature/<version>/およびbugfix/<version>/の変更を一括でマージします。 -
指定したバージョンブランチのマージ状態を確認
bash "$ELITEFORGE_GIT_SCRIPTS/check_merge" <version> <branch>
用途:feature/<version>とbugfix/<version>がターゲットブランチ(releaseやqaなど)にマージ済みかを確認します。 -
ローカルブランチを整理
bash "$ELITEFORGE_GIT_SCRIPTS/delete_local_branches"
用途:master/main以外のローカルブランチを削除します。 -
マージ済みのリモートブランチを整理
bash "$ELITEFORGE_GIT_SCRIPTS/delete_merged_branches" <version>
用途:release/<version>上で、マージ済みのfeature/<version>ブランチを特定して削除します。
注意:このスクリプトは対話形式の確認を含みます。 -
ブランチ名を変更
bash "$ELITEFORGE_GIT_SCRIPTS/rename_git_branch" <old-branch> <new-branch>
用途:ローカルブランチの名前を変更し、リモートと同期します。 -
変更概要を生成
bash "$ELITEFORGE_GIT_SCRIPTS/git_change_summary.sh"
用途:master..HEADとの差分の変更概要を出力します(style/build/testは除外)。 -
作成者ごとのコード量を集計
bash "$ELITEFORGE_GIT_SCRIPTS/user_code.sh" <base_dir> '<author1|author2|...>' <YYYY-MM-DD>
用途:作成者と開始日を指定し、複数のリポジトリの追加・削除・変更行数を集計します。
強制制約
- 1 つの要件につき 1 つの feature ブランチを使用します。
- コードを変更する前に、準拠した開発ブランチにいることを確認してください。
master/main/nightly/qa/release上での直接開発は禁止です。 featureの QA 提出にはマージリクエストを使用します。結合テストはnightlyに直接マージして行います。featureをreleaseにマージする前に、squash して単一のコミットにします。releaseをmasterにマージする際は、git merge --ff-onlyを使用します。hotfixは、現場で作業を妨げる問題に限り使用します。- コミット形式:
<type>(<scope>): <subject>。 - 最終 MR の前に必ず squash します。MR タイトルは squash 後のコミットと一致させます。
.gitlab/merge_request_templates/default.mdを使用し、セルフチェックを完了します。
参考資料
- 完全な規範、例、workflow が必要な場合は、
references/git-governance-reference.mdを読み込みます。