Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:39:29 +08:00
commit f2613ae15b
26 changed files with 5240 additions and 0 deletions

View File

@@ -0,0 +1,278 @@
---
argument-hint: <タスク名>
description: 技術詳細とアーキテクチャ設計を作成
allowed-tools: ["Read", "Write", "Task", "AskUserQuestion"]
---
# 技術詳細ドキュメントを作成します
タスクの技術仕様とアーキテクチャ設計を詳細化し、`technical-details.md` を生成します。
【対象タスク名】
$ARGUMENTS
## 実行手順
### 0. ステアリングドキュメントの読み込み
以下のステアリングドキュメントを読み込み、プロジェクトの技術標準を把握:
- `specs/_steering/tech.md` - **最重要**: 技術スタック、アーキテクチャパターン、開発標準
- `specs/_steering/structure.md` - プロジェクト構造、命名規則
- `specs/_steering/product.md` - プロダクト方針
**ステアリングドキュメントが存在しない場合**:
- 警告メッセージを表示: 「⚠️ ステアリングドキュメントが見つかりません。先に `/sdd:steering` を実行することを推奨します。」
**重要**: tech.mdに記載されている技術スタックとアーキテクチャパターンを**必ず尊重**してください。
### 1. タスクディレクトリの確認
タスク名が指定されている場合:
- `specs/[taskname]/` ディレクトリの存在を確認
- `specs/[taskname]/overview.md` および `specs/[taskname]/specification.md` が存在するか確認
タスク名が指定されていない場合:
- `specs/` ディレクトリ内の利用可能なタスクをリスト表示
- **AskUserQuestionツールを使用**してどのタスクについて作業するかユーザーに選択を求める
### 2. 既存ドキュメントの読み込み
以下のドキュメントを読み込み、技術詳細化に必要な情報を抽出:
- `specs/[taskname]/overview.md` - プロジェクト概要、主要機能
- `specs/[taskname]/specification.md` - 機能要件、データ要件、インターフェース要件
- `specs/_steering/tech.md` - **既存の技術スタック、アーキテクチャパターン**
- `specs/_steering/structure.md` - コード構造、命名規則
### 3. technical-details.mdの生成
`specs/[taskname]/technical-details.md` を生成:
```markdown
# 技術詳細ドキュメント
## アーキテクチャ
### システム構成図
[Mermaid記法でシステム構成を図示]
```mermaid
graph TB
Client[クライアント]
API[APIサーバー]
DB[データベース]
Client --> API
API --> DB
```
### 技術スタック
**重要**: 以下は `specs/_steering/tech.md` に準拠しています。
#### 言語・ランタイム
- **言語**: [steering/tech.mdから取得]
- **ランタイム**: [steering/tech.mdから取得]
- **フレームワーク**: [steering/tech.mdから取得]
#### 主要ライブラリ
[steering/tech.mdのKey Dependencies/Librariesを参照]
このタスク固有の追加ライブラリ:
- [タスク固有のライブラリ]
### インフラ構成
[デプロイ環境、インフラ構成]
## 技術選定(タスク固有の技術のみ)
**注意**: steering/tech.md で既に定義されている技術については記載不要です。このタスク固有の技術選定のみ記載してください。
#### [技術名](必要な場合のみ)
- **採用理由**: [1-2行で簡潔に]
- **steering/tech.mdとの関係**: [準拠/逸脱の明記]
技術選定が不要な場合: 「steering/tech.mdの標準技術を使用」と記載
## データ設計
### データモデル
[specification.mdのデータ要件を具体的なスキーマに変換]
#### エンティティ図
```mermaid
erDiagram
User ||--o{ Post : creates
User {
int id PK
string email
string name
}
Post {
int id PK
int user_id FK
string title
text content
}
```
### データベーススキーマ
**重要**: steering/tech.md で定義されているデータベース技術を使用
#### [テーブル1]
```sql
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email VARCHAR(255) UNIQUE NOT NULL,
name VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
### データフロー
[データの流れを図示]
## API設計
### エンドポイント一覧
**命名規約**: steering/structure.md の規約に準拠
| メソッド | パス | 説明 | 入力 | 出力 |
|---------|------|------|------|------|
| GET | /api/users | ユーザー一覧取得 | クエリパラメータ | User[] |
| POST | /api/users | ユーザー作成 | UserInput | User |
| GET | /api/users/:id | ユーザー詳細取得 | id | User |
| PUT | /api/users/:id | ユーザー更新 | id, UserInput | User |
| DELETE | /api/users/:id | ユーザー削除 | id | 成功/失敗 |
### リクエスト/レスポンス仕様(必要な場合のみ)
複雑なAPI仕様がある場合のみ詳細を記載。標準的なCRUD操作の場合は省略可。
#### [エンドポイント名](必要な場合のみ)
- **入力**: [JSON例]
- **出力**: [JSON例]
- **エラー**: [エラーコード一覧]
### 認証・認可
**重要**: steering/tech.md のセキュリティ要件に準拠
- **認証方式**: [JWT/Session/OAuth2 - steering/tech.mdから]
- **認可方式**: [RBAC/ABAC]
- **トークン管理**: [保存場所、有効期限]
## セキュリティ
**重要**: specification.md および steering/tech.md のセキュリティ要件に準拠
### セキュリティ要件
[specification.mdから取得]
### 実装方針
- **認証**: [実装方法]
- **認可**: [実装方法]
- **データ暗号化**: [実装方法]
- **監査ログ**: [実装方法]
## パフォーマンス要件(ユーザー指定時のみ)
[specification.mdで指定された場合のみ含める]
- **レスポンスタイム**: [目標値と測定方法]
- **スループット**: [目標値と測定方法]
- **最適化方針**: [具体的な最適化手法]
## 開発環境(ユーザー指定時のみ)
**重要**: steering/tech.md の開発環境に準拠
### 必要なツール
[steering/tech.md の Required Tools を参照]
このタスク固有の追加ツール:
- [タスク固有のツール]
### セットアップ手順
```bash
# 1. 依存関係のインストール
[コマンド]
# 2. 環境変数の設定
[コマンド]
# 3. データベースのセットアップ
[コマンド]
# 4. 開発サーバーの起動
[コマンド]
```
## テスト戦略(ユーザー指定時のみ)
**重要**: steering/tech.md のテスト標準に準拠
### テストの種類
- **単体テスト**: [フレームワーク、カバレッジ目標]
- **統合テスト**: [範囲、実行タイミング]
- **E2Eテスト**: [ツール、シナリオ]
### カバレッジ目標
[steering/tech.md から取得、またはタスク固有の目標]
```
**生成時の注意点**:
- **⚠️ 最重要**: steering/tech.md に記載されている技術スタックを**必ず使用**すること
- **⚠️ 重要**: steering/tech.md から逸脱する場合は、明確な理由を記述すること
- **⚠️ 重要**: steering/structure.md の命名規約、コード構造に準拠すること
- **⚠️ 重要**: 詳細であれば詳細であるほど良いわけではない。必要な部分だけを必要なだけ書くこと
- 不明なところは勝手に決めずに「**不明**」と明記し、複数の案案A、案B、案Cなどを記述すること
- specification.mdは機能要件の詳細を、technical-details.mdは技術実装の詳細を記述し、役割を明確に分離すること
### 4. 完了報告
```
✅ 技術詳細ドキュメントを作成しました
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📍 作成先: specs/[taskname]/technical-details.md
📝 エンドポイント数: [N]件
💡 次のアクション:
- Phase計画: `/sdd:plan-phases [taskname]`
- 不明点の明確化: `/sdd:clarify-spec [taskname]`
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
## 注意事項
- **⚠️ 最重要**: steering/tech.md を必ず参照し、プロジェクトの技術標準に準拠すること
- steering/tech.md から逸脱する場合は、明確な理由と承認を得ること
- specification.mdとの役割分担を明確にする機能要件 vs 技術実装)
- 不明なところは勝手に決めずに「**不明**」と明記すること
## 内部品質チェック
**重要**: 以下のチェックはコマンド内部で実施し、**生成されるspecファイルには結果を記載しません**。
### ステアリングドキュメントレビュー(内部処理)
ドキュメント生成後、内部的にステアリングドキュメントとの整合性を確認:
- tech.mdの技術スタックとの整合性最重要
- structure.mdの構造規約との整合性
- product.mdのビジネス目標との整合性
問題がある場合のみユーザーに修正を促す。準拠している場合は何も出力しない。
### 矛盾チェック(内部処理)
ドキュメント生成後、内部的に仕様書間の矛盾を確認:
- specification.mdとtechnical-details.mdのデータ設計の整合性
- API設計と機能要件の整合性
- データモデルとAPI仕様の整合性
矛盾がある場合のみユーザーに警告を表示。問題がなければ何も出力しない。