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

120
commands/verify/quality.md Normal file
View File

@@ -0,0 +1,120 @@
---
argument-hint: <taskname> <phase番号>
---
# Phase実装の品質検証
指定したPhaseの実装コードの品質、コーディング規約、テストを検証します。
【引数】
$ARGUMENTS
## 引数の形式
- `<taskname>` - タスク名specs/[taskname]/ディレクトリ)
- `<phase番号>` - 検証対象のPhase番号1, 2, 3...
## 検証手順
### 1. 準備
- 引数の解析未指定の場合はAskUserQuestionで確認
- `specs/[taskname]/tasks/phase{N}-*.md` の存在確認
- Phase計画書から実装ファイルリストを抽出
### 2. コーディング規約チェック
実装ファイルをGrepツールでチェック
**禁止事項**:
- `any`型の使用(`pattern: "\bany\b"`)→ ファイルパス:行番号を記録
- barrel import/export`pattern: "export \* from"`)→ ファイルパス:行番号を記録
**要確認**:
- `interface`の使用(`pattern: "^\s*interface\s+"`)→ コメントで理由が説明されているか確認
### 3. テストの確認と実行
- 各実装ファイルに対応するテストファイル(`*.test.ts`, `*.spec.ts`等)の存在確認
- AskUserQuestionでテストコマンドを確認例: `volta run --node $(cat .node-version) yarn test`
- テストを実行し、成功/失敗/スキップ数を記録
### 4. 品質チェックコマンドの実行
- AskUserQuestionで品質チェックコマンドを確認例: `yarn lint && yarn type-check && yarn build`
- 各コマンドを実行し、結果を記録:
- Lint: エラー数、警告数
- Type check: 型エラー数
- Build: 成功/失敗
### 5. Phase間の実装品質チェックPhase 2以降のみ
- 前Phaseの成果物がimportされているかGrepで`import`文を検索)
- 型の互換性確認type-checkの結果を参照
### 6. 検証結果レポート
```markdown
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔧 Phase {N} 品質検証レポート
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📍 specs/{taskname}/ - Phase {N}
📅 {YYYY-MM-DD HH:MM}
## 総合評価
{✅ / ⚠️ / ❌}
## 検証結果
### コーディング規約
- any型: {✅/❌} {違反数}件
- barrel import/export: {✅/❌} {違反数}件
- interface使用: {✅/⚠️}
{違反がある場合: ファイルパス:行番号}
### テスト
- テストファイル: {exists}/{expected}
- 実行結果: 成功 {passed} / 失敗 {failed} / スキップ {skipped}
### 品質チェック
- Lint: {✅/⚠️/❌} {エラー}E / {警告}W
- Type check: {✅/❌} {エラー}件
- Build: {✅/❌}
### Phase間統合Phase 2以降
{✅/⚠️/❌/N/A}
## 🚨 要対応項目
{問題のリスト}
## 💡 次のアクション
✅: Phase完了可能。overview.mdを「完了」に更新推奨
⚠️: 警告を解決後、再検証(`/sdd:verify:quality {taskname} {N}`
❌: 重大な問題を解決後、再検証
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
### 7. 問題への対応(⚠️/❌の場合)
AskUserQuestionで各問題の対応方針を確認最大4問/回):
- 選択肢に「修正する」「対応しない」等を含める
- 選択後、TodoWriteでタスク作成
### 8. overview.md更新提案✅の場合のみ
AskUserQuestionで「overview.mdのPhase状態を『完了』に更新しますか」と確認。
## 注意事項
- `.node-version`がある場合は`volta run`を使用
- テスト・品質チェックコマンドは必ずユーザーに確認
- コーディング規約(`any`禁止、barrel禁止は厳格にチェック
## 矛盾チェック(必須)
品質検証後、仕様書とコードの整合性を必ず contradiction-checker SubAgent を使用して確認してください:
```bash
# contradiction-checker SubAgentを使用指摘のみ、修正は行わない
Task(contradiction-checker): specs/[taskname]/ の全ドキュメント間の矛盾をチェックしてください。実装の品質が仕様書の要求水準と整合しているか確認してください。
```