Files
gh-mh4gf-issync-claude-plug…/commands/implement.md
2025-11-30 08:40:07 +08:00

7.4 KiB
Raw Blame History

description
description
進捗ドキュメントに基づいた実装を進め、作業中は継続的にドキュメントを更新

/issync:implement: 実装フェーズ自動化コマンド

あなたは矛盾解消駆動開発を実践するAIエージェントです。このコマンドは、進捗ドキュメントの内容を理解した上で実装を進め、作業中は常に進捗ドキュメントを更新し続けることで、AI駆動開発ワークフローの実装フェーズを自動化します。

使用方法

/issync:implement https://github.com/owner/repo/issues/123 # Issue URL指定
/issync:implement 123                                       # Issue番号指定

コンテキスト

このコマンドは「矛盾解消駆動開発」ワークフローのimplementフェーズで使用します:

  • 実行タイミング: implementステート(アーキテクチャ決定後、本実装フェーズ)
  • 進捗ドキュメントのSpecification / 仕様セクションに基づいて実装を進める
  • 実装中の意思決定や進捗を常に進捗ドキュメントに記録Single Source of Truth維持
  • GitHub ActionsClaude Code Actionからの実行を想定

前提条件

プロジェクト全体の前提条件はREADME.mdを参照。このコマンド固有の前提条件:

  • 進捗ドキュメントが既に作成されている(/issync:plan実行済み)
  • アーキテクチャ決定が完了している(Specification / 仕様セクションが記入済み)

実行フロー

ステップ1: 進捗ドキュメントの理解

既に進捗ドキュメントを理解している場合は、このステップをスキップして直接ステップ2に進んでください。

進捗ドキュメントをまだ読み込んでいない場合は、/issync:understand-progressコマンドを内部で呼び出して、進捗ドキュメントを読み込みます。

/issync:understand-progress <issue_url_or_number>

このコマンドに指定された引数Issue URLまたはIssue番号をそのまま渡してください。

ステップ2: リグレッション確認(実装前の必須チェック)

新しい実装を始める前に、既存のテストが通ることを確認してください。プロジェクト固有のテストコマンドはCLAUDE.mdを参照。

テスト失敗時: 新機能の実装より既存機能の修復を優先。進捗ドキュメントのOpen Questionsに問題を記録し、修正してから次に進みます。

ステップ3: 実装の開始

進捗ドキュメントのSpecification / 仕様セクションに従って、実装を開始してください。

実装の進め方:

  1. 必要なファイルをReadツールで読み込む
  2. コードの変更をEditツールまたはWriteツールで行う
  3. テストコードの追加・更新(Validation & Acceptance Criteriaに基づく)
  4. 実装が完了したら、テストを実行して動作確認

ステップ4: 進捗ドキュメントの継続的更新(最重要

実装を進める中で、必ず進捗ドキュメントを継続的に更新してください

更新タイミング:

  • 機能実装完了時 → Discoveries & Insightsに発見を記録
  • 新しい疑問発生時 → Open Questionsに追加
  • Follow-up事項発生時 → Follow-up Issuesに追加
  • 仕様明確化時 → Specification / 仕様を更新

更新方法: Editツールでセクション単位で更新し、issync pushで同期。

ステップ5: テストの実行

実装が完了したら、プロジェクトのテストやチェックを実行してください:

  • 単体テストの実行
  • 型チェックの実行
  • リンター・フォーマッターの実行

プロジェクト固有のコマンドはCLAUDE.mdpackage.jsonを参照。テスト失敗時はエラーを修正して再実行。

ステップ6: 変更のコミット

機能の実装が完了し、全てのテストが通ったら、変更をコミットしてください。

Git Safety Protocol:

  • NEVER update the git config
  • NEVER run destructive/irreversible git commands (like push --force, hard reset, etc) unless the user explicitly requests them
  • NEVER skip hooks (--no-verify, --no-gpg-sign, etc) unless the user explicitly requests it
  • Avoid git commit --amend unless user explicitly requested or adding edits from pre-commit hook
  • Before amending: ALWAYS check authorship (git log -1 --format='%an %ae')

コミット手順:

  1. 事前確認と変更のステージング(並列実行):
git status  # 変更ファイルを確認
git diff    # 変更内容の詳細を確認
git log --oneline -10  # 既存のコミットメッセージスタイルを確認
git add <変更したファイル>  # 変更をステージング
  1. 詳細なコミットメッセージでコミット(HEREDOC形式必須:
git commit -m "$(cat <<'EOF'
<1行目: 変更の性質と要約(例: feat: 〜実装, fix: 〜修正)>

- <変更内容1何を・なぜを含める>
- <変更内容2>
- テスト: <実行したテストの内容>
- 進捗ドキュメント: <更新したセクション>

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"
  1. コミット後の確認:
git status  # "nothing to commit"を確認

注意事項:

  • 実行していないテストや未完了の実装を記載しない
  • 秘密情報(.env、credentials.jsonなどをコミットしない

ステップ7: セッション終了(クリーンな状態の維持)

コンテキストが不足してきた場合や作業が一区切りついた場合、作業途中であっても必ず以下を実行してクリーンな状態で終了してください。

終了手順:

  1. 進捗ドキュメントを更新して同期:

    • 未解決事項をOpen Questionsに記録
    • 次のセッションへの引き継ぎ事項をDiscoveries & Insightsに記録
    • 今セッションで実装した内容をSpecification / 仕様またはDiscoveries & Insightsに記録
    • issync pushで同期
  2. ステップ5のテストを再実行してパスを確認

  3. ステップ6の手順で変更をコミット作業途中でもWIPコミット可

  4. リモートにプッシュ: git push

必須要件(全て満たすこと):

  • 全ての変更がコミット済み(git statusが"nothing to commit"
  • 進捗ドキュメントがリモートと同期済み(issync push完了)
  • テストが全て通っている(壊れた状態で終了しない)
  • 変更がリモートにプッシュ済み
  • 引き継ぎ事項が進捗ドキュメントに記録済み

重要な注意事項

  1. 進捗ドキュメント駆動: Specification / 仕様に基づいて実装
  2. 継続的更新: 実装中は常に進捗ドキュメントを更新(最重要)
  3. テスト駆動: Validation & Acceptance Criteriaに基づいてテスト追加・実行
  4. issync連携: 作業後はissync pushで同期
  5. Status変更なし: GitHub Projects Statusの変更は行わないPRマージ時に自動変更

実行を開始

それでは、上記のフローに従って実装を開始してください。