qfai 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +53 -74
  2. package/assets/init/.qfai/README.md +17 -82
  3. package/assets/init/.qfai/assistant/README.md +9 -0
  4. package/assets/init/.qfai/assistant/agents/README.md +34 -0
  5. package/assets/init/.qfai/assistant/agents/architect.md +73 -0
  6. package/assets/init/.qfai/assistant/agents/backend-engineer.md +73 -0
  7. package/assets/init/.qfai/assistant/agents/code-reviewer.md +73 -0
  8. package/assets/init/.qfai/assistant/agents/contract-designer.md +73 -0
  9. package/assets/init/.qfai/assistant/agents/devops-ci-engineer.md +73 -0
  10. package/assets/init/.qfai/assistant/agents/facilitator.md +74 -0
  11. package/assets/init/.qfai/assistant/agents/frontend-engineer.md +73 -0
  12. package/assets/init/.qfai/assistant/agents/interviewer.md +72 -0
  13. package/assets/init/.qfai/assistant/agents/planner.md +73 -0
  14. package/assets/init/.qfai/assistant/agents/qa-engineer.md +73 -0
  15. package/assets/init/.qfai/assistant/agents/requirements-analyst.md +73 -0
  16. package/assets/init/.qfai/assistant/agents/test-engineer.md +73 -0
  17. package/assets/init/.qfai/assistant/instructions/README.md +6 -0
  18. package/assets/init/.qfai/assistant/instructions/constitution.md +131 -0
  19. package/assets/init/.qfai/assistant/instructions/workflow.md +75 -0
  20. package/assets/init/.qfai/assistant/prompts/README.md +19 -0
  21. package/assets/init/.qfai/assistant/prompts/qfai-discuss.md +173 -0
  22. package/assets/init/.qfai/assistant/prompts/qfai-implement.md +239 -0
  23. package/assets/init/.qfai/assistant/prompts/qfai-pr.md +218 -0
  24. package/assets/init/.qfai/assistant/prompts/qfai-require.md +273 -0
  25. package/assets/init/.qfai/assistant/prompts/qfai-scenario-test.md +229 -0
  26. package/assets/init/.qfai/assistant/prompts/qfai-spec.md +287 -0
  27. package/assets/init/.qfai/assistant/prompts/qfai-unit-test.md +202 -0
  28. package/assets/init/.qfai/assistant/prompts/qfai-verify.md +231 -0
  29. package/assets/init/.qfai/assistant/prompts.local/README.md +6 -0
  30. package/assets/init/.qfai/assistant/steering/README.md +33 -0
  31. package/assets/init/.qfai/assistant/steering/product.md +32 -0
  32. package/assets/init/.qfai/assistant/steering/structure.md +34 -0
  33. package/assets/init/.qfai/assistant/steering/tech.md +37 -0
  34. package/assets/init/.qfai/contracts/README.md +7 -87
  35. package/assets/init/.qfai/contracts/api/README.md +8 -0
  36. package/assets/init/.qfai/contracts/db/README.md +8 -0
  37. package/assets/init/.qfai/contracts/ui/README.md +8 -0
  38. package/assets/init/.qfai/report/README.md +13 -0
  39. package/assets/init/.qfai/require/README.md +4 -26
  40. package/assets/init/.qfai/require/require.md +74 -0
  41. package/assets/init/.qfai/specs/README.md +6 -57
  42. package/assets/init/root/.github/workflows/qfai.yml +1 -1
  43. package/assets/init/root/qfai.config.yaml +3 -4
  44. package/dist/cli/index.cjs +313 -472
  45. package/dist/cli/index.cjs.map +1 -1
  46. package/dist/cli/index.mjs +295 -454
  47. package/dist/cli/index.mjs.map +1 -1
  48. package/dist/index.cjs +37 -63
  49. package/dist/index.cjs.map +1 -1
  50. package/dist/index.d.cts +0 -1
  51. package/dist/index.d.ts +0 -1
  52. package/dist/index.mjs +37 -63
  53. package/dist/index.mjs.map +1 -1
  54. package/package.json +1 -1
  55. package/assets/init/.qfai/contracts/api/api-0001-sample.yaml +0 -15
  56. package/assets/init/.qfai/contracts/db/db-0001-sample.sql +0 -7
  57. package/assets/init/.qfai/contracts/ui/assets/thema-001-facebook-like/assets.yaml +0 -6
  58. package/assets/init/.qfai/contracts/ui/assets/thema-001-facebook-like/palette.png +0 -0
  59. package/assets/init/.qfai/contracts/ui/assets/ui-0001-sample/assets.yaml +0 -6
  60. package/assets/init/.qfai/contracts/ui/assets/ui-0001-sample/snapshots/login__desktop__light__default.png +0 -0
  61. package/assets/init/.qfai/contracts/ui/thema-001-facebook-like.yml +0 -13
  62. package/assets/init/.qfai/contracts/ui/ui-0001-sample.yaml +0 -17
  63. package/assets/init/.qfai/out/README.md +0 -17
  64. package/assets/init/.qfai/promptpack/commands/implement.md +0 -8
  65. package/assets/init/.qfai/promptpack/commands/plan.md +0 -11
  66. package/assets/init/.qfai/promptpack/commands/release.md +0 -6
  67. package/assets/init/.qfai/promptpack/commands/review.md +0 -7
  68. package/assets/init/.qfai/promptpack/constitution.md +0 -15
  69. package/assets/init/.qfai/promptpack/modes/change.md +0 -5
  70. package/assets/init/.qfai/promptpack/modes/compatibility.md +0 -6
  71. package/assets/init/.qfai/promptpack/roles/qa.md +0 -4
  72. package/assets/init/.qfai/promptpack/roles/spec.md +0 -4
  73. package/assets/init/.qfai/promptpack/roles/test.md +0 -4
  74. package/assets/init/.qfai/promptpack/steering/compatibility-vs-change.md +0 -42
  75. package/assets/init/.qfai/promptpack/steering/naming.md +0 -7
  76. package/assets/init/.qfai/promptpack/steering/traceability.md +0 -25
  77. package/assets/init/.qfai/prompts/README.md +0 -70
  78. package/assets/init/.qfai/prompts/analyze/README.md +0 -21
  79. package/assets/init/.qfai/prompts/analyze/scenario_test_consistency.md +0 -8
  80. package/assets/init/.qfai/prompts/analyze/scenario_to_test.md +0 -56
  81. package/assets/init/.qfai/prompts/analyze/spec_contract_consistency.md +0 -8
  82. package/assets/init/.qfai/prompts/analyze/spec_scenario_consistency.md +0 -8
  83. package/assets/init/.qfai/prompts/analyze/spec_to_contract.md +0 -54
  84. package/assets/init/.qfai/prompts/analyze/spec_to_scenario.md +0 -56
  85. package/assets/init/.qfai/prompts/makeBusinessFlow.md +0 -34
  86. package/assets/init/.qfai/prompts/makeOverview.md +0 -27
  87. package/assets/init/.qfai/prompts/qfai-classify-change.md +0 -33
  88. package/assets/init/.qfai/prompts/qfai-generate-test-globs.md +0 -29
  89. package/assets/init/.qfai/prompts/qfai-maintain-contracts.md +0 -35
  90. package/assets/init/.qfai/prompts/qfai-maintain-traceability.md +0 -36
  91. package/assets/init/.qfai/prompts/require-to-spec.md +0 -41
  92. package/assets/init/.qfai/prompts.local/README.md +0 -31
  93. package/assets/init/.qfai/rules/conventions.md +0 -27
  94. package/assets/init/.qfai/rules/pnpm.md +0 -29
  95. package/assets/init/.qfai/samples/analyze/analysis.md +0 -38
  96. package/assets/init/.qfai/samples/analyze/input_bundle.md +0 -54
  97. package/assets/init/.qfai/specs/spec-0001/delta.md +0 -30
  98. package/assets/init/.qfai/specs/spec-0001/scenario.feature +0 -11
  99. package/assets/init/.qfai/specs/spec-0001/spec.md +0 -40
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qfai",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Quality-first AI-driven development toolkit (SDD × ATDD × TDD).",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,15 +0,0 @@
1
- # QFAI-CONTRACT-ID: API-0001
2
- # OpenAPI contract sample (API-0001)
3
- # - 必須: QFAI-CONTRACT-ID (1ファイル1ID)
4
- # - 必須: openapi, info, paths
5
- openapi: 3.0.0
6
- info:
7
- title: QFAI Sample API
8
- version: 0.1.0
9
- paths:
10
- /health:
11
- get:
12
- operationId: healthCheck
13
- responses:
14
- "200":
15
- description: OK
@@ -1,7 +0,0 @@
1
- -- QFAI-CONTRACT-ID: DB-0001
2
- -- DB-0001 (DB contract sample)
3
- -- 破壊的 SQL (削除/破棄系) は警告対象
4
- CREATE TABLE sample_table (
5
- id INTEGER PRIMARY KEY,
6
- name VARCHAR(255) NOT NULL
7
- );
@@ -1,6 +0,0 @@
1
- packId: THEMA-001
2
- type: thema
3
- items:
4
- - id: THEMA-001.palette.default
5
- kind: snapshot
6
- path: palette.png
@@ -1,6 +0,0 @@
1
- packId: UI-0001
2
- type: ui
3
- items:
4
- - id: UI-0001.desktop.light.default
5
- kind: snapshot
6
- path: snapshots/login__desktop__light__default.png
@@ -1,13 +0,0 @@
1
- # QFAI-CONTRACT-ID: THEMA-001
2
- id: THEMA-001
3
- name: facebook-like
4
- tokens:
5
- color:
6
- background: "#FFFFFF"
7
- textPrimary: "#111111"
8
- accent: "#1877F2"
9
- components:
10
- Button:
11
- primary:
12
- backgroundToken: "color.accent"
13
- textToken: "color.background"
@@ -1,17 +0,0 @@
1
- # QFAI-CONTRACT-ID: UI-0001
2
- # UI contract sample (UI-0001)
3
- # - 必須: QFAI-CONTRACT-ID (1ファイル1ID)
4
- # - 任意: id, name, refs
5
- id: UI-0001
6
- name: Order Registration
7
- refs:
8
- - BR-0001
9
- themaRef: THEMA-001
10
- themeOverrides:
11
- Button:
12
- primary:
13
- backgroundToken: "color.accent"
14
- assets:
15
- pack: assets/ui-0001-sample
16
- use:
17
- - UI-0001.desktop.light.default
@@ -1,17 +0,0 @@
1
- # Output (.qfai/out)
2
-
3
- `qfai validate` と `qfai report` の出力先です。
4
-
5
- ## 生成されるファイル
6
-
7
- - `validate.json` : 検証結果(JSON)
8
- - `report.md` / `report.json` : レポート
9
-
10
- ## 運用メモ
11
-
12
- - 原則として **コミットしない** ことを推奨します
13
- - `.gitignore` への追記例:
14
-
15
- ```
16
- .qfai/out/
17
- ```
@@ -1,8 +0,0 @@
1
- # Implement
2
-
3
- - 既存の型/ユーティリティ/パターンを優先して再利用する
4
- - 入力検証と失敗パスを先に書く
5
- - 早期 return でネストを浅くする
6
- - ログ/エラーメッセージは具体的かつ最小限にする
7
- - 契約追加/変更時は `prompts/qfai-maintain-contracts.md` を使う
8
- - 参照切れがある場合は `prompts/qfai-maintain-traceability.md` を使う
@@ -1,11 +0,0 @@
1
- # Plan
2
-
3
- 目的と完了条件を先に明確化し、以下を最小構成で整理する。
4
-
5
- - ゴール/完了条件
6
- - スコープ(やる/やらない)
7
- - 手順(小さく分割)
8
- - テスト方針
9
- - リスクと確認点
10
- - testFileGlobs が未整備なら `prompts/qfai-generate-test-globs.md` を使う
11
- - Compatibility/Change が不明なら `prompts/qfai-classify-change.md` で整理する
@@ -1,6 +0,0 @@
1
- # Release
2
-
3
- - CHANGELOG と version を更新する
4
- - `pnpm format:check && pnpm lint && pnpm check-types` を実行する
5
- - `pnpm -C packages/qfai test` と `pnpm verify:pack` を実行する
6
- - タグ付与は main の HEAD に対して行う
@@ -1,7 +0,0 @@
1
- # Review
2
-
3
- - Spec/Scenario/Contracts と実装の整合
4
- - 互換維持/変更の区分が delta.md に記録されているか
5
- - 区分が曖昧なら `prompts/qfai-classify-change.md` で再整理する
6
- - 影響範囲とテスト結果の妥当性
7
- - セキュリティ/運用上の懸念がないか
@@ -1,15 +0,0 @@
1
- # PromptPack Constitution
2
-
3
- PromptPack はプロジェクト内の SSOT(Single Source of Truth)として扱う。
4
-
5
- ## 基本原則
6
-
7
- - spec/scenario/delta/BR/SC を最優先で読む
8
- - 変更は delta.md に記録し、互換維持/変更の区分を明示する
9
- - validate を通すことを必須とする(通らないなら仕様/運用が破綻している)
10
- - 不確実性(仮説/未確定/TODO)は残し方針を統一する
11
-
12
- ## 運用
13
-
14
- - PromptPack は人が手動で参照する前提とする
15
- - 自動配置は v0.9 の emit/adapter まで行わない
@@ -1,5 +0,0 @@
1
- # Mode: Change
2
-
3
- - 期待値/挙動/互換性が変わる場合は Change を選ぶ
4
- - 仕様変更の根拠(Why)を delta.md に必ず記録する
5
- - 影響範囲、移行・運用への影響、受入テスト更新方針を明記する
@@ -1,6 +0,0 @@
1
- # Mode: Compatibility
2
-
3
- - 既存仕様との整合を最優先にする
4
- - 期待値/外部I/Fの変更は行わない(変更がある場合は Change へ)
5
- - 影響範囲を最小化し、回帰テストを重視する
6
- - 分類と根拠(Why)、影響範囲、受入テスト更新方針を明記する
@@ -1,4 +0,0 @@
1
- # Role: QA
2
-
3
- - 例外/境界値/運用時の挙動を中心に確認する
4
- - 仕様とテストが一致しているかを検証する
@@ -1,4 +0,0 @@
1
- # Role: Spec
2
-
3
- - 仕様書と成果物の整合を優先する
4
- - ID/参照/命名規約の逸脱を検出する
@@ -1,4 +0,0 @@
1
- # Role: Test
2
-
3
- - 振る舞い変更は再現テストを先に追加する
4
- - 近傍の適切な層でカバーする
@@ -1,42 +0,0 @@
1
- # Compatibility vs Change
2
-
3
- 互換維持と仕様変更の区分は `rules/conventions.md` に従う。
4
-
5
- - 互換維持: 既存の期待値を変えない
6
- - 仕様変更: 期待値/挙動が変わる
7
-
8
- 必ず `delta.md` に区分と根拠を記録する。
9
-
10
- ---
11
-
12
- ## 最小ルール(迷ったらこれ)
13
-
14
- - **既存の利用者がそのまま手順・解釈で運用できる**: Compatibility
15
- - **既存の利用者が手順変更・解釈変更・レビュー基準変更を迫られる**: Change/Improvement
16
-
17
- 「見た目だけ」「文章だけ」でも、運用で機械消費されている可能性がある場合は慎重に扱い、根拠を `delta.md` に残す。
18
-
19
- ---
20
-
21
- ## 具体例(最低10件)
22
-
23
- | 変更内容 | 区分 | QA/レビュー観点 |
24
- | ------------------------------------------------------------- | ------------------ | ---------------------------------------------------- |
25
- | README の誤字修正、リンク切れ修正 | Compatibility | 誤誘導が減る。既存運用は不変。 |
26
- | report(text/markdown)の表現改善・並び順安定化(意味は不変) | Compatibility | 人間レビューの短縮。出力の“解釈”が変わらないこと。 |
27
- | report.json のフィールド追加/並び変更(非契約を維持) | Compatibility | 非契約を明記し続ける。機械消費ユーザーへの注意喚起。 |
28
- | validate の文言改善(issue code/意味/失敗条件は不変) | Compatibility | 次アクションが明確になる。誤爆やノイズ増がないこと。 |
29
- | validate で新しい issue code を追加(warning/info) | Change/Improvement | CIの表示が変わる。ノイズ/誤検知の受容可否。 |
30
- | validate の fail 条件を変更(error→warning で落ちる等) | Change/Improvement | Hard Gate が増減する。既存CIが壊れないか。 |
31
- | init の生成物構成を変更(新規ファイル追加) | Change/Improvement | 既存リポジトリへの導入影響。上書き/衝突/運用導線。 |
32
- | init が既存ファイルを上書きする/保護対象を変える | Change/Improvement | 事故リスクが高い。保護の回帰テスト必須。 |
33
- | Spec/Scenario/Contract のID規約を変更 | Change/Improvement | 既存資産が無効化され得る。移行ガイド必須。 |
34
- | overlay の優先順位/探索規則を変更 | Change/Improvement | 既存の prompts.local 運用が壊れる。回帰テスト必須。 |
35
-
36
- ---
37
-
38
- ## QA/レビュー時の判断テンプレ
39
-
40
- - **修正が必要**: Hard Gate を増やしていないか、既存の運用手順を壊していないか、保護領域(prompts.local)が破壊されないか
41
- - **許容**: 誤誘導削減、説明の具体化、並び順の安定化などで、意味・失敗条件が変わらないもの
42
- - **要議論**: report.json の変更、validate の新ルール追加、init生成物の変更(CI/運用への波及が読みにくいもの)
@@ -1,7 +0,0 @@
1
- # Naming
2
-
3
- 命名規約は `docs/rules/naming.md` を正とする。
4
-
5
- - ID は `PREFIX-0001` 形式(4桁ゼロ埋め)
6
- - 参照はファイル名ではなく ID を用いる
7
- - 同一 ID の重複定義は禁止
@@ -1,25 +0,0 @@
1
- # Traceability
2
-
3
- 参照は下流→上流のみを許可する(下流参照禁止の対象はテスト/実装)。
4
-
5
- ## 用語(CI と Hard Gate)
6
-
7
- - 「CIで検出する」: validate が issue を出す(info/warning/error を含む)
8
- - 「Hard Gate」: `--fail-on error` で CI を止める領域
9
-
10
- - Spec は QFAI-CONTRACT-REF で契約IDを宣言する(none可、宣言行は必須)
11
- - Scenario は @SPEC-xxxx / @SC-xxxx / @BR-xxxx を持つ
12
- - Scenario は `# QFAI-CONTRACT-REF` で契約参照を宣言する(none 可、宣言行は必須)
13
- - テスト/コードは QFAI:SC-xxxx で SC を参照する
14
- - Spec はテスト/実装(src/tests)を参照しない
15
-
16
- ## CIで検出する範囲
17
-
18
- - BR→SC のトレーサビリティ
19
- - Spec→Contract の参照(QFAI-CONTRACT-REF/ID形式)
20
- - SC→Test の参照(QFAI:SC-xxxx/ID形式)
21
- - 参照IDの形式などの整合
22
-
23
- ## CIで検出しないため運用で担保する範囲
24
-
25
- - Spec→下流参照禁止(検出する場合でも warning に留め、Hard Gate 化しない)
@@ -1,70 +0,0 @@
1
- # Prompts (手動利用)
2
-
3
- このディレクトリのプロンプトは **手動で使う資産**です。現時点では自動読取は行いません(将来のバージョンで CLI 連携を検討します)。
4
-
5
- 重要: `.qfai/prompts/**` は **QFAI 標準資産**です。QFAI のアップデートや `qfai init` の再実行により **上書きされ得ます**。
6
- 利用者が直接編集することは **非推奨・非サポート(ほぼ禁止)**です。変更したい場合は `.qfai/prompts.local/**` に同一相対パスで置いて overlay してください。
7
-
8
- ## 目的
9
-
10
- - Spec から overview / Business Flow を生成するための素材
11
- - トレーサビリティ/契約/変更区分の運用支援(CIで止めない領域)
12
- - 意味矛盾(解釈/前提/用語/受入条件の齟齬)のレビュー補助(analyze)
13
- - 将来の CLI 連携に備えた配布物(現時点では手動利用のみ)
14
-
15
- ## Overlay(prompts.local)
16
-
17
- カスタムしたい場合は、次の優先順位で参照する運用とします。
18
-
19
- 1. `.qfai/prompts.local/<relativePath>`
20
- 2. `.qfai/prompts/<relativePath>`
21
-
22
- ## プロンプト一覧
23
-
24
- - `makeOverview.md`: Spec 一覧(overview)生成
25
- - `makeBusinessFlow.md`: 業務フロー(BF)整理
26
- - `require-to-spec.md`: 既存要件から Spec Pack を起こす
27
- - `qfai-generate-test-globs.md`: テストファイル glob の生成支援(`qfai.config.yaml` 更新)
28
- - `qfai-maintain-traceability.md`: 参照切れの修復(Spec/Scenario/Test)
29
- - `qfai-maintain-contracts.md`: 契約 ID と参照の整合
30
- - `qfai-classify-change.md`: Compatibility / Change 分類支援
31
- - `analyze/README.md`: analyze の目的/入力/出力フォーマット
32
- - `analyze/spec_to_scenario.md`: Spec ↔ Scenario の意味整合
33
- - `analyze/spec_to_contract.md`: Spec ↔ Contract の対応漏れ/参照不整合
34
- - `analyze/scenario_to_test.md`: Scenario ↔ Test の網羅/抜け/誤差
35
-
36
- ## 使い分け表
37
-
38
- | Prompt | 目的 | 必須入力 | 出力の期待形式 | よくある失敗 |
39
- | ------------------------------- | ---------------- | --------------------------------------------- | ------------------------------ | ------------------- |
40
- | `qfai-maintain-traceability.md` | 参照切れの修復 | spec/delta/scenario + validate/report + tests | 修正方針 + diff + 再実行手順 | ID形式崩し/SSOT無視 |
41
- | `qfai-maintain-contracts.md` | 契約と参照の整合 | contracts + spec + report | 採番案 + 参照更新案 + diff | ID変更の無断実施 |
42
- | `qfai-classify-change.md` | 変更区分の判断 | delta.md + 変更差分 | 分類 + 根拠 + 影響範囲 | 根拠なし分類 |
43
- | `qfai-generate-test-globs.md` | テストglob生成 | package.json/設定/テスト配置 | glob案 + 更新案 + サンプル確認 | glob過剰/不足 |
44
- | `makeOverview.md` | Spec一覧生成 | spec.md | 一覧テーブル/サマリ | spec未読 |
45
- | `makeBusinessFlow.md` | 業務フロー整理 | spec.md/要件 | フロー手順/根拠 | 要件の飛ばし |
46
- | `require-to-spec.md` | 要件からSpec作成 | require資料 | Spec Pack草案 | ID採番の逸脱 |
47
-
48
- ## 使い方(例)
49
-
50
- 1. 目的のプロンプトを開く(例: `makeOverview.md`)
51
- 2. そのまま AI エージェントに貼り付ける
52
- 3. 指示された出力先に生成結果を保存する
53
-
54
- ### エージェント別の手動導線(例)
55
-
56
- - Copilot: `.github/copilot-instructions.md` に要旨を転記
57
- - Claude: `CLAUDE.md` に要旨を転記
58
- - Codex: `AGENTS.md` に要旨を転記
59
-
60
- ※ いずれも **自動生成はしません**。必要に応じて人手で同期してください。
61
-
62
- ## 出力先の例
63
-
64
- - Overview: `docs/specs/overview.md`
65
- - Business Flow: `docs/flows/bf-0001-<slug>.md`
66
-
67
- ## CI との関係
68
-
69
- - プロンプト自体は CI の検査対象ではありません
70
- - 生成物をレビューし、Spec/Scenario/Contracts と整合しているかを確認してください
@@ -1,21 +0,0 @@
1
- # analyze(手動利用)
2
-
3
- このディレクトリは QFAI の `validate` が扱わない **意味レベル** の矛盾/抜け/リスクを、レビューのために洗い出すための **手動プロンプト集**です。
4
-
5
- 重要:
6
-
7
- - analyze は **Hard Gate ではありません**(CI を落とさない想定)
8
- - 出力は **候補**です。根拠(引用)を必ず確認し、最終判断はレビューで行ってください
9
- - `validate` が扱う **構造矛盾(参照/フォーマット/トレーサビリティ)** は対象外です
10
-
11
- ## 推奨入力(最小セット)
12
-
13
- - Project Context / Spec / Scenario / Test / Contract のうち、今回関係する箇所を **抜粋**で用意する
14
- - `validate` / `report` の結果(必要なら要約)
15
- - 変更差分(PR diff / 変更ファイル一覧)
16
-
17
- ## プロンプト一覧(v0.9.x)
18
-
19
- - `spec_to_scenario.md`: Spec ↔ Scenario の意味整合
20
- - `spec_to_contract.md`: Spec ↔ Contract の参照整合(紐付け漏れ/根拠薄弱)
21
- - `scenario_to_test.md`: Scenario ↔ Test の網羅性/ズレ
@@ -1,8 +0,0 @@
1
- # Deprecated
2
-
3
- このプロンプトは v0.9.1 で命名/雛形を整理しました。
4
-
5
- - 代替: `.qfai/prompts/analyze/scenario_to_test.md`
6
- - 理由: v0.9.1 の `qfai analyze --list` / `--prompt` が標準3本(spec_to_scenario/spec_to_contract/scenario_to_test)に揃えているため
7
-
8
- 以降は新しいプロンプトを利用してください。
@@ -1,56 +0,0 @@
1
- # analyze: Scenario ↔ Test 網羅性/ズレチェック
2
-
3
- ## 目的
4
-
5
- - Scenario(受入条件)が Test で担保されているかを確認する
6
- - Test が Scenario の意図を誤解していないかを確認する
7
-
8
- ## 入力の前提(貼り付けて埋める)
9
-
10
- 入力が多すぎる場合は「抜粋にする」「代表ケースだけに絞る」を優先してください。
11
-
12
- ### Project Context(任意)
13
-
14
- - 対象機能:
15
- - 前提/制約:
16
- - 対象外(Non-goals):
17
-
18
- ### Scenario Excerpts
19
-
20
- - ...
21
-
22
- ### Test Excerpts
23
-
24
- - ...
25
-
26
- ### Spec Excerpts(任意)
27
-
28
- - ...
29
-
30
- ### Contract / Trace Links(任意)
31
-
32
- - (Scenario ID)→(Test名/ファイル など)
33
- - ...
34
-
35
- ### Open Concerns(任意)
36
-
37
- - ...
38
-
39
- ## チェック観点
40
-
41
- - シナリオの各条件がテストに対応しているか(対応表を作る)
42
- - 例外系・境界条件がテストされているか
43
- - テスト名/説明がシナリオ用語と一致しているか
44
- - テストが多すぎる/少なすぎることによるリスク
45
-
46
- ## 期待する出力形式
47
-
48
- - 対応表(Scenario項目 → Test名/箇所)
49
- - 漏れ(未テスト)とズレ(誤解)のリスト
50
- - 優先度(高/中/低)を付ける
51
-
52
- ## 次アクション
53
-
54
- - Test追加/修正案:
55
- - Scenario追加/修正案:
56
- - 追加で確認すべき質問:
@@ -1,8 +0,0 @@
1
- # Deprecated
2
-
3
- このプロンプトは v0.9.1 で命名/雛形を整理しました。
4
-
5
- - 代替: `.qfai/prompts/analyze/spec_to_contract.md`
6
- - 理由: v0.9.1 の `qfai analyze --list` / `--prompt` が標準3本(spec_to_scenario/spec_to_contract/scenario_to_test)に揃えているため
7
-
8
- 以降は新しいプロンプトを利用してください。
@@ -1,8 +0,0 @@
1
- # Deprecated
2
-
3
- このプロンプトは v0.9.1 で命名/雛形を整理しました。
4
-
5
- - 代替: `.qfai/prompts/analyze/spec_to_scenario.md`
6
- - 理由: v0.9.1 の `qfai analyze --list` / `--prompt` が標準3本(spec_to_scenario/spec_to_contract/scenario_to_test)に揃えているため
7
-
8
- 以降は新しいプロンプトを利用してください。
@@ -1,54 +0,0 @@
1
- # analyze: Spec ↔ Contract トレーサビリティチェック
2
-
3
- ## 目的
4
-
5
- - Spec と Contract(参照関係)が噛み合っているかを確認する
6
- - 紐付け漏れ・参照の根拠薄弱を抽出する
7
-
8
- ## 入力の前提(貼り付けて埋める)
9
-
10
- 入力が多すぎる場合は「抜粋にする」「代表ケースだけに絞る」を優先してください。
11
-
12
- ### Project Context
13
-
14
- - 対象機能:
15
- - 前提/制約:
16
- - 対象外(Non-goals):
17
-
18
- ### Spec Excerpts
19
-
20
- - ...
21
-
22
- ### Contract / Trace Links
23
-
24
- - (Spec ID)→(Scenario ID / Test ID など)
25
- - ...
26
-
27
- ### Scenario Excerpts(任意)
28
-
29
- - ...
30
-
31
- ### Test Excerpts(任意)
32
-
33
- - ...
34
-
35
- ### Open Concerns(任意)
36
-
37
- - ...
38
-
39
- ## チェック観点
40
-
41
- - Spec に対してリンクが存在しない箇所(紐付け漏れ)
42
- - Contract で参照しているが、Spec 側に根拠が見当たらない箇所
43
- - 参照の向きが不自然な箇所(誤ったID、転記ミスの疑い)
44
-
45
- ## 期待する出力形式
46
-
47
- - 「紐付け漏れ」「根拠薄弱」「参照ミス疑い」に分類
48
- - それぞれに修正案(Contract修正 / Spec補強 / Scenario追加)を付ける
49
-
50
- ## 次アクション
51
-
52
- - Contract修正案:
53
- - Spec補強案:
54
- - 追加で確認すべき質問:
@@ -1,56 +0,0 @@
1
- # analyze: Spec ↔ Scenario 整合性チェック
2
-
3
- ## 目的
4
-
5
- - Spec(仕様)の主張が Scenario(受入シナリオ)に反映されているかを確認する
6
- - Scenario が Spec を逸脱していないかを確認する
7
-
8
- ## 入力の前提(貼り付けて埋める)
9
-
10
- 入力が多すぎる場合は「抜粋にする」「代表ケースだけに絞る」を優先してください。
11
-
12
- ### Project Context
13
-
14
- - 対象機能:
15
- - 前提/制約:
16
- - 対象外(Non-goals):
17
-
18
- ### Spec Excerpts
19
-
20
- - ...
21
-
22
- ### Scenario Excerpts
23
-
24
- - ...
25
-
26
- ### Test Excerpts(任意)
27
-
28
- - ...
29
-
30
- ### Contract / Trace Links(任意)
31
-
32
- - (Spec ID)→(Scenario ID / Test ID など)
33
- - ...
34
-
35
- ### Open Concerns(任意)
36
-
37
- - ...
38
-
39
- ## チェック観点
40
-
41
- - 用語定義の不一致(同じ言葉で別の意味)
42
- - 例外条件/境界条件の不足
43
- - 受入条件(Given/When/Then 等)が仕様の制約を満たすか
44
- - 仕様にあるのにシナリオがない項目(漏れ)
45
- - シナリオにあるのに仕様に根拠がない項目(逸脱)
46
-
47
- ## 期待する出力形式
48
-
49
- - 矛盾 / 不明点 / 漏れ をそれぞれ箇条書き
50
- - それぞれに「根拠(Spec/Scenario抜粋の引用)」と「提案(修正案)」を付ける
51
-
52
- ## 次アクション
53
-
54
- - Spec修正案:
55
- - Scenario追加/修正案:
56
- - 追加で確認すべき質問:
@@ -1,34 +0,0 @@
1
- # makeBusinessFlow
2
-
3
- あなたは業務フロー(Business Flow: BF)を“推測せず”に整理するアシスタントです。
4
- Spec群を読み、Specに明示されている情報のみを根拠として、代表的な業務フロー候補と、ステップ→Specの対応表を作成してください。
5
-
6
- ## Inputs
7
-
8
- - 対象: `.qfai/specs/spec-*/spec.md` 形式のファイル(Spec Pack の `spec.md`。必要に応じて `scenario.feature` / `delta.md` も補助参照)
9
-
10
- ## Output (Option)
11
-
12
- - docs/flows/overview.md(BF一覧)
13
- - docs/flows/bf-0001-<slug>.md 等(個別BF)
14
-
15
- ## Hard Rules
16
-
17
- - Specに書かれていない業務フローを“創作”しない。
18
- - 根拠が薄い場合は候補として列挙し `TBD` を付ける。
19
- - BFの各ステップは必ず SPEC-ID に紐づける。
20
- - BR/SC/UI/API/DB の参照は Spec に書かれているもののみ。
21
-
22
- ## BF Document Format (per BF)
23
-
24
- - BF-ID / Title
25
- - Scope(開始条件/終了条件)
26
- - Actors(登場人物)
27
- - Steps(番号付き): step → SPEC-ID → 一行説明
28
- - Related BR / SC
29
- - Open Questions(TBD列挙)
30
-
31
- ## Safety
32
-
33
- - 既存ファイルがある場合は、`<!-- qfai:generated:start -->` と `<!-- qfai:generated:end -->` の範囲だけ更新。
34
- - それ以外の手書き領域は絶対に変更しない。
@@ -1,27 +0,0 @@
1
- # makeOverview
2
-
3
- あなたはドキュメント生成アシスタントです。リポジトリ内の Spec を走査し、Spec一覧(overview)を生成してください。
4
-
5
- ## Inputs
6
-
7
- - 対象: `.qfai/specs/spec-*/spec.md` 形式のファイル(Spec Pack の `spec.md`。必要に応じて `scenario.feature` / `delta.md` も補助参照)
8
-
9
- ## Output
10
-
11
- - docs/specs/overview.md を更新
12
- - 更新は必ず次の範囲のみ:
13
- - <!-- qfai:generated:start -->
14
- - <!-- qfai:generated:end -->
15
-
16
- ## Rules
17
-
18
- - Spec本文に書かれていないことは推測しない(不明は `TBD` と書く)。
19
- - SpecのIDとタイトルは、本文先頭の `# SPEC-xxxx ...` を正とし、ファイル名は補助。
20
- - 各Specについて最低限以下を表にする:
21
- - SPEC-ID / Title / Outcome(1行) / Status / SC / UI / API / DB / Tags
22
- - 参照が欠けている場合(例: SCが未記載)は “欠落一覧” に列挙する。
23
-
24
- ## Format
25
-
26
- - Markdown table
27
- - 生成日時(JST)と、参照したSpecファイル一覧を末尾に付記する。