qfai 1.0.4 → 1.0.6

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 (94) hide show
  1. package/README.md +58 -67
  2. package/assets/init/.qfai/README.md +17 -76
  3. package/assets/init/.qfai/assistant/README.md +9 -0
  4. package/assets/init/.qfai/assistant/agents/README.md +36 -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 +10 -0
  18. package/assets/init/.qfai/assistant/instructions/agent-selection.md +28 -0
  19. package/assets/init/.qfai/assistant/instructions/communication.md +27 -0
  20. package/assets/init/.qfai/assistant/instructions/constitution.md +131 -0
  21. package/assets/init/.qfai/assistant/instructions/quality.md +27 -0
  22. package/assets/init/.qfai/assistant/instructions/thinking.md +29 -0
  23. package/assets/init/.qfai/assistant/instructions/workflow.md +75 -0
  24. package/assets/init/.qfai/assistant/prompts/README.md +19 -0
  25. package/assets/init/.qfai/assistant/prompts/qfai-discuss.md +173 -0
  26. package/assets/init/.qfai/assistant/prompts/qfai-implement.md +230 -0
  27. package/assets/init/.qfai/assistant/prompts/qfai-pr.md +209 -0
  28. package/assets/init/.qfai/assistant/prompts/qfai-require.md +264 -0
  29. package/assets/init/.qfai/assistant/prompts/qfai-scenario-test.md +220 -0
  30. package/assets/init/.qfai/assistant/prompts/qfai-spec.md +291 -0
  31. package/assets/init/.qfai/assistant/prompts/qfai-unit-test.md +193 -0
  32. package/assets/init/.qfai/assistant/prompts/qfai-verify.md +222 -0
  33. package/assets/init/.qfai/assistant/prompts.local/README.md +8 -0
  34. package/assets/init/.qfai/assistant/steering/README.md +40 -0
  35. package/assets/init/.qfai/assistant/steering/product.md +32 -0
  36. package/assets/init/.qfai/assistant/steering/structure.md +34 -0
  37. package/assets/init/.qfai/assistant/steering/tech.md +37 -0
  38. package/assets/init/.qfai/contracts/README.md +7 -87
  39. package/assets/init/.qfai/contracts/api/README.md +8 -0
  40. package/assets/init/.qfai/contracts/db/README.md +25 -0
  41. package/assets/init/.qfai/contracts/ui/README.md +8 -0
  42. package/assets/init/.qfai/report/README.md +13 -0
  43. package/assets/init/.qfai/require/README.md +4 -26
  44. package/assets/init/.qfai/require/require.md +74 -0
  45. package/assets/init/.qfai/specs/README.md +7 -55
  46. package/assets/init/root/.github/workflows/qfai.yml +1 -1
  47. package/assets/init/root/qfai.config.yaml +3 -3
  48. package/dist/cli/index.cjs +306 -423
  49. package/dist/cli/index.cjs.map +1 -1
  50. package/dist/cli/index.mjs +288 -405
  51. package/dist/cli/index.mjs.map +1 -1
  52. package/dist/index.cjs +29 -14
  53. package/dist/index.cjs.map +1 -1
  54. package/dist/index.mjs +29 -14
  55. package/dist/index.mjs.map +1 -1
  56. package/package.json +1 -1
  57. package/assets/init/.qfai/contracts/api/api-0001-sample.yaml +0 -15
  58. package/assets/init/.qfai/contracts/db/db-0001-sample.sql +0 -7
  59. package/assets/init/.qfai/contracts/ui/assets/thema-001-facebook-like/assets.yaml +0 -6
  60. package/assets/init/.qfai/contracts/ui/assets/thema-001-facebook-like/palette.png +0 -0
  61. package/assets/init/.qfai/contracts/ui/assets/ui-0001-sample/assets.yaml +0 -6
  62. package/assets/init/.qfai/contracts/ui/assets/ui-0001-sample/snapshots/login__desktop__light__default.png +0 -0
  63. package/assets/init/.qfai/contracts/ui/thema-001-facebook-like.yml +0 -13
  64. package/assets/init/.qfai/contracts/ui/ui-0001-sample.yaml +0 -17
  65. package/assets/init/.qfai/out/README.md +0 -17
  66. package/assets/init/.qfai/promptpack/commands/implement.md +0 -8
  67. package/assets/init/.qfai/promptpack/commands/plan.md +0 -11
  68. package/assets/init/.qfai/promptpack/commands/release.md +0 -6
  69. package/assets/init/.qfai/promptpack/commands/review.md +0 -6
  70. package/assets/init/.qfai/promptpack/constitution.md +0 -15
  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/naming.md +0 -7
  75. package/assets/init/.qfai/promptpack/steering/traceability.md +0 -25
  76. package/assets/init/.qfai/prompts/README.md +0 -68
  77. package/assets/init/.qfai/prompts/analyze/README.md +0 -21
  78. package/assets/init/.qfai/prompts/analyze/scenario_test_consistency.md +0 -8
  79. package/assets/init/.qfai/prompts/analyze/scenario_to_test.md +0 -56
  80. package/assets/init/.qfai/prompts/analyze/spec_contract_consistency.md +0 -8
  81. package/assets/init/.qfai/prompts/analyze/spec_scenario_consistency.md +0 -8
  82. package/assets/init/.qfai/prompts/analyze/spec_to_contract.md +0 -54
  83. package/assets/init/.qfai/prompts/analyze/spec_to_scenario.md +0 -56
  84. package/assets/init/.qfai/prompts/makeBusinessFlow.md +0 -34
  85. package/assets/init/.qfai/prompts/makeOverview.md +0 -27
  86. package/assets/init/.qfai/prompts/qfai-generate-test-globs.md +0 -29
  87. package/assets/init/.qfai/prompts/qfai-maintain-contracts.md +0 -35
  88. package/assets/init/.qfai/prompts/qfai-maintain-traceability.md +0 -36
  89. package/assets/init/.qfai/prompts/require-to-spec.md +0 -40
  90. package/assets/init/.qfai/prompts.local/README.md +0 -31
  91. package/assets/init/.qfai/specs/spec-0001/delta.md +0 -25
  92. package/assets/init/.qfai/specs/spec-0001/scenario.feature +0 -11
  93. package/assets/init/.qfai/specs/spec-0001/spec.md +0 -40
  94. package/assets/init/root/tests/qfai-traceability.sample.test.ts +0 -2
@@ -1,36 +0,0 @@
1
- # QFAI: トレーサビリティ保守(Spec/Scenario/Test の参照整合)
2
-
3
- あなたは QFAI の成果物を分析し、壊れた参照(Spec/Scenario/Test)を修復します。
4
-
5
- ## 目的
6
-
7
- - Spec/Scenario/Test の ID 参照が壊れた箇所を特定し、整合させる
8
- - 修正の影響と受入観点を整理する
9
-
10
- ## 必須入力
11
-
12
- - `.qfai/specs/**/spec.md` / `scenario.feature` / `delta.md`
13
- - `.qfai/out/validate.json`(あれば)
14
- - `.qfai/out/report.md`(あれば)
15
- - テストコード(`validation.traceability.testFileGlobs` に一致する範囲)
16
-
17
- ## 手順
18
-
19
- 1. validate/report の結果から、壊れている参照(Spec/BR/SC/Contract/Test)を列挙する。
20
- 2. Spec Pack(spec/delta/scenario)を読み、ID と参照の意図を把握する。
21
- 3. 修正の影響と受入観点を整理する。
22
- 4. 参照切れを解消する最小修正案(Spec/Scenario/Test)を作る。
23
- 5. 変更後の validate / report 手順を示す。
24
-
25
- ## 禁止事項
26
-
27
- - 仕様の勝手な拡張や要件追加をしない
28
- - ID 形式(`PREFIX-0001`)を崩さない
29
- - 参照の SSOT を変更しない(Spec→Contract は Spec の `QFAI-CONTRACT-REF` が正)
30
-
31
- ## 出力フォーマット
32
-
33
- - 変更内容と受入観点
34
- - 修正対象一覧(ファイル/ID/理由)
35
- - 提案 diff(またはパッチ単位)
36
- - 再実行コマンド(`qfai validate` / `qfai report` / テスト)
@@ -1,40 +0,0 @@
1
- # require-to-spec
2
-
3
- あなたは仕様書作成アシスタントです。`.qfai/require/` 配下の既存要件を読み取り、QFAI の Spec Pack を作成してください。
4
-
5
- ## Inputs
6
-
7
- - `.qfai/require/` 配下の要件定義書・リンク・原本(読み取れる範囲で)
8
- - 追加資料がある場合は、それも参照して良い
9
-
10
- ## Output
11
-
12
- - `.qfai/specs/spec-0001/spec.md`
13
- - `.qfai/specs/spec-0001/delta.md`
14
- - `.qfai/specs/spec-0001/scenario.feature`
15
- - 必要に応じて `.qfai/contracts/{ui,api,db}` 配下
16
-
17
- > Spec は `spec-0001` から開始し、必要なら連番で増やすこと。
18
-
19
- ## Rules
20
-
21
- - **推測しない**。要件に書かれていないことは `TBD` と明記する。
22
- - ID は `PREFIX-0001` 形式(SPEC/BR/SC/UI/API/DB)。
23
- - `spec.md` の必須セクションは `qfai.config.yaml` の設定に従う。
24
- - BR は `## 業務ルール` にのみ定義し、`- [BR-0001][P1] ...` 形式で書く。
25
- - `spec.md` に `QFAI-CONTRACT-REF:` を必ず記載する(不要なら `none`)。
26
- - `scenario.feature` は Gherkin で書き、Feature に `@SPEC-xxxx` を付与する。
27
- - 各 Scenario は `@SC-xxxx` を **ちょうど1つ**、`@BR-xxxx` を **1つ以上**持つこと。
28
- - 契約ファイルには `QFAI-CONTRACT-ID: <ID>` を宣言する。
29
- - 契約 ID(UI/API/DB)を Scenario で参照する場合はタグまたは本文に明示する。
30
- - `delta.md` に変更内容/受入観点/影響範囲を記載する。
31
-
32
- ## Output Format
33
-
34
- - すべて Markdown
35
- - 余計な説明文は出力しない(ファイル内容のみ)
36
-
37
- ## 参照ルール(重要)
38
-
39
- - `.qfai/specs` や `contracts` は **.qfai/require を参照してよい**。
40
- - `.qfai/require` 側から `.qfai/specs` や `contracts` を参照するのは **禁止**。
@@ -1,31 +0,0 @@
1
- # Prompts Local(利用者カスタム / Overlay)
2
-
3
- このディレクトリは **利用者が自由に編集・追加できるプロンプト資産**の置き場です。
4
-
5
- QFAI v0.7 以降は、プロンプト資産のカスタマイズ手段を **overlay(prompts.local 優先)**に一本化します。
6
-
7
- ## Overlay ルール(重要)
8
-
9
- 同じ相対パスのファイルが存在する場合、次の優先順位で参照する運用とします。
10
-
11
- 1. `.qfai/prompts.local/<relativePath>`(存在すればこちらを優先)
12
- 2. `.qfai/prompts/<relativePath>`(無ければ base を参照)
13
-
14
- 例:
15
-
16
- - base: `.qfai/prompts/require-to-spec.md`
17
- - local override: `.qfai/prompts.local/require-to-spec.md`
18
-
19
- → `prompts.local` に同じ相対パスで置けば、以降は local を読む運用にできます。
20
-
21
- ## 重要な注意(サポート境界)
22
-
23
- - `.qfai/prompts/**` は **QFAI 標準資産**です(更新や `qfai init` の再実行で上書きされ得ます)。
24
- - 利用者が `.qfai/prompts/**` を直接編集することは **非推奨・非サポート(ほぼ禁止)**です。
25
- - 変更したい場合は、対象ファイルを `prompts.local` にコピーして上書きしてください。
26
-
27
- ## init 再実行時の保護(契約)
28
-
29
- - `qfai init` は `.qfai/prompts.local/**` を **保護**します(`--force` を付けても上書きしません)。
30
- - `--force` は `.qfai/prompts/**` のみ上書きします。
31
- - `specs/` `contracts/` を含め、その他の領域は既存があればスキップします(上書きしません)。
@@ -1,25 +0,0 @@
1
- # Delta: SPEC-0001
2
-
3
- ## 変更の要約(What)
4
-
5
- - ...
6
-
7
- ## 根拠(Why)
8
-
9
- - ...
10
-
11
- ## 影響範囲(Impact)
12
-
13
- - 仕様(spec.md):
14
- - シナリオ(scenario.feature):
15
- - 契約(contracts):
16
- - 実装(src):
17
- - テスト(tests):
18
-
19
- ## 受入観点(ATDD/QA)
20
-
21
- - ...
22
-
23
- ## 移行メモ(任意)
24
-
25
- - ...
@@ -1,11 +0,0 @@
1
- @SPEC-0001
2
- Feature: 注文登録
3
-
4
- Rule: 承認者が存在する
5
-
6
- # QFAI-CONTRACT-REF: UI-0001, API-0001, DB-0001, THEMA-001
7
- @SC-0001 @BR-0001
8
- Scenario: 承認者が承認するまで注文は確定しない
9
- Given ...
10
- When ...
11
- Then ...
@@ -1,40 +0,0 @@
1
- # SPEC-0001: 注文登録の最小仕様(サンプル)
2
-
3
- QFAI-CONTRACT-REF: API-0001, UI-0001, DB-0001, THEMA-001
4
-
5
- > このテンプレは **最小例** です。実際の仕様に合わせて書き換えてください。
6
-
7
- ## 背景
8
-
9
- - 例: 受注の登録ルールを統一し、手戻りを減らす
10
-
11
- ## スコープ
12
-
13
- - 例: 新規受注の登録と承認
14
-
15
- ## 非ゴール
16
-
17
- - 例: 既存受注の履歴移行は対象外
18
-
19
- ## 用語
20
-
21
- - 例: 受注 = 顧客からの注文情報
22
-
23
- ## 前提
24
-
25
- - 例: 承認者は1名以上配置されている
26
-
27
- ## 決定事項
28
-
29
- - 例: 承認は1段階で完了とする
30
-
31
- ## 業務ルール
32
-
33
- - [BR-0001][P2] 受注は承認者が承認するまで確定しない
34
-
35
- ### 書き方メモ
36
-
37
- - BR は **原子ルール** として採番する(`BR-0001.1` は使わない)
38
- - BR には **Priority(P0〜P3)** を必ず付与する
39
- - BR 定義は `## 業務ルール` セクション内に置く
40
- - Spec では **SC ID** を参照しない
@@ -1,2 +0,0 @@
1
- // Traceability sample: reference SC IDs via annotations (comments are enough).
2
- // QFAI:SC-0001