# [F] 初期導入フロー（既存プロジェクトへの適用）

既にコードが存在するプロジェクトに仕様駆動開発を導入するとき。
鉄則1「コードを書く前に設計を書く」はこのフローでのみ例外とする。

## 手順

1. **プロジェクト初期化** — `init_project.py <dir> --profile lite --no-git-init`
2. **コード読解** — 既存コードの構造・機能・テストを把握する
3. **用語辞書作成** — プロジェクト固有のドメイン用語を棚卸しし、REQ 先頭に非規範的アイテムとして用語定義を作成する（詳細は `concepts/glossary.md`）
4. **REQ抽出** — 実装されている機能を要件として文書化（実態を記述、理想ではなく）。FR / NFR の分類も行う（判断基準は `concepts/nfr.md`）
5. **設計文書作成** — コードの実態に基づいてSPEC（+ARCH）を作成。gherkin 属性に振る舞いシナリオを記述する
6. **IMPL紐付け** — 既存コードをIMPLアイテムとして登録し、`references` で紐づけ
7. **TST紐付け** — 既存テストをTSTアイテムとして登録し、`references` で紐づけ
8. **ベースライン確立** — 全アイテムの clear & review を実行
9. **検証** — `validate_and_report.py --strict` で整合性確認
10. **移行完了** — 以後は通常フロー（A〜E）に移行

## 注意事項

- 一度にすべて網羅しなくてよい。主要機能から段階的に導入する
- 既存テストがない機能はTSTアイテムのみ作成し、テストは後日追加でもよい
- ベースライン確立前のsuspectは過渡期ノイズであり、一括clearする

## 段階的導入の目安

| 規模 | Phase 1 の対象 |
|------|---------------|
| 小規模（~1万行） | 全機能（全量一括でも可能） |
| 中規模（1-10万行） | 主要サブシステム2-3個 |
| 大規模（10万行~） | 最も変更頻度の高いモジュール群 |

詳細は `scaling_strategy.md` を参照。
