Files
2025-11-29 17:52:09 +08:00

7.2 KiB
Raw Permalink Blame History

description, argument-hint
description argument-hint
機能仕様ドキュメントを作成する
追加の指示(オプション)

機能仕様ドキュメントの作成

前のステップで整理した要件に基づいて、詳細な機能仕様書を作成します。

追加の指示

$ARGUMENTS

前提条件の確認

ドキュメント作成を開始する前に、以下を確認してください:

1. タスクファイルの存在確認

const fs = require('fs');
const tasksFile = '.tasks.json';

if (!fs.existsSync(tasksFile)) {
  console.log('❌ タスクファイルが見つかりません');
  console.log('\n先に要件整理を実行してください:');
  console.log('  /new-feature [機能の説明]');
  process.exit(1);
}

2. 前のステップ(要件整理)の完了確認

const data = JSON.parse(fs.readFileSync(tasksFile, 'utf-8'));

// タスクID 1 (要件整理) が完了しているか確認
const requirementTask = data.tasks.find(t => t.id === 1);

if (!requirementTask || requirementTask.status !== 'completed') {
  console.log('❌ 要件整理が完了していません');
  console.log('\n先に要件整理を完了してください:');
  console.log('  /new-feature [機能の説明]');
  process.exit(1);
}

3. 重複実行の防止

// タスクID 2 (ドキュメント作成) の状態を確認
const docTask = data.tasks.find(t => t.id === 2);

if (docTask && docTask.status === 'completed') {
  console.log('⚠️  ドキュメントは既に作成されています');
  console.log('\nドキュメントを確認:');
  console.log('  docs/ ディレクトリを参照');
  console.log('\n再作成する場合は、既存のドキュメントを削除してから実行してください。');
  console.log('次のステップに進む場合:');
  console.log('  /resume');
  process.exit(0);
}

ドキュメント作成の指針

前提条件を満たしていることを確認したら、doc-writer エージェントを使って、階層的なドキュメント構造を作成してください。

ドキュメント構造

重要: ドキュメントは単一ファイルではなく、docs/ ディレクトリ配下に適切な階層構造として作成します。

docs/
├── README.md                    # ドキュメント全体のインデックス
├── 00-overview/                 # 全体設計
├── 01-requirements/            # 要件定義
├── 02-design/                  # 基本設計
├── 03-detailed-design/         # 詳細設計(機能ごと)
├── 04-api/                     # API設計
├── 05-interface/               # インターフェース設計
├── 06-test/                    # テスト設計
└── 07-implementation/          # 実装ガイド

作成する内容

1. 概要

# [機能名]

## 目的
[この機能が解決する課題]

## 期待される効果
- [効果1]
- [効果2]

2. 機能要件

## 機能要件

### ユーザーストーリー
- As a [ユーザー], I want to [やりたいこと], so that [理由]

### 機能詳細
#### [機能1]
- 説明: [...]
- 入力: [...]
- 出力: [...]
- 振る舞い: [...]

#### [機能2]
...

3. 技術仕様

## 技術仕様

### アーキテクチャ
[システム構成図や説明]

### データモデル
[必要なデータ構造]

### API仕様
[エンドポイント、リクエスト/レスポンス形式]

### インターフェース
[関数シグネチャ、クラス定義など]

4. 非機能要件

## 非機能要件

- **パフォーマンス**: [レスポンスタイム、スループット]
- **セキュリティ**: [認証、認可、データ保護]
- **スケーラビリティ**: [負荷対応]
- **互換性**: [ブラウザ、OS、バージョン]

5. UI/UX該当する場合

## UI/UX

### 画面遷移
[遷移図やフロー]

### インタラクション
[ユーザー操作とシステム応答]

### エラーハンドリング
[エラーメッセージ、リカバリー方法]

6. テスト戦略

## テスト戦略

### テスト観点
- [正常系のテストケース]
- [異常系のテストケース]
- [境界値テスト]
- [エッジケース]

### パフォーマンステスト
[必要な場合]

7. 実装の考慮事項

## 実装の考慮事項

### 既存コードへの影響
[変更が必要な箇所、依存関係]

### マイグレーション
[必要な場合の移行計画]

### ロールバック
[問題発生時の対応]

ドキュメント保存先とリンク

ディレクトリ作成

プロジェクトルートに docs/ ディレクトリを作成し、必要なサブディレクトリを作成します。

機能の規模に応じて、以下のように調整してください:

小規模機能: 最小限のディレクトリrequirements, detailed-design 中規模機能: 主要なディレクトリoverview, requirements, design, api/interface 大規模機能: 完全なディレクトリ構造

相互リンクの設定

各ドキュメント間で適切にリンクを設定してください:

# 例: 01-requirements/functional.md
詳細な設計については [詳細設計](../03-detailed-design/[feature-name]/README.md) を参照してください。

# 例: 04-api/[endpoint].md
データモデルの詳細は [データモデル](../02-design/data-model.md) を参照してください。

インデックスファイル (docs/README.md)

ルートの README.md にすべてのドキュメントへのリンクを含めてください:

# [機能名] - ドキュメント

## 📚 ドキュメント構成

### [全体設計](./00-overview/README.md)
- [アーキテクチャ](./00-overview/architecture.md)

### [要件定義](./01-requirements/README.md)
- [機能要件](./01-requirements/functional.md)
- [非機能要件](./01-requirements/non-functional.md)

[...]

タスク状態の更新

ドキュメント作成を開始する前に、タスク状態を更新してください:

// .tasks.json の該当タスクを更新
{
  "id": 2,
  "type": "workflow",
  "name": "ドキュメント作成",
  "status": "in_progress",  // pending → in_progress
  "command": "/create-docs",
  "startedAt": "[現在時刻]"
}

ドキュメント作成が完了したら:

{
  "id": 2,
  "status": "completed",  // in_progress → completed
  "completedAt": "[現在時刻]"
}

次のステップ

ドキュメントを作成したら、ユーザーに以下を確認してください:

ドキュメントを確認してください。
承認いただければ、次のステップ(テスト作成)を自動的に開始します。

承認しますか? (yes/no)

ユーザーが承認した場合: SlashCommandツールを使って /create-tests を実行してください。

注意:

  • post-docs-check フックが自動的に実行され、ドキュメントの完全性をチェックします
  • タスク進捗は /list-tasks で確認できます