8.0 KiB
8.0 KiB
description
| description |
|---|
| 既存のコードベースを分析し、実装されている機能を特定してタスク一覧として整理します。実装済みの機能から逆算してタスクの構造、依存関係、実装詳細を抽出し、文書化します。 |
rev-tasks
目的
既存のコードベースを分析し、実装されている機能を特定してタスク一覧として整理する。実装済みの機能から逆算してタスクの構造、依存関係、実装詳細を抽出し、文書化する。
前提条件
- 分析対象のコードベースが存在する
docs/reverse/ディレクトリが存在する(なければ作成)- TypeScript/JavaScript、Python、その他のコードを分析可能
実行内容
-
コードベースの構造分析
- ディレクトリ構造の把握
- 設定ファイルの確認(package.json、tsconfig.json、requirements.txt等)
- 依存関係の分析
-
機能コンポーネントの特定
- フロントエンドコンポーネント
- バックエンドサービス/コントローラー
- データベース関連(モデル、マイグレーション)
- ユーティリティ関数
- ミドルウェア
-
API エンドポイントの抽出
- REST API エンドポイント
- GraphQL リゾルバー
- WebSocket ハンドラー
- ルーティング定義
-
データベース構造の分析
- テーブル定義
- リレーションシップ
- マイグレーションファイル
- インデックス設定
-
UI/UX実装の分析
- 画面コンポーネント
- 状態管理の実装
- ルーティング
- スタイリング手法
-
テスト実装の確認
- 単体テストの存在
- 統合テストの存在
- E2Eテストの存在
- テストカバレッジ
-
タスクの逆算と整理
- 実装された機能をタスクとして分解
- タスクIDの自動割り当て
- 依存関係の推定
- 実装工数の推定
-
ファイルの作成
docs/reverse/{プロジェクト名}-discovered-tasks.mdとして保存- 発見されたタスクを構造化して文書化
出力フォーマット例
# {プロジェクト名} 発見タスク一覧
## 概要
**分析日時**: {分析実行日時}
**対象コードベース**: {パス}
**発見タスク数**: {数}
**推定総工数**: {時間}
## コードベース構造
### プロジェクト情報
- **フレームワーク**: {使用フレームワーク}
- **言語**: {使用言語}
- **データベース**: {使用DB}
- **主要ライブラリ**: {主要な依存関係}
### ディレクトリ構造
```
{ディレクトリツリー}
```
## 発見されたタスク
### 基盤・設定タスク
#### DISCOVERED-001: プロジェクト初期設定
- [x] **タスク完了** (実装済み)
- **タスクタイプ**: DIRECT
- **実装ファイル**:
- `package.json`
- `tsconfig.json`
- `.env.example`
- **実装詳細**:
- {発見された設定内容}
- **推定工数**: {時間}
#### DISCOVERED-002: データベース設定
- [x] **タスク完了** (実装済み)
- **タスクタイプ**: DIRECT
- **実装ファイル**:
- `src/database/connection.ts`
- `migrations/001_initial.sql`
- **実装詳細**:
- {発見されたDB設定内容}
- **推定工数**: {時間}
### API実装タスク
#### DISCOVERED-101: ユーザー認証API
- [x] **タスク完了** (実装済み)
- **タスクタイプ**: TDD
- **実装ファイル**:
- `src/auth/auth.controller.ts`
- `src/auth/auth.service.ts`
- `src/auth/jwt.strategy.ts`
- **実装詳細**:
- ログイン/ログアウト機能
- JWT トークン発行
- 認証ミドルウェア
- **APIエンドポイント**:
- `POST /auth/login`
- `POST /auth/logout`
- `POST /auth/refresh`
- **テスト実装状況**:
- [x] 単体テスト: `auth.service.spec.ts`
- [x] 統合テスト: `auth.controller.spec.ts`
- [ ] E2Eテスト: 未実装
- **推定工数**: {時間}
### UI実装タスク
#### DISCOVERED-201: ログイン画面
- [x] **タスク完了** (実装済み)
- **タスクタイプ**: TDD
- **実装ファイル**:
- `src/components/Login/LoginForm.tsx`
- `src/components/Login/LoginForm.module.css`
- `src/hooks/useAuth.ts`
- **実装詳細**:
- ログインフォーム
- バリデーション機能
- エラーハンドリング
- **UI/UX実装状況**:
- [x] レスポンシブデザイン
- [x] ローディング状態
- [x] エラー表示
- [ ] アクセシビリティ: 部分的実装
- **テスト実装状況**:
- [x] コンポーネントテスト: `LoginForm.test.tsx`
- [ ] E2Eテスト: 未実装
- **推定工数**: {時間}
## 未実装・改善推奨事項
### 不足しているテスト
- [ ] **E2Eテストスイート**: 主要ユーザーフローのテスト
- [ ] **パフォーマンステスト**: API応答時間テスト
- [ ] **セキュリティテスト**: 認証・認可テスト
### コード品質改善
- [ ] **TypeScript型安全性**: 一部でany型の使用
- [ ] **エラーハンドリング**: 統一的なエラー処理
- [ ] **ログ出力**: 構造化ログの実装
### ドキュメント不足
- [ ] **API仕様書**: OpenAPI/Swagger未実装
- [ ] **開発者ガイド**: セットアップ手順書
- [ ] **デプロイ手順書**: 本番環境構築手順
## 依存関係マップ
```mermaid
graph TD
A[DISCOVERED-001: プロジェクト初期設定] --> B[DISCOVERED-002: データベース設定]
B --> C[DISCOVERED-101: ユーザー認証API]
C --> D[DISCOVERED-201: ログイン画面]
D --> E[未実装: E2Eテスト]
F[未実装: API仕様書] --> G[未実装: 開発者ガイド]
```
## 実装パターン分析
### アーキテクチャパターン
- **実装パターン**: {発見されたパターン}
- **状態管理**: {使用されている状態管理}
- **認証方式**: {実装されている認証方式}
### コーディングスタイル
- **命名規則**: {発見された命名規則}
- **ファイル構成**: {ファイル構成パターン}
- **エラーハンドリング**: {エラー処理パターン}
## 技術的負債・改善点
### パフォーマンス
- {発見されたパフォーマンス課題}
### セキュリティ
- {発見されたセキュリティ課題}
### 保守性
- {発見された保守性課題}
## 推奨次ステップ
1. **不足テストの実装** - 特にE2Eテストスイート
2. **ドキュメント整備** - API仕様書とセットアップガイド
3. **コード品質改善** - TypeScript型安全性とエラーハンドリング
4. **セキュリティ強化** - 認証・認可の詳細レビュー
分析対象ファイルの自動検出
フロントエンド
- React:
*.tsx,*.jsx,*.ts,*.js - Vue:
*.vue,*.ts,*.js - Angular:
*.component.ts,*.service.ts,*.module.ts
バックエンド
- Node.js:
*.ts,*.js(Express, NestJS等) - Python:
*.py(Django, FastAPI等) - Java:
*.java(Spring Boot等)
データベース
- SQL:
*.sql,migrations/* - ORM: モデルファイル、設定ファイル
設定ファイル
package.json,tsconfig.json,webpack.config.jsrequirements.txt,Pipfile,pyproject.tomlpom.xml,build.gradle
実行コマンド例
# カレントディレクトリを分析
claude code rev-tasks
# 特定ディレクトリを分析
claude code rev-tasks --path ./backend
# 特定の技術スタックに絞って分析
claude code rev-tasks --tech react,nodejs
# 詳細分析(テストカバレッジ等も含む)
claude code rev-tasks --detailed
# 出力形式指定
claude code rev-tasks --format json
実行後の確認
- 発見されたタスク数と推定工数を表示
- 実装済み/未実装の機能一覧を表示
- 技術的負債・改善推奨事項をサマリー表示
- 次のリバースエンジニアリングステップ(設計書生成等)を提案