mcpField
W
working-with-graphite

working-with-graphite

github.com/neekolas開発138 回インストール32 週間前に更新
リポジトリ

working-with-graphite について

Graphiteでコード変更を管理するコーディングエージェント向けのスキルです。ブランチ、コミット、スタックの更新、PRの手順を定め、メタデータを保つための`gt`コマンド利用と、許可のないブランチ作成やPR送信の制限を重視します。

主な機能

  1. 01Graphiteのブランチとスタック規則
  2. 02コミットと変更修正の手順
  3. 03PR送信と承認のルール
  4. 04コンフリクトの解決手順
  5. 05スタック途中のブランチ更新

活用シーン

  1. 01スタックしたブランチでの作業計画
  2. 02Graphiteスタック内の既存ブランチ編集
  3. 03定められた手順でのPR更新と送信
  4. 04同期やrestack中のコンフリクト解決

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/neekolas/claude-skills --skill working-with-graphite

インストール後、Claude Code で/working-with-graphiteを入力して読み込まれたか確認します。

詳細

Graphite を使った作業

基本原則

  1. main にコミットしないでください すべてのコミットはフィーチャーブランチ上で行う必要があります
  2. 依頼されない限りブランチを作成しないでください 明示的に依頼されない限り、新しいブランチを作成しないでください。
  3. 生の Git rebase は絶対に使用しないでください -- スタックのメタデータを保持するため、常に gt コマンドを使用してください
  4. コミット時には、必ず Claude を共同作成者として設定してください

ブランチ戦略

  • 計画を作成するときは、各作業単位で想定されるブランチを記載してください
  • 500 LOC を超える作業は複数のブランチに分割し、互いにスタックしてください
  • 論理的な順序でブランチをスタックし、各ブランチには独立した機能を含めてください。
  • 各ブランチは、すべての lint、チェック、テストの評価に合格できる必要があります

コードのコミット

  • git コマンドを使って、変更の影響を受けるファイルを手動でステージしてください。すべての変更を自動的にステージする -a フラグは使用しないでください。
  • 新機能の場合は、gt modify --commit -m "description of the change" を使ってコミットを作成してください
  • 既存機能の変更やバグ修正の場合は、gt modify を使ってコミットを修正してください

変更の提出

  • タスクが完了したら、必ず gt restack を実行し、影響を受ける上位スタックのブランチが引き続き有効であること(lint チェックに合格すること)を確認してください
  • タスクが完了したら、gt submit --stack --update-only を使用してください
  • 変更が重要な場合は、既存の PR の説明を読み、変更内容を反映してください。重要なコンテキストが失われるような上書きはしないでください。
  • PR の説明への変更は、ユーザーに提示して承認を得てください

PR の作成

  • 新しい PR を提出できるのは、ユーザーから明示的な同意があった場合のみです。
  • gt submit --draft を使って PR を作成してください。新しい PR は必ずドラフトとして提出してください。
  • PR の提出後、詳細な PR の説明を作成し、gh ツールを使って提出してください
  • PR の説明を提出する前に、ユーザーの承認を得てください

コンフリクトへの対処

gt sync、gt restack、gt modify の実行中にコンフリクトが発生した場合:

  1. 影響を受けるファイルのコンフリクトを解決します
  2. 解決したファイルをステージします:git add <files>
  3. 続行します:gt continue または gt continue --all

ワークフロー:スタック途中のブランチを更新する

  1. gt checkout <target-branch>
  2. 編集します
  3. gt modify -a(コミットを修正し、上位スタックを再スタックします)
  4. gt submit --stack --update-only --no-interactive(更新されたすべてのブランチをプッシュします)

よくある落とし穴

  • git rebase -i は絶対に使用しないでください -- Graphite のメタデータが壊れます。代わりに gt move を使用してください。
  • git branch -d は絶対に使用しないでください -- メタデータを保持するため、gt delete を使用してください。
  • git commit --amend は絶対に使用しないでください -- 再スタックも行う gt modify -a を使用してください。
  • gt rename は PR のリンクを壊します -- 既存の PR があるブランチの名前変更は避けてください。
  • スカッシュマージは連鎖的なコンフリクトを引き起こします -- gt sync と gt restack で解決できます。

コメント