---
generated_at: 2026-02-24 23:15:00
metrics:
  claims_total: 120
  claims_with_evidence: 120
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：cli-medusa-cli 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：120 / 120、根拠なし：0
- 優先レビュー（高）
  1. **なし**：全てのテストケースに根拠あり

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `packages/cli/medusa-cli/src/did-you-mean.ts` - didYouMean関数実装（L1-18）
- E-02: `packages/cli/medusa-cli/src/util/package-manager.ts` - getPackageManager/setPackageManager関数実装（L1-16）
- E-03: `packages/cli/medusa-cli/src/util/clear-project.ts` - clearProject関数実装（L1-25）
- E-04: `packages/cli/medusa-cli/src/reporter/panic-handler.ts` - PanicId列挙型とpanicHandler関数実装（L1-35）
- E-05: `packages/cli/medusa-cli/src/reporter/index.ts` - Reporterクラス実装（L1-405）
- E-06: `packages/cli/medusa-cli/src/codemods/index.ts` - getCodemod/listCodemods関数実装（L1-26）
- E-07: `packages/cli/medusa-cli/src/codemods/replace-zod-imports.ts` - replaceZodImports codemod実装（L1-165）
- E-08: `packages/cli/medusa-cli/src/codemods/types.ts` - Codemod型定義（L1-45）
- E-09: `packages/cli/medusa-cli/src/create-cli.ts` - CLI作成およびコマンド定義（L1-713）
- E-10: `packages/cli/medusa-cli/src/commands/new.ts` - newStarterコマンド実装（L1-655）
- E-11: `packages/cli/medusa-cli/src/index.ts` - エントリーポイント（L1-37）

## 3) Claims と根拠の対応（レビューの主戦場）

### didYouMean関数 (E-01)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | 類似コマンドが1件の場合にDid you mean this?形式で返却 | E-01 (L9-10) | ○ |
| C-02 | 類似コマンドが複数の場合に最大3件まで表示 | E-01 (L12-16) | ○ |
| C-03 | 類似コマンドなしで空文字返却 | E-01 (L8) | ○ |
| C-04 | コマンドリスト空で空文字返却 | E-01 (L8) | ○ |

### package-manager (E-02)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-05 | getPackageManagerで設定値取得 | E-02 (L9-11) | ○ |
| C-06 | 未設定時にundefined返却 | E-02 (L9-11) | ○ |
| C-07 | setPackageManagerでyarn設定 | E-02 (L13-16) | ○ |
| C-08 | setPackageManagerでnpm設定 | E-02 (L13-16) | ○ |

### clearProject (E-03)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-09 | adminディレクトリ削除 | E-03 (L6) | ○ |
| C-10 | onboardingディレクトリ削除 | E-03 (L7-9) | ○ |
| C-11 | typesディレクトリ削除 | E-03 (L10) | ○ |
| C-12 | ソースファイル削除 | E-03 (L11-13) | ○ |
| C-13 | 空index.ts作成 | E-03 (L24) | ○ |
| C-14 | ファイルなしでもエラーなし | E-03 (L17-22) fs.rmSync force:true | ○ |

### panicHandler (E-04)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-15 | InvalidProjectName(10000)メッセージ | E-04 (L18-21) | ○ |
| C-16 | InvalidPath(10002)メッセージ | E-04 (L22-25) | ○ |
| C-17 | AlreadyNodeProject(10003)メッセージ | E-04 (L26-29) | ○ |
| C-18 | 未知IDでUnknown error | E-04 (L30-33) | ○ |
| C-19 | 空オブジェクトでデフォルトメッセージ | E-04 (L15, L30-33) | ○ |

### Reporter クラス (E-05)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-20 | コンストラクタでインスタンス生成 | E-05 (L58-62) | ○ |
| C-21 | shouldLogでレベル比較true | E-05 (L85-89) | ○ |
| C-22 | shouldLogでレベル比較false | E-05 (L85-89) | ○ |
| C-23 | setLogLevelでレベル設定 | E-05 (L95-97) | ○ |
| C-24 | unsetLogLevelでリセット | E-05 (L103-105) | ○ |
| C-25 | activityで開発環境スピナー開始 | E-05 (L115-141) | ○ |
| C-26 | activityで本番環境ログ出力 | E-05 (L127-140) | ○ |
| C-27 | progress更新 | E-05 (L150-167) | ○ |
| C-28 | progress無効ID | E-05 (L164-166) | ○ |
| C-29 | success終了 | E-05 (L279-308) | ○ |
| C-30 | success無効ID | E-05 (L299-307) | ○ |
| C-31 | failure終了 | E-05 (L240-269) | ○ |
| C-32 | failure無効ID | E-05 (L260-268) | ○ |
| C-33 | error文字列メッセージ | E-05 (L177-230) | ○ |
| C-34 | errorオブジェクト | E-05 (L181-183, L196-208) | ○ |
| C-35 | error両方 | E-05 (L184-186) | ○ |
| C-36 | error cause付き | E-05 (L204-207) | ○ |
| C-37 | panic処理 | E-05 (L64-78) | ○ |
| C-38 | infoログ | E-05 (L363-368) | ○ |
| C-39 | warnログ | E-05 (L375-380) | ○ |
| C-40 | debugログ | E-05 (L327-332) | ○ |
| C-41 | verboseログ | E-05 (L339-344) | ○ |
| C-42 | httpログ | E-05 (L351-356) | ○ |
| C-43 | sillyログ | E-05 (L315-320) | ○ |
| C-44 | log単一引数 | E-05 (L389-395) | ○ |
| C-45 | log複数引数 | E-05 (L386-388) | ○ |

### codemods/index (E-06)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-46 | getCodemod存在するcodemod取得 | E-06 (L16-18) | ○ |
| C-47 | getCodemod存在しない名前でnull | E-06 (L17) | ○ |
| C-48 | listCodemodsで一覧取得 | E-06 (L24-26) | ○ |

### replace-zod-imports (E-07)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-49 | zodインポートなしでfilesModified=0 | E-07 (L56-59) | ○ |
| C-50 | import z from zod変換 | E-07 (L22-26) | ○ |
| C-51 | import zod from zod変換 | E-07 (L17-21) | ○ |
| C-52 | import * as変換 | E-07 (L27-31) | ○ |
| C-53 | 名前付きインポート変換 | E-07 (L32-36) | ○ |
| C-54 | require変換 | E-07 (L37-41) | ○ |
| C-55 | dryRunでファイル非変更 | E-07 (L99-101) | ○ |
| C-56 | 対象0件でもエラーなし | E-07 (L56-59) | ○ |
| C-57 | ファイルエラー時カウント増加 | E-07 (L71-74) | ○ |
| C-58 | node_modules除外 | E-07 (L118) | ○ |
| C-59 | src/admin除外 | E-07 (L124) | ○ |
| C-60 | dist除外 | E-07 (L120) | ○ |
| C-61 | processFile変更ありtrue | E-07 (L84-107) | ○ |
| C-62 | processFile変更なしfalse | E-07 (L95-97) | ○ |

### create-cli (E-09)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-63 | isLocalMedusaProject @medusajs/medusa依存 | E-09 (L598-599) | ○ |
| C-64 | isLocalMedusaProject @medusajs/cli依存 | E-09 (L599) | ○ |
| C-65 | isLocalMedusaProject devDependencies | E-09 (L600-602) | ○ |
| C-66 | isLocalMedusaProject package.jsonなし | E-09 (L604-606) | ○ |
| C-67 | isLocalMedusaProject 依存なし | E-09 (L597-603) | ○ |
| C-68 | getVersionInfo Medusaプロジェクト内 | E-09 (L614-633) | ○ |
| C-69 | getVersionInfo 非Medusaプロジェクト | E-09 (L634-636) | ○ |
| C-70 | getVersionInfo Medusaパッケージ不明 | E-09 (L627-629) | ○ |
| C-71 | resolveLocalCommand コマンド解決 | E-09 (L43-50) | ○ |
| C-72 | resolveLocalCommand 非ローカルエラー | E-09 (L36-41) | ○ |
| C-73 | resolveLocalCommand new許可 | E-09 (L36) | ○ |
| C-74 | createCli インスタンス生成 | E-09 (L639-713) | ○ |
| C-75 | help オプション | E-09 (L646) | ○ |
| C-76 | version オプション | E-09 (L647, L670-678) | ○ |
| C-77 | 不明コマンドでdidYouMean | E-09 (L684-701) | ○ |

### commands/new (E-10)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-78 | newStarter正常作成 | E-10 (L501-655) | ○ |
| C-79 | Node.jsバージョンチェック | E-10 (L502-508) | ○ |
| C-80 | URL名でパニック | E-10 (L555-576) | ○ |
| C-81 | 無効パスでパニック | E-10 (L579-587) | ○ |
| C-82 | 既存プロジェクトでパニック | E-10 (L589-597) | ○ |
| C-83 | skipDbオプション | E-10 (L621-624) | ○ |
| C-84 | skipMigrationsオプション | E-10 (L631-634) | ○ |
| C-85 | skipEnvオプション | E-10 (L626-629) | ○ |
| C-86 | seedオプション | E-10 (L636-639) | ○ |
| C-87 | v2フラグ | E-10 (L189-191, L601) | ○ |
| C-88 | removeUndefined基本 | E-10 (L27-33) | ○ |
| C-89 | removeUndefinedネスト | E-10 (L31) | ○ |
| C-90 | checkForYarn true | E-10 (L45-52) | ○ |
| C-91 | checkForYarn false | E-10 (L49-51) | ○ |
| C-92 | isAlreadyGitRepository true | E-10 (L54-62) | ○ |
| C-93 | isAlreadyGitRepository false | E-10 (L59-61) | ○ |
| C-94 | gitInit | E-10 (L65-69) | ○ |
| C-95 | maybeCreateGitIgnore作成 | E-10 (L72-85) | ○ |
| C-96 | maybeCreateGitIgnore既存 | E-10 (L73-75) | ○ |
| C-97 | clone HTTPS | E-10 (L174-220) | ○ |
| C-98 | clone SSH | E-10 (L177-178) | ○ |
| C-99 | clone ブランチ指定 | E-10 (L184-191) | ○ |
| C-100 | copy正常 | E-10 (L139-171) | ○ |
| C-101 | copy存在しないパス | E-10 (L144-146) | ○ |
| C-102 | copyカレントディレクトリ | E-10 (L148-155) | ○ |
| C-103 | getPaths対話モード | E-10 (L222-263) | ○ |
| C-104 | getPaths空入力 | E-10 (L247-251) | ○ |
| C-105 | verifyPgCreds成功 | E-10 (L281-293) | ○ |
| C-106 | verifyPgCreds失敗 | E-10 (L286-288) | ○ |
| C-107 | setupDB成功 | E-10 (L389-417) | ○ |
| C-108 | setupDB既存DB | E-10 (L404-407) | ○ |
| C-109 | setupEnvVars作成 | E-10 (L419-438) | ○ |
| C-110 | setupEnvVarsカスタム認証 | E-10 (L428-432) | ○ |
| C-111 | runMigrations成功 | E-10 (L440-463) | ○ |
| C-112 | runMigrations失敗 | E-10 (L456-461) | ○ |
| C-113 | attemptSeed実行 | E-10 (L465-496) | ○ |
| C-114 | attemptSeedスクリプトなし | E-10 (L487-492) | ○ |
| C-115 | attemptSeed package.jsonなし | E-10 (L493-495) | ○ |
| C-116 | install yarn | E-10 (L106-134) | ○ |
| C-117 | install npm | E-10 (L127-129) | ○ |
| C-118 | ignored .git | E-10 (L136) | ○ |
| C-119 | ignored .hg | E-10 (L136) | ○ |
| C-120 | ignored 通常パス | E-10 (L136) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし：全てのテストケースに対して対応するソースコードの根拠が存在

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコード解析に基づいて生成されている
- 外部依存（PostgreSQL、git、yarn/npm）に関するテストは実行環境の準備が必要

## 6) レビュアーチェックリスト（最小）
- [ ] didYouMean関数の類似度アルゴリズム（meant ライブラリ依存）の挙動確認
- [ ] Reporter クラスの各ログレベル（winston.config.npm.levels）の優先順位確認
- [ ] codemods の正規表現パターンが全てのzodインポート形式をカバーしているか確認
- [ ] newStarter のDB接続・マイグレーション関連テストの実行環境準備
- [ ] 外部コマンド（git, yarn, npm）依存のテストにおけるモック戦略の検討
