7.4 KiB
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 Actions(Claude 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 / 仕様セクションに従って、実装を開始してください。
実装の進め方:
- 必要なファイルをReadツールで読み込む
- コードの変更をEditツールまたはWriteツールで行う
- テストコードの追加・更新(
Validation & Acceptance Criteriaに基づく) - 実装が完了したら、テストを実行して動作確認
ステップ4: 進捗ドキュメントの継続的更新(最重要)
実装を進める中で、必ず進捗ドキュメントを継続的に更新してください。
更新タイミング:
- 機能実装完了時 →
Discoveries & Insightsに発見を記録 - 新しい疑問発生時 →
Open Questionsに追加 - Follow-up事項発生時 →
Follow-up Issuesに追加 - 仕様明確化時 →
Specification / 仕様を更新
更新方法: Editツールでセクション単位で更新し、issync pushで同期。
ステップ5: テストの実行
実装が完了したら、プロジェクトのテストやチェックを実行してください:
- 単体テストの実行
- 型チェックの実行
- リンター・フォーマッターの実行
プロジェクト固有のコマンドはCLAUDE.mdやpackage.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')
コミット手順:
- 事前確認と変更のステージング(並列実行):
git status # 変更ファイルを確認
git diff # 変更内容の詳細を確認
git log --oneline -10 # 既存のコミットメッセージスタイルを確認
git add <変更したファイル> # 変更をステージング
- 詳細なコミットメッセージでコミット(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
)"
- コミット後の確認:
git status # "nothing to commit"を確認
注意事項:
- 実行していないテストや未完了の実装を記載しない
- 秘密情報(.env、credentials.jsonなど)をコミットしない
ステップ7: セッション終了(クリーンな状態の維持)
コンテキストが不足してきた場合や作業が一区切りついた場合、作業途中であっても必ず以下を実行してクリーンな状態で終了してください。
終了手順:
-
進捗ドキュメントを更新して同期:
- 未解決事項を
Open Questionsに記録 - 次のセッションへの引き継ぎ事項を
Discoveries & Insightsに記録 - 今セッションで実装した内容を
Specification / 仕様またはDiscoveries & Insightsに記録 issync pushで同期
- 未解決事項を
-
ステップ5のテストを再実行してパスを確認
-
ステップ6の手順で変更をコミット(作業途中でもWIPコミット可)
-
リモートにプッシュ:
git push
必須要件(全て満たすこと):
- ✅ 全ての変更がコミット済み(
git statusが"nothing to commit") - ✅ 進捗ドキュメントがリモートと同期済み(
issync push完了) - ✅ テストが全て通っている(壊れた状態で終了しない)
- ✅ 変更がリモートにプッシュ済み
- ✅ 引き継ぎ事項が進捗ドキュメントに記録済み
重要な注意事項
- 進捗ドキュメント駆動:
Specification / 仕様に基づいて実装 - 継続的更新: 実装中は常に進捗ドキュメントを更新(最重要)
- テスト駆動:
Validation & Acceptance Criteriaに基づいてテスト追加・実行 - issync連携: 作業後は
issync pushで同期 - Status変更なし: GitHub Projects Statusの変更は行わない(PRマージ時に自動変更)
実行を開始
それでは、上記のフローに従って実装を開始してください。