CursorとClaude Codeを組み合わせた個人的おすすめAI駆動開発の手順

CursorとClaude Codeを組み合わせた個人的おすすめAI駆動開発の手順

2025.11.03

こんちには。

データ事業本部 インテグレーション部 機械学習チームの中村( @nokomoro3 )です。

今回は、CursorとClaude Codeを組み合わせた個人的おすすめAI駆動開発の手順をご紹介します。

全体像

全体像は以下の通りとなります。

  • 要求整理フロー
    • issue作成(Claude Code / Sonnet 4.5 / カスタムコマンド)
  • 初版作成フロー
    • ブランチを作成(Claude Code / Sonnet 4.5 / カスタムコマンド)
    • Planを作成(Cursor / Sonnet 4.5 / Planモード)
    • Planを元にBuildを実行(Cursor / Composer 1 / Build)
    • デプロイ・動作確認(手動)
    • コミット作成(Claude Code / Sonnet 4.5 / カスタムコマンド)
    • プルリクエスト作成(Claude Code / Sonnet 4.5 / カスタムコマンド)
  • レビュー対応フロー
    • プルリクエストのレビュー(Claude Code / Sonnet 4.5 / カスタムコマンド)
    • レビュー対応のためのPlanを作成(Cursor / Sonnet 4.5 / Planモード)
    • Planを元にBuildを実行(Cursor / Composer 1 / build)
    • 再デプロイ・動作確認(手動)
    • コミット作成(Claude Code / Sonnet 4.5 / カスタムコマンド)
    • 再レビュー(Claude Code / Sonnet 4.5 / カスタムコマンド)
    • (以降繰り返し)

要求整理フロー

要求整理フローは現状単純にissueを作成するだけとしています。

issue作成

カスタムコマンドを使うので、以下のように定義をしておきます。

~/.claude/commands/github/issue-from-request.md
ユーザから要求された「$ARGUMENTS」に対して以下の手順で課題を作成します。

- GitHub CLIでまずはissueを作成する

## 手順詳細

### GitHub CLIでまずはissueを作成する

issueの内容は日本語で書いてください。

## その他

想定外の作業が発生したり、エラーが見つかった場合はユーザに相談してください。

なおissueの内容にClaude Codeによるものであることがわかる署名は不要です。

例えば以下のようにして使います。

> /github:issue-from-request is running… "特定のURLが要約処理失敗になった場合に、結果に含まれないためステータスが処理中のままとなるバグの修正" 

⏺ GitHub issueを作成します。まず、現在のリポジトリ情報を確認してから、適切なissueを作成します。

⏺ Bash(gh repo view --json nameWithOwner,name,owner -q '.nameWithOwner')
  ⎿  cm-nakamura-shogo/summarizer

⏺ Bash(gh issue create --title "特定のURLが要約処理失敗になった場合に、結果に含まれないためステータスが処理中のままとなるバグの修正" --body "## 問題の概要…)
  ⎿  https://github.com/cm-nakamura-shogo/summarizer/issues/56

⏺ GitHub issueを作成しました!

  作成されたissue:
  - URL: https://github.com/cm-nakamura-shogo/summarizer/issues/56
  - タイトル: 特定のURLが要約処理失敗になった場合に、結果に含まれないためステータスが処理中のままとなるバグの修正

  issue内容:
  - 問題の概要と現在の動作を説明
  - 期待される動作を明記
  - 影響範囲を記載
  - 2つの修正案を提示(complete-batch APIでの検出、Proxy側での失敗記録)
  - 関連ファイルをリスト化

  このissueは、バッチ処理で一部のURLが失敗した場合に、そのステータスがprocessingのまま残る問題に対処するためのものです。

これでGitHubにissueが作成されます。

初版作成フロー

ブランチ作成

実装をしようと思い立ったら、issue番号を指定してまず作業ブランチを作成します。

ブランチ作成にはカスタムコマンドを用います。

~/.claude/commands/github/branch-create.md
指定されたissue番号 $ARGUMENTS に対して以下を実施します

- 適切なブランチ名を作成
- checkout
- リモートにブランチをpush

## 手順詳細

### 適切なブランチ名を考える

ブランチ名については、以下のルールで行なってください。

- 機能追加の場合: feature/{issue番号}-{課題の内容を表す英語名}
- バグ修正の場合: fix/{issue番号}-{課題の内容を表す英語名}

## その他

想定外の作業が発生したり、エラーが見つかった場合はユーザに相談してください。

例えば以下のようにして使用します。

> /github:branch-create is running… 56 

⏺ I'll help you create and set up a branch for issue #56. Let me first check what issue #56 is about.

⏺ Bash(gh issue view 56)
  ⎿  title:     特定のURLが要約処理失敗になった場合に、結果に含まれないためステータスが処理中のままとなるバグの修正
     state:     OPEN
     author:    cm-nakamura-shogo
     … +69 lines (ctrl+o to expand)

⏺ This is a bug fix issue about handling failed URLs in batch processing. Based on the issue content, I'll create a fix branch.

⏺ Bash(git checkout -b fix/56-batch-processing-failed-url-status)
  ⎿  Switched to a new branch 'fix/56-batch-processing-failed-url-status'

⏺ Bash(git push -u origin fix/56-batch-processing-failed-url-status)
  ⎿  branch 'fix/56-batch-processing-failed-url-status' set up to track 'origin/fix/56-batch-processing-failed-url-status'.
     remote:
     remote: Create a pull request for 'fix/56-batch-processing-failed-url-status' on GitHub by visiting:
     … +4 lines (ctrl+o to expand)

⏺ 完了しました。以下の作業を実施しました:

  1. ブランチ名を作成: fix/56-batch-processing-failed-url-status
    - issue #56がバッチ処理で失敗したURLのステータスが更新されない問題であるため、fix/プレフィックスを使用
  2. ブランチを作成してチェックアウト: git checkout -bでローカルブランチを作成し、そのブランチに切り替え
  3. リモートにプッシュ: git push -u originでリモートリポジトリにブランチをプッシュし、追跡設定も完了

  現在、fix/56-batch-processing-failed-url-statusブランチで作業できる状態です。

Planを作成

次にissueを元にCursorのPlanモードで実装計画を立てます。この際モデルはSonnet 4.5を使用しています。

Pasted image 20251103001746

CursorのPlanモードでは、以下のように不明点があるとユーザにいくつか質問を返してくるので、回答をします。

Pasted image 20251103002251

不明点が解消されると、Planの作成が実行されます。

Pasted image 20251103003029

Planを元にBuildを実行

Planの作成が終わったら、Composer 1を用いてBuildを実行します。Composer 1はとても高速なので、コーディングはこちらに実施させています。

Pasted image 20251103003044

デプロイ・動作確認

実装後は手動で動作確認をします。また以下のようなコマンドは、基本的には手動で実行しています。

  • インフラのデプロイ(例: terraform apply
  • DBのマイグレーション(例: pnpm drizzle-kit generate
  • コンテナイメージのビルド&プッシュ

変更された箇所に応じて、上記を実行して動作確認をします。

動作確認の結果、問題があればAgentモードでSonnet 4.5を使って修正をします。

コミット作成

コミットを作成するために、ステージをします。

Pasted image 20251103090952

そしてステージを元にcommitメッセージを作成する以下のカスタムコマンドを実行します。

~/.claude/commands/github/commit-single.md
今ステージングされている差分について、commitメッセージを考えてcommit作成までを行います。

commitメッセージは日本語を使います。

メッセージ形式は、Conventional Commitに基づいたものを使用してください。

リモートへのpushは行わない様にしてください。(ユーザ自身にpushさせるように促します)

なおコミットメッセージにClaude Codeによるものであることがわかる署名は不要です。

例えば以下のようにして使用します。

> /github:commit-single is running… 

⏺ 現在のステージング状態を確認して、適切なコミットメッセージを作成します。

⏺ Bash(git status)
  ⎿  On branch fix/56-batch-processing-failed-url-status                               
     Your branch is up to date with 'origin/fix/56-batch-processing-failed-url-status'.
     … +14 lines (ctrl+o to expand)

⏺ Bash(git diff --cached)
  ⎿  diff --git a/job/batch_entrypoint.py b/job/batch_entrypoint.py
     index 22c7eeb..8af232e 100644
     --- a/job/batch_entrypoint.py
     … +729 lines (ctrl+o to expand)

⏺ Bash(git log --oneline -10)
  ⎿ b55cf97 Merge pull request #55 from cm-nakamura-shogo/feature/52-async-job-execution-with-
    polling
    1c59501 fix: 記事ID生成をnanoidからUUIDv4に統一
    … +10 lines (ctrl+o to expand)

⏺ 変更内容を確認しました。これはバッチ処理でのエラーハンドリング機能の実装で、Issue
  #56に関連しているようです。以下の主要な変更が含まれています:

  1. バッチ処理のエラー情報の収集と保存
  2. エラー情報をGCSにアップロード(errors.jsonl)
  3. Webアプリ側でのエラー表示機能の追加
  4. 失敗したURLのステータス管理

  Conversational Commit形式で日本語のコミットメッセージを作成します:

⏺ Bash(git commit -m "fix: バッチ処理での失敗URL処理とエラー表示機能の実装 (#56)…)
  ⎿  [fix/56-batch-processing-failed-url-status 9d2b93e] fix:   
     バッチ処理での失敗URL処理とエラー表示機能の実装 (#56)
      12 files changed, 301 insertions(+), 40 deletions(-)
      create mode 100644 web/drizzle/0002_curly_tomorrow_man.sql

⏺ コミットが正常に完成しました。

  コミットメッセージには以下の内容を含めました:
  - fix: 問題修正を示すプレフィックス
  - Issue番号 (#56) の参照
  - 解決する問題の背景説明
  - 実装した主要な変更の詳細
  - ユーザーにとっての価値

  リモートへのpushが必要な場合は、以下のコマンドを実行してください:

  git push origin fix/56-batch-processing-failed-url-status

リモートへのpushは手動で実施します。

プルリクエスト作成

プルリクエストの作成も以下のカスタムコマンドで実行します。

~/.claude/commands/github/pull-request-create.md
現在のブランチを $ARGMENTS ブランチにマージするためのPRを作成します。

ただし、現在のブランチに紐づくissueを確認して、未対応の部分や差分がある場合は、ユーザ側にどちらを正とするか判断を仰いで、以下に従ってください

- issueが正の場合、実装や変更すべき部分を対応します。
- コードが正の場合、issueを更新します。

上記を終えた後、PR作成をします。

PRの本文は日本語で作成してください。

## その他

想定外の作業が発生したり、エラーが見つかった場合はユーザに相談してください。

なおissueの内容にClaude Codeによるものであることがわかる署名は不要です。

例えば以下のようにして使用します。

> /github:pull-request-create is running… 13 

⏺ 現在のブランチ fix/56-batch-processing-failed-url-status を元に、PR作成の準備を進めます。

  まず、以下の情報を確認します:
  1. 現在のブランチに紐づくissueの内容
  2. 現在の実装内容との差分確認
  3. マージ先のブランチ情報

⏺ Bash(gh issue view 56 --json title,body,state)
  ⎿ {                                                                                         
      "body": "## 問題の概要\n\nバッチ処理において、特定のURLが要約処理に失敗した場合、GCS結果
    にそのURLが含まれないため、対応する記事のステータスが`proc
    essing`のまま更新されないという問題があります。\n\n## 現在の動作\n\n1.
    ユーザーが複数のURLをバッチ処理に送信\n2. 一部のURLで要約処理が失敗\n3.
    … +18 lines (ctrl+o to expand)

⏺ Bash(gh issue view 13 --json title,body,state)
  ⎿ {                                                                                         
      "body": "## 概要\n既存のPythonバッチ処理システムからCloudflare
    Workers/Pages/D1ベースのWebアプリケーションへの移行を行う。ハイ
    ブリッドアーキテクチャ(Cloudflare + 外部Python
    API)を採用し、段階的な実装を進める。\n\n## 全体スケジュール\n- **総見積もり**: 14-20日
    … +16 lines (ctrl+o to expand)

⏺ Bash(git log --oneline -10)
  ⎿ 9d2b93e fix: バッチ処理での失敗URL処理とエラー表示機能の実装 (#56)                        
    b55cf97 Merge pull request #55 from cm-nakamura-shogo/feature/52-async-job-execution-with-
    polling
    … +10 lines (ctrl+o to expand)

⏺ Bash(git branch -r)
  ⎿    origin/develop                                  
       origin/feature/13-webapp-migration
       origin/fix/56-batch-processing-failed-url-status
     … +14 lines (ctrl+o to expand)

⏺ 現在の状況を確認できました:

  - 現在のブランチ: fix/56-batch-processing-failed-url-status
  - 関連issue: #56(バッチ処理失敗URL処理の修正)
  - 最新コミット: 9d2b93e で既に#56の対応が完了している
  - マージ先: 引数の13はissue #13を指しており、これは親タスク「Webアプリケーション化」です

  次に、現在の実装がissue #56の要件を満たしているか確認します:

⏺ Bash(git diff origin/feature/13-webapp-migration...HEAD --stat)
  ⎿   job/batch_entrypoint.py                            | 21 +++++-                
      job/batch_for_text.py                              | 85 +++++++++++++++++-----
      proxy/main.py                                      | 49 ++++++++++---
     … +10 lines (ctrl+o to expand)

⏺ Read(web/app/routes/api.articles.complete-batch.$correlationId.ts)
  ⎿  Read 283 lines

⏺ 実装内容を確認しました。次に、issue #56の要件と実装の整合性を確認します:

⏺ Read(web/app/lib/batch-result-parser.ts)
  ⎿  Read 208 lines

⏺ Read(web/functions/scheduled.ts)
  ⎿  Read 326 lines

⏺ 実装内容を確認しました。次に、Python側の実装とスキーマの変更も確認します:

⏺ Read(web/app/db/schema.ts)
  ⎿  Read 109 lines

⏺ Bash(git log --oneline --decorate --graph -10)
  ⎿ * 9d2b93e (HEAD -> fix/56-batch-processing-failed-url-status) fix:                        
    バッチ処理での失敗URL処理とエラー表示機能の
    実装 (#56)
    *   b55cf97 (origin/fix/56-batch-processing-failed-url-status, origin/feature/13-webapp-mi
    … +17 lines (ctrl+o to expand)

⏺ 現在の状況を整理します。現在のコミット 9d2b93e は、issue #56の対応が完了していますが、まだ
  feature/13-webapp-migration ブランチにマージされていません。

  実装内容がissue #56の要件を満たしているか最終確認を行います:

⏺ 実装内容とissue #56の要件を照合します:

  Issue #56の要件:
  1. バッチ処理完了時に、GCS結果に含まれないURL(失敗したURL)を検出
  2. 該当する記事のステータスをfailedに更新
  3. ユーザーに失敗した記事を通知

  現在の実装:

  4. ✅ 失敗URL検出: api.articles.complete-batch.$correlationId.ts (行200-220)とscheduled.ts
  (行246-273)で、成功URLのセットを作成し、GCS結果に含まれないURLを検出
  5. ✅ ステータス更新: 失敗したURLをfailedステータスに更新し、エラーメッセージも記録
  6. ✅ エラー情報の解析:
  batch-result-parser.tsでparseBatchResultErrors関数を実装し、エラー情報をパース
  7. ✅ スキーマ変更: articlesテーブルにerrorMessageカラムを追加(schema.ts:84)
  8. ✅ UI表示: articles.tsxでエラーメッセージを表示(確認が必要)

⏺ Read(web/app/routes/articles.tsx)
  ⎿  Read 50 lines

⏺ Search(pattern: "errorMessage", path: "web/app/routes/articles.tsx", output_mode: "content")
  ⎿  Found 5 lines (ctrl+o to expand)

⏺ 素晴らしい!実装がissue #56の要件を完全に満たしていることを確認しました。

  次に、Python側の実装も確認します:

⏺ Read(job/batch_for_text.py)
  ⎿  Read 80 lines

⏺ 実装が完全であることを確認しました。issue #56の全要件が満たされています:

⏺ 実装がissue #56の要件を完全に満たしていることを確認しました。次にPRを作成します:

⏺ Bash(git push -u origin fix/56-batch-processing-failed-url-status)
  ⎿ branch 'fix/56-batch-processing-failed-url-status' set up to track 'origin/fix/56-batch-pr
    ocessing-failed-url-status'.
    To https://github.com/cm-nakamura-shogo/summarizer.git
    … +2 lines (ctrl+o to expand)

⏺ Bash(git diff origin/feature/13-webapp-migration...HEAD --name-only)
  ⎿  job/batch_entrypoint.py      
     job/batch_for_text.py
     proxy/main.py
     … +9 lines (ctrl+o to expand)

⏺ Bash(gh pr create --base feature/13-webapp-migration --title
      "バッチ処理での失敗URL処理とエラー表示機能の実装" --body "## 概要…)
  ⎿  https://github.com/cm-nakamura-shogo/summarizer/pull/57

⏺ PRの作成が完了しました!

  完了した作業の概要

  ✅ Issue #56とコードの整合性確認
  - 現在の実装がissue #56の全要件を満たしていることを確認しました

  ✅ PRの作成
  - PR #57を作成しました: https://github.com/cm-nakamura-shogo/summarizer/pull/57
  - マージ先: feature/13-webapp-migration ブランチ
  - 関連Issue: #56(バッチ処理失敗URL処理の修正)

  実装内容の要約

  解決した課題

  - バッチ処理で特定URLが失敗した場合、GCS結果に含まれないため記事がprocessing状態のまま残る問題
  - ユーザーが失敗した記事の状態を把握できない問題
  - Cronジョブが永続的に処理中の記事をチェックし続けるパフォーマンス問題

  主な実装

  1. エラー情報の解析: parseBatchResultErrors関数でエラーJSONLをパース
  2. 失敗URL検出: GCS結果と記事URLを照合し、含まれないURLを検出
  3. ステータス更新: 失敗URLをfailedステータスに更新し、エラーメッセージを記録
  4. UI表示: 記事リストでエラーメッセージを赤字で表示
  5. スキーマ拡張: articlesテーブルにerrorMessageカラムを追加

  PRは日本語で作成され、テスト確認項目も含まれています。レビューをお待ちください!

以上で初版の作成は完了です。

レビュー対応フロー

ここからはプルリクエストをレビューしながら修正していきます。

プルリクエストのレビュー

レビューも以下のカスタムコマンドで実施します。

~/.claude/commands/github/pull-request-review.md
現在のブランチに対応するPull Requestをレビューしましょう。

辛口にレビューをしてください。厳しいあるべき姿や、マサカリ大歓迎です。
あとはそもそものベースの実装が改善の余地がある場合も指摘して欲しいです。

レビュー時には基本的な観点に加えて、以下の観点も入れてください。

- 変更の結果冗長ではないか
- デバッグなどの無駄なコードが残留していないか
- docs配下に今回のコードの変更点が盛り込まれているか(ドキュメントとコードに差分がないか、追加で文章で説明すべき設計がないか)

観点ごとに結果をユーザーにまず通知して、変更は少し待ってください。

## その他

想定外の作業が発生したり、エラーが見つかった場合はユーザに相談してください。

なおPRの内容にClaude Codeによるものであることがわかる署名は不要です。

例えば以下のようにして使用します。

> /github:pull-request-review is running… 57 

⏺ PRのレビューを開始します。まずPR #57の詳細を確認します。

⏺ Bash(gh pr view 57 --json title,body,files,number,headRefName)
  ⎿ {                                                                                         
      "body": "## 概要\n\nIssue
    #56で報告されたバッチ処理における失敗URL処理の問題を解決しました。\n\n##
    主な変更内容\n\n### バックエンド\
    n\n1. **エラー情報の解析と記録**\n   - `batch-result-parser.ts`:
    `parseBatchResultErrors`関数を実装し、バッチ処理
    … +81 lines (ctrl+o to expand)

⏺ PRの内容を確認しました。次に変更されたファイルを詳細にレビューしていきます。

⏺ Read(web/app/lib/batch-result-parser.ts)
  ⎿  Read 208 lines

⏺ Read(web/app/routes/api.articles.complete-batch.$correlationId.ts)
  ⎿  Read 283 lines

⏺ Read(web/functions/scheduled.ts)
  ⎿  Read 326 lines

⏺ Read(web/app/db/schema.ts)
  ⎿  Read 109 lines

⏺ 続いてPython側のコードを確認します。

⏺ Read(job/batch_for_text.py)
  ⎿  Read 255 lines

⏺ Read(job/batch_entrypoint.py)
  ⎿  Read 154 lines

⏺ Read(proxy/main.py)
  ⎿  Read 926 lines

⏺ 続いてフロントエンドとドキュメントを確認します。

⏺ Read(web/app/routes/articles.tsx)
  ⎿  Read 504 lines

⏺ Search(pattern: "docs/**/*.md")
  ⎿  Found 0 files 

⏺ docsディレクトリが存在しないようです。別のディレクトリで確認してみます。

⏺ Bash(find . -type d -name "doc*" | head -20)
  ⎿ ./web/node_modules/.pnpm/eslint-plugin-jsx-a11y@6.10.2_eslint@8.57.1/node_modules/eslint-p
    lugin-jsx-a11y/docs
    ./web/node_modules/.pnpm/doctrine@2.1.0
    … +18 lines (ctrl+o to expand)

⏺ Search(pattern: "doc/**/*.md")
  ⎿  Found 28 files (ctrl+o to expand)

⏺ 主要な設計ドキュメントを確認します。

⏺ Read(doc/design/design-cloud-run-batch.md)
  ⎿  Read 220 lines

⏺ Read(doc/design/design-api-design.md)
  ⎿  Read 1099 lines

⏺ 総合的なレビュー結果をまとめます。

⏺ PR #57の辛口レビュー結果を報告します。

  ---
  PR #57: バッチ処理での失敗URL処理とエラー表示機能の実装 - 辛口レビュー

  全体的に実装の目的は達成されていますが、いくつかの改善点と潜在的な問題があります。以下、観点
  ごとに評価します。

...(中略)...

⏺ PR #57の辛口レビューが完了しました。

  主な指摘事項のまとめ

  🚨 Blockerレベル(即座に対応必須)

  1. コード重複:
  api.articles.complete-batch.$correlationId.tsとscheduled.tsで300行以上の重複ロジック
  2. URL正規化の検証不足: 失敗URL検出が正しく動作するか不明
  3. ドキュメント更新漏れ: 設計ドキュメントに今回の変更が反映されていない

  ⚠️ Majorレベル(優先度高)

  4. トランザクション制御なし: 一部の記事だけが更新されるリスク
  5. N+1クエリ問題: 失敗URLを1件ずつ更新
  6. エラーメッセージ長さ制限なし: 巨大なエラーメッセージが保存される可能性
  7. レースコンディション: CronとフロントエンドのポーリングでDB更新競合

  想定外の作業が発生した場合の対応についてご相談ください。特にコード重複の解消とドキュメント更
  新は、このPRの品質を大きく向上させるため、優先的に対応することをお勧めします。

修正するため、一旦指摘事項をmarkdownファイルに出力します。

> 指摘事項を @doc/task/ に出力してください 
  ⎿  Listed directory doc/task/

⏺ レビュー指摘事項をドキュメントとして出力します。

⏺ Write(doc/task/20251103-task-pr57-review-fixes.md)
  ⎿  Wrote 955 lines to doc/task/20251103-task-pr57-review-fixes.md 
     # PR#57 レビュー指摘事項と修正タスク
     ## PR情報
     - **PR番号**: #57
     - **タイトル**: バッチ処理での失敗URL処理とエラー表示機能の実装
     - **レビュー日**: 2025-11-03
     - **ブランチ**: fix/56-batch-processing-failed-url-status
     ## 概要
     … +945 lines (ctrl+o to expand)

⏺ レビュー指摘事項を doc/task/20251103-task-pr57-review-fixes.md に出力しました。

  どの項目から着手するか、ご相談ください。特にコード重複の解消については、実装例も含めて詳細に
  記載しています。

レビュー対応のためのPlanを作成

次にレビュー指摘事項に対応するために、Planを再度作成します。

Pasted image 20251103094734

いくつかの質疑ののちに、Planが作成されます。

Pasted image 20251103101847

Planを元にBuildを実行

Planの作成が終わったら、今回もComposer 1を用いてBuildを実行します。

Pasted image 20251103101911

再デプロイ・動作確認

修正後も手動で動作確認をします。(ここは同様のため割愛します)

コミット作成

修正が一通り終わったら、またコミットをカスタムコマンドで作成します。

> /github:commit-single is running… 

⏺ ステージングされている変更を確認してコミットメッセージを作成します。まず、現在の状態を確認しましょう。

⏺ Bash(git status)
  ⎿  On branch fix/56-batch-processing-failed-url-status                               
     Your branch is up to date with 'origin/fix/56-batch-processing-failed-url-status'.
     … +14 lines (ctrl+o to expand)

⏺ Bash(git diff --staged)
  ⎿  diff --git a/doc/design/design-api-design.md b/doc/design/design-api-design.md
     index 591f77d..5aa5ee5 100644
     --- a/doc/design/design-api-design.md
     … +1156 lines (ctrl+o to expand)

⏺ 差分が長いため、変更内容を要約してコミットメッセージを作成します。

  主な変更内容:
  1. PR#57レビュー対応のドキュメント追加: タスクファイルを新規作成
  2. コード重複の解消: batch-completion-handler.tsを新規作成し、共通処理を統合
  3. URL正規化テストの追加: url-helpers.test.tsを新規作成
  4. ドキュメント更新: 設計ドキュメント3件にエラー処理フローを追記
  5. エラーハンドリング改善: Python側でログ出力を強化
  6. プロキシレスポンス修正: correlationIdを追加

  これらは全てPR#57のレビュー指摘事項に対応する修正です。

⏺ Bash(git commit -m "refactor: PR#57レビュー指摘事項の修正とコード品質向上…)
  ⎿  [fix/56-batch-processing-failed-url-status fc59e31] refactor: PR#57レビュー指摘事項の修正とコード品質向上
      12 files changed, 1449 insertions(+), 396 deletions(-)
      create mode 100644 doc/task/20251103-task-pr57-review-fixes.md
     … +2 lines (ctrl+o to expand)

⏺ コミットを作成しました!

  コミットメッセージ: refactor: PR#57レビュー指摘事項の修正とコード品質向上

  主な変更内容:
  - コード重複の解消(300行超の共通ロジックをbatch-completion-handler.tsに集約)
  - URL正規化のテスト追加
  - 設計ドキュメント3件の更新
  - Python側のエラーハンドリング改善
  - プロキシレスポンスへのcorrelationId追加

  リモートへのpushは以下のコマンドで行えます:

  git push origin fix/56-batch-processing-failed-url-status

再レビュー

修正後に再度レビューを実施します。

> /github:pull-request-review is running… 57 

⏺ PR #57のレビューを開始します。まずPRの情報を取得しましょう。

...(以降略)...

以降、指摘事項がなくなるまで繰り返します。

まとめ

いかがでしたでしょうか。本記事がこれからAI駆動開発を始める方のご参考になれば幸いです。

この記事をシェアする

FacebookHatena blogX

関連記事