システム概要の要件定義

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