システム概要の要件定義
app-init コマンドを使って、AIとの対話を通じてアプリケーションの要件を整理し、機能別のREADME.mdファイルを自動生成するワークフローです。
概要
app-init は、アプリケーション開発の最初のステップとして、対話形式で要件をヒアリングし、構造化された要件定義書を生成します。README.mdを手動で書く代わりに、AIの質問に答えるだけで要件定義が完成します。
app-init(対話型ヒアリング) │ ├─ アプリケーション概要 ├─ 対象ユーザー ├─ ユーザー権限 ├─ 主要機能 ├─ 各機能の詳細 └─ 技術要件 │ ▼ 要件の確認・承認 │ ▼ ファイル生成 ├─ .teamkit/README.md(全体概要) ├─ .teamkit/<feature-1>/README.md ├─ .teamkit/<feature-2>/README.md └─ ...
使い方
/teamkit:app-init MyApp
出力ディレクトリを指定する場合:
/teamkit:app-init MyApp -o specs
| 引数・オプション | 説明 |
|---|---|
<appName> |
アプリケーション名(必須) |
-o, --output |
出力ディレクトリ(デフォルト: .teamkit) |
ヒアリングの流れ
AIが以下の6つのステップで質問を行います。各ステップに答えるだけで、要件が整理されていきます。
ステップ1: アプリケーション概要
アプリケーションの目的や概要を聞かれます。
質問例: このアプリケーションは何をするものですか?簡単な説明をお願いします。
ステップ2: 対象ユーザー
アプリケーションを利用するユーザーの種類を確認します。
質問例: このアプリケーションを使うのは誰ですか?(例:管理者、一般ユーザー、店舗スタッフなど)
ステップ3: ユーザー権限
ユーザー種別ごとの権限の違いを確認します。
ステップ4: 主要機能
アプリケーションに必要な主要機能の一覧を聞き出します。
ステップ5: 各機能の詳細
主要機能ごとに、管理するデータ、必要な画面、ユーザー操作を確認します。
確認内容:
- 管理するデータ(名前、日付、ステータスなど)
- 必要な画面(一覧、詳細、登録/編集など)
- ユーザーの操作(CRUD、検索、フィルタなど)
ステップ6: 技術要件
Webアプリかモバイルか、認証方式、外部連携などの技術的な要件を確認します。
要件の確認と承認
すべてのヒアリングが完了すると、AIが収集した情報を整理して表示します。内容を確認し、問題なければ承認することでファイル生成に進みます。修正が必要な場合は、該当部分を再ヒアリングできます。
生成されるファイル
全体概要(README.md)
.teamkit/README.md には、以下の情報が含まれます。
- アプリケーションの概要
- 対象ユーザーの説明
- ユーザー種別テーブル(種別・役割・権限)
- 主要機能一覧テーブル(各機能READMEへのリンク付き)
- 技術要件・非機能要件
- 画面遷移概要
機能別README.md
.teamkit/<feature-slug>/README.md には、以下の情報が含まれます。
- 機能概要
- データ定義(エンティティテーブル: フィールド名、型、必須、バリデーション)
- 画面一覧(SC-{コード}-{番号} 形式のID付き)
- ユースケース(UC-{コード}-{番号} 形式のID付き、基本フロー・代替フロー)
ディレクトリ構成例
.teamkit/
├── README.md # 全体概要
├── product-management/
│ └── README.md # 商品管理の要件定義
├── order-management/
│ └── README.md # 注文管理の要件定義
└── customer-management/
└── README.md # 顧客管理の要件定義
ディレクトリ名は機能名を英語のケバブケースに自動変換します(例:「商品管理」→ product-management)。
次のステップ
app-init で要件定義が完成したら、各機能のREADME.mdをもとに仕様書とモックアップを生成できます。
# 各機能の仕様書とモックアップを一括生成
/teamkit:generate product-management
/teamkit:generate order-management
# または全オプション付きで生成
/teamkit:generate product-management --all