-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
背景
ae-frameworkを使用した実際の開発セッションの記録を体系的に保存し、フレームワーク改善のための分析データとして活用したい。
提案する保存構造
ae-examples/
└── implementations/
└── YYYYMMDD-ApplicationName/
├── README.md # 開発セッションの概要
├── ANALYSIS.md # 問題点と改善提案
├── metrics.json # 開発メトリクス
├── phases/ # フェーズ毎の成果物
│ ├── 1-intent/
│ │ ├── requirements.md
│ │ └── prompts/
│ ├── 2-formal/
│ │ ├── specifications/
│ │ └── tla+/
│ ├── 3-tests/
│ │ ├── bdd/
│ │ ├── unit/
│ │ └── property/
│ ├── 4-code/
│ │ ├── src/
│ │ └── config/
│ ├── 5-verify/
│ │ ├── test-results/
│ │ └── coverage/
│ └── 6-operate/
│ ├── docker/
│ └── ci-cd/
├── prompts/ # 全プロンプト履歴
│ ├── session-1.md
│ ├── session-2.md
│ └── claude-project.json
└── violations/ # TDD違反等の記録
├── violation-log.md
└── screenshots/
保存対象(MUST HAVE)
1. ソースコード
- ✅
src/- アプリケーションコード - ✅
tests/- テストコード - ✅
specs/- 仕様書(BDD, TLA+等) - ✅
migrations/- データベーススキーマ - ✅
policies/- セキュリティポリシー
2. 設定ファイル
- ✅
package.json - ✅
tsconfig.json - ✅
docker-compose.yml - ✅
Dockerfile - ✅
.env.example - ✅
Makefile
3. ドキュメント
- ✅
README.md- プロジェクト説明 - ✅
docs/- 設計ドキュメント - ✅ 要件定義書
- ✅ トレーサビリティマトリクス
4. プロンプト履歴
- ✅
~/.claude/projects/の内容 - ✅ ユーザーとAIの全対話履歴
- ✅ 使用したツール呼び出しログ
5. 分析データ
- ✅
ANALYSIS.md- 以下を含む:- TDD違反の詳細
- フェーズスキップの記録
- 改善提案
- 学習事項
6. メトリクス(metrics.json)
{
"session": {
"start_time": "2024-01-10T09:00:00Z",
"end_time": "2024-01-10T18:00:00Z",
"total_duration_hours": 9,
"ai_model": "claude-3-opus"
},
"code": {
"total_lines": 5000,
"files_created": 45,
"languages": ["TypeScript", "SQL", "YAML"]
},
"tests": {
"total_tests": 120,
"test_coverage": 75,
"tests_written_first": false
},
"violations": {
"tdd_violations": 15,
"phase_skips": 3
},
"phases_completed": {
"intent": true,
"formal": false,
"tests": true,
"code": true,
"verify": false,
"operate": true
}
}除外対象(MUST NOT HAVE)
1. ビルド成果物
- ❌
dist/ - ❌
build/ - ❌
*.js(TypeScriptプロジェクトの場合) - ❌
*.js.map - ❌
*.d.ts(自動生成分)
2. 依存関係
- ❌
node_modules/ - ❌
vendor/ - ❌
.pnp.*(Yarn PnP)
3. 実行時ファイル
- ❌
*.log(アプリケーションログ) - ❌
*.pid - ❌
*.seed - ❌
*.sqlite(データベースファイル)
4. キャッシュ
- ❌
.cache/ - ❌
.parcel-cache/ - ❌
.next/ - ❌
.nuxt/
5. テスト成果物
- ❌
coverage/の生データ(サマリーのみ保存) - ❌
.nyc_output/ - ❌
*.lcov
6. IDE設定
- ❌
.idea/ - ❌
.vscode/(プロジェクト固有設定は保存可) - ❌
*.swp - ❌
*.swo
7. 機密情報
- ❌
.env(.env.exampleは保存) - ❌
*.pem - ❌
*.key - ❌
secrets/
保存時のチェックリスト
## 保存前チェックリスト
- [ ] 機密情報の除去確認
- [ ] ビルド成果物の除去確認
- [ ] README.md作成(開発概要記載)
- [ ] ANALYSIS.md作成(問題点・改善案記載)
- [ ] metrics.json生成
- [ ] プロンプト履歴の収集
- [ ] テスト結果サマリーの作成
- [ ] .gitignoreの適切な設定命名規則
フォルダ名
YYYYMMDD-ApplicationName
例: 20240110-EncryptedChatApp
複数セッションの場合
YYYYMMDD-ApplicationName-session-N
例: 20240110-EncryptedChatApp-session-2
自動化スクリプト案
#\!/bin/bash
# save-implementation.sh
DATE=$(date +%Y%m%d)
APP_NAME=$1
DEST="implementations/${DATE}-${APP_NAME}"
mkdir -p "$DEST/phases"
# Copy source files
cp -r src/ specs/ tests/ migrations/ policies/ "$DEST/phases/4-code/"
# Copy configs
cp package.json tsconfig.json docker-compose.yml Dockerfile .env.example Makefile "$DEST/"
# Copy docs
cp -r docs/ README.md "$DEST/"
# Generate metrics
generate-metrics.js > "$DEST/metrics.json"
# Clean build artifacts
find "$DEST" -name "node_modules" -type d -prune -exec rm -rf {} +
find "$DEST" -name "dist" -type d -prune -exec rm -rf {} +
find "$DEST" -name "*.log" -type f -delete
echo "Implementation saved to $DEST"利用目的
-
フレームワーク改善
- TDD違反パターンの分析
- よくあるフェーズスキップの特定
- ツール連携の改善点発見
-
ベストプラクティス抽出
- 成功パターンの文書化
- アンチパターンの収集
- 学習教材の作成
-
メトリクス分析
- 開発速度の測定
- テストカバレッジの傾向
- フェーズ毎の時間配分
実装例
最初の保存対象:
20240110-EncryptedChatApp/- E2E暗号化チャットアプリケーション
次のステップ
- このルールをREADMEとして
implementations/に配置 - 自動化スクリプトの作成
- 既存プロジェクトの移行
- CI/CDへの統合
このルールにより、ae-frameworkの実使用データを体系的に収集・分析し、継続的な改善につなげることができます。
Metadata
Metadata
Assignees
Labels
No labels