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
@@ -0,0 +1,8 @@
1
+ # prompts.local/
2
+
3
+ Optional per-project overrides.
4
+
5
+ If a file with the same name exists here (e.g., `qfai-spec.md`), a tool wrapper may prefer it to customize behavior for this repo.
6
+ Keep overrides minimal; prefer updating steering/instructions instead.
7
+
8
+ Note: After `qfai init`, this folder contains only this README. Place an override file here only when you intentionally diverge from the SSOT prompt bodies.
@@ -0,0 +1,40 @@
1
+ # steering/
2
+
3
+ Project context for the AI. Keep these files up to date.
4
+
5
+ These are intentionally short and practical:
6
+
7
+ - `product.md` : what we are building and why
8
+ - `tech.md` : stack, versions, constraints
9
+ - `structure.md` : repo structure, key directories, how to run gates
10
+
11
+ QFAI prompts are expected to read these before producing deliverables.
12
+
13
+ ## AI-managed policy (recommended)
14
+
15
+ These steering files are intended to be **filled and refreshed by the AI** (via QFAI custom prompts).
16
+ Humans may edit them, but the default workflow is:
17
+
18
+ - run a QFAI command (e.g., /qfai-require, /qfai-spec, /qfai-implement)
19
+ - the agent analyzes the repository and updates steering if placeholders exist
20
+
21
+ Guideline:
22
+
23
+ - do not invent facts; if unknown, write `TBD` with missing evidence
24
+
25
+ ## Evidence-first writing (recommended)
26
+
27
+ Steering MUST be grounded in repo evidence. When possible, include:
28
+
29
+ - file paths (e.g., `package.json`, `.github/workflows/ci.yml`)
30
+ - commands (e.g., `pnpm -C packages/qfai test`)
31
+ - directory anchors (e.g., `packages/qfai/src/cli`)
32
+
33
+ If a fact cannot be verified, mark it as `TBD` and record what evidence is missing.
34
+
35
+ ### Default AI-managed flow (recommended)
36
+
37
+ 1. Run a QFAI command (e.g., `/qfai-require`, `/qfai-spec`, `/qfai-implement`).
38
+ 2. The agent loads `steering/*` and fills missing placeholders from **repo evidence**.
39
+ 3. If evidence is missing, write `TBD` and add an Open Question (what evidence is required).
40
+ 4. Optionally, review changes via PR if your team requires human approval.
@@ -0,0 +1,32 @@
1
+ # Product Steering
2
+
3
+ ## What are we building?
4
+
5
+ - Summary:
6
+ - Evidence: (e.g., README, docs, issue links)
7
+
8
+ ## Who is the user?
9
+
10
+ - Personas / roles:
11
+ - Evidence:
12
+
13
+ ## What is “success”?
14
+
15
+ - Success metrics / acceptance definition:
16
+ - Evidence:
17
+
18
+ ## Non-goals
19
+
20
+ -
21
+ - Evidence:
22
+
23
+ ## Release posture
24
+
25
+ - Compatibility policy:
26
+ - Breaking change policy:
27
+ - Evidence:
28
+
29
+ ## Open questions
30
+
31
+ - Blocking:
32
+ - Non-blocking:
@@ -0,0 +1,34 @@
1
+ # Structure Steering
2
+
3
+ ## Repo layout (high level)
4
+
5
+ - Top-level directories:
6
+ - Evidence:
7
+
8
+ ## Key packages / entrypoints
9
+
10
+ - Package(s) of interest:
11
+ - CLI entry:
12
+ - Core modules:
13
+ - Evidence:
14
+
15
+ ## Architecture constraints
16
+
17
+ - Boundaries (what must not depend on what):
18
+ - Conventions (naming, file layout):
19
+ - Evidence:
20
+
21
+ ## Quality gates (SSOT)
22
+
23
+ - format:
24
+ - lint:
25
+ - typecheck:
26
+ - test:
27
+ - verify-pack / pack:
28
+ - Evidence:
29
+
30
+ ## How to run locally
31
+
32
+ Provide copy-paste commands and expected outputs.
33
+
34
+ - Evidence:
@@ -0,0 +1,37 @@
1
+ # Tech Steering
2
+
3
+ ## Runtime / platform
4
+
5
+ - Node:
6
+ - Evidence:
7
+ - OS assumptions:
8
+ - Evidence:
9
+ - CI environment:
10
+ - Evidence:
11
+
12
+ ## Package manager
13
+
14
+ - pnpm / npm / yarn:
15
+ - Evidence:
16
+
17
+ ## Language / framework
18
+
19
+ - TypeScript:
20
+ - Build tool:
21
+ - Test runner:
22
+ - Lint / format:
23
+ - Evidence:
24
+
25
+ ## Constraints
26
+
27
+ -
28
+ - Evidence:
29
+
30
+ ## Standard commands (copy-paste)
31
+
32
+ - Install:
33
+ - Test:
34
+ - Lint:
35
+ - Typecheck:
36
+ - Pack/verify:
37
+ - Evidence:
@@ -1,91 +1,11 @@
1
- # Contracts (UI / API / DB)
1
+ # contracts/
2
2
 
3
- 契約は「システム外部との約束」を明文化する場所です。Spec(spec.md)の `QFAI-CONTRACT-REF` による参照が必須で、これが Spec→Contract 対応の SSOT になります。Scenario `# QFAI-CONTRACT-REF` で契約参照を宣言します(none 可)。
3
+ Contracts define stable interfaces and are referenced by specs/scenarios/tests.
4
4
 
5
- ## 置くべきファイル
5
+ Subfolders:
6
6
 
7
- - UI: `ui/ui-0001-<slug>.yaml` または `.yml`
8
- - THEMA: `ui/thema-001-<slug>.yml`(3桁)
9
- - API: `api/api-0001-<slug>.yaml` / `.yml` / `.json`(OpenAPI)
10
- - DB: `db/db-0001-<slug>.sql`(ID は `DB-xxxx`)
11
- - assets: `ui/assets/<contract-id>/assets.yaml`(参照整合のみ検証)
7
+ - `ui/` : UI contracts (YAML)
8
+ - `api/`: API contracts (YAML)
9
+ - `db/` : DB contracts (SQL / .sql)
12
10
 
13
- ## 契約ID宣言(必須)
14
-
15
- - 1ファイル = 1ID
16
- - 契約IDの正は契約ファイル側(`QFAI-CONTRACT-ID` が SSOT)
17
- - ファイル内に `QFAI-CONTRACT-ID: <ID>` をコメント行で宣言する
18
- - 例: `# QFAI-CONTRACT-ID: API-0001` / `// QFAI-CONTRACT-ID: UI-0001` / `-- QFAI-CONTRACT-ID: DB-0001`
19
-
20
- ## 最小例(UI)
21
-
22
- ```yaml
23
- # QFAI-CONTRACT-ID: UI-0001
24
- id: UI-0001
25
- name: 受注登録画面
26
- refs:
27
- - BR-0001
28
- themaRef: THEMA-001
29
- assets:
30
- pack: assets/ui-0001-sample
31
- use:
32
- - UI-0001.desktop.light.default
33
- ```
34
-
35
- ## 最小例(THEMA)
36
-
37
- ```yaml
38
- # QFAI-CONTRACT-ID: THEMA-001
39
- id: THEMA-001
40
- name: facebook-like
41
- tokens:
42
- color:
43
- background: "#FFFFFF"
44
- textPrimary: "#111111"
45
- accent: "#1877F2"
46
- ```
47
-
48
- ## 最小例(API)
49
-
50
- ```yaml
51
- # QFAI-CONTRACT-ID: API-0001
52
- openapi: 3.0.0
53
- info:
54
- title: Sample API
55
- version: 0.1.0
56
- paths:
57
- /health:
58
- get:
59
- operationId: API-0001
60
- responses:
61
- "200":
62
- description: OK
63
- ```
64
-
65
- ## 最小例(DB)
66
-
67
- ```sql
68
- -- QFAI-CONTRACT-ID: DB-0001
69
- CREATE TABLE sample_table (
70
- id INTEGER PRIMARY KEY
71
- );
72
- ```
73
-
74
- ## CI でチェックされること(抜粋)
75
-
76
- - 契約宣言: `QFAI-CONTRACT-ID` の未記載/複数宣言/重複IDは error
77
- - 契約ID: 配置ディレクトリ(ui/api/db)と prefix(UI/API/DB)の不整合は error
78
- - UI/API: パース失敗は error
79
- - API: OpenAPI 定義があること(`openapi`)
80
- - DB: 危険 SQL(DROP/TRUNCATE 等)の警告
81
- - 共通: ID 形式(`PREFIX-0001`)、ID の重複検知
82
-
83
- ## 依存関係
84
-
85
- - Spec → Contracts(spec.md に `QFAI-CONTRACT-REF` を必ず1行以上宣言、0件は `none`。この行が SSOT)
86
- - Scenario → Contracts(scenario.feature に `# QFAI-CONTRACT-REF` を必ず1行以上宣言、0件は `none`)
87
-
88
- ## 良い例 / 悪い例
89
-
90
- - 良い例: Spec で契約を参照し、必要に応じて Scenario でも参照している
91
- - 悪い例: Spec が契約を参照しておらず orphan contract が発生する(allowOrphanContracts=false で error)
11
+ Create contracts only when needed by the spec (keep minimal).
@@ -0,0 +1,8 @@
1
+ # contracts/api/
2
+
3
+ Place API contracts here (YAML).
4
+
5
+ Guidelines:
6
+
7
+ - Keep contracts minimal: define only what scenarios/tests need to validate.
8
+ - Include examples where helpful.
@@ -0,0 +1,25 @@
1
+ # contracts/db/
2
+
3
+ Place **DB contracts** here as **SQL DDL files** (`.sql`).
4
+
5
+ ## File naming
6
+
7
+ - `db-0001-<slug>.sql`
8
+ - Contract ID: `DB-0001` (4-digit fixed)
9
+
10
+ ## Required header
11
+
12
+ Include the contract ID in the SQL header comments so QFAI can discover/index it:
13
+
14
+ ```sql
15
+ -- QFAI-CONTRACT-ID: DB-0001
16
+ -- DB-0001 (short description)
17
+ ```
18
+
19
+ ## Guidelines
20
+
21
+ - Keep DB contracts minimal and spec-driven (only what scenarios/tests need).
22
+ - This directory is for the **contract/schema snapshot**, not migrations history.
23
+ - If your project uses an ORM schema (Prisma, etc.), decide one:
24
+ - (Recommended for v1.0.6) Keep a minimal `.sql` contract snapshot here, and link to the real schema in the spec.
25
+ - (Future) Add support for other schema formats via config (out of scope for v1.0.6).
@@ -0,0 +1,8 @@
1
+ # contracts/ui/
2
+
3
+ Place UI contracts here (YAML).
4
+
5
+ Guidelines:
6
+
7
+ - Keep contracts minimal: define only what scenarios/tests need to validate.
8
+ - Include examples where helpful.
@@ -0,0 +1,13 @@
1
+ # report/
2
+
3
+ This directory is reserved for generated outputs.
4
+
5
+ Examples:
6
+
7
+ - `qfai report` output
8
+ - generated traceability reports
9
+ - diagnostic artifacts you choose to store
10
+
11
+ Recommended:
12
+
13
+ - commit policy is project-dependent (often: do NOT commit large generated files)
@@ -1,28 +1,6 @@
1
- # .qfai/require/
1
+ # require/
2
2
 
3
- 既存の要件定義書や外部資料を集約するためのディレクトリです。
4
- QFAI は `.qfai/require/` を **入力(上流)** として扱い、ここに置かれた内容を根拠に Spec を作成します。
3
+ This folder contains the Requirements SSOT.
5
4
 
6
- ## 置き方(例)
7
-
8
- - `.qfai/require/req-0001-<slug>.md`
9
- - `.qfai/require/links.md`(外部ドキュメントへのリンク集)
10
- - `.qfai/require/raw/`(PDFや画像などの原本)
11
-
12
- > 形式は限定しません。内容が参照可能であることを優先してください。
13
-
14
- ## 参照ルール(重要)
15
-
16
- - `.qfai/require/` は **上流のSSOT** です。
17
- - `.qfai/specs` や `contracts` は **.qfai/require を参照してよい**。
18
- - `.qfai/require` 側から `.qfai/specs` や `contracts` を参照するのは **禁止**(循環参照防止)。
19
-
20
- ## AI プロンプトの利用
21
-
22
- - `.qfai/prompts/require-to-spec.md` を使用し、要件から Spec を作成します。
23
- - 生成後は必ず人間がレビューし、Spec/Scenario/Contracts の整合を確認してください。
24
-
25
- ## 注意
26
-
27
- - `.qfai/require/` の内容は QFAI の validate 対象外です。
28
- - 機密情報の取り扱いは各プロジェクトのルールに従ってください。
5
+ - `require.md` is the single-file requirements artifact.
6
+ - Keep requirements **testable** (EARS) and avoid implementation detail.
@@ -0,0 +1,74 @@
1
+ # Requirements
2
+
3
+ > Fill this in using `/qfai-require`.
4
+
5
+ ## 1. Overview
6
+
7
+ - Problem / opportunity:
8
+ - Target users:
9
+ - Success definition:
10
+
11
+ ## 2. Scope
12
+
13
+ ### In scope
14
+
15
+ -
16
+
17
+ ### Out of scope
18
+
19
+ -
20
+
21
+ ## 3. Constraints & Assumptions
22
+
23
+ ### Constraints
24
+
25
+ -
26
+
27
+ ### Assumptions
28
+
29
+ -
30
+
31
+ ## 4. Glossary
32
+
33
+ -
34
+
35
+ ## 5. Functional Requirements (EARS)
36
+
37
+ ### REQ-FUNC-001: <title>
38
+
39
+ - Statement (EARS):
40
+ - Rationale:
41
+ - Acceptance criteria:
42
+ - Notes / edge cases:
43
+
44
+ ## 6. Non‑Functional Requirements
45
+
46
+ ### Security
47
+
48
+ -
49
+
50
+ ### Performance
51
+
52
+ -
53
+
54
+ ### Reliability / Availability
55
+
56
+ -
57
+
58
+ ### Observability
59
+
60
+ -
61
+
62
+ ## 7. Acceptance Criteria (summary)
63
+
64
+ -
65
+
66
+ ## 8. Open Questions
67
+
68
+ ### Blocking
69
+
70
+ -
71
+
72
+ ### Non‑blocking
73
+
74
+ -
@@ -1,59 +1,11 @@
1
- # Specs (Spec Pack)
1
+ # specs/
2
2
 
3
- このディレクトリは「Spec / Delta / Scenario」を **1セット(Spec Pack)** として管理するための入口です。
3
+ A **spec pack** lives under `specs/spec-XXXX/` and contains:
4
4
 
5
- ## 置くべきファイル
5
+ - `spec.md` : SDD spec (source of truth for behavior)
6
+ - `delta.md` : impact / migration / verification plan
7
+ - `scenario.feature` : Gherkin scenarios (ATDD skeleton)
6
8
 
7
- - `spec-0001/spec.md`(必須)
8
- - `spec-0001/delta.md`(必須)
9
- - `spec-0001/scenario.feature`(必須・Gherkin)
9
+ Create/update spec packs with `/qfai-spec`.
10
10
 
11
- > `spec-0001` **4桁連番**。Spec ID **4桁(SPEC-0001)** です。
12
-
13
- ## Spec(spec.md)最小例
14
-
15
- ```md
16
- # SPEC-0001: 注文登録の最小要件
17
-
18
- QFAI-CONTRACT-REF: UI-0001, API-0001, DB-0001, THEMA-001
19
-
20
- ## 背景
21
-
22
- - 例: 受注の登録ルールを明文化し、手戻りを減らすため
23
-
24
- ## 業務ルール
25
-
26
- - [BR-0001][P2] 受注は承認者が承認するまで確定しない
27
- ```
28
-
29
- ### BR の書き方
30
-
31
- - **1ルール = 1 BR** を守る
32
- - Priority は **P0/P1/P2/P3** のいずれかを必ず付与
33
- - BR 定義は **`## 業務ルール` セクション内のみ**(他セクションは参照扱い)
34
-
35
- ### Contract 参照の書き方
36
-
37
- - `QFAI-CONTRACT-REF:` 行で契約IDを宣言する(複数行可)
38
- - 参照不要な場合は `QFAI-CONTRACT-REF: none`
39
-
40
- ## Delta(delta.md)
41
-
42
- - 変更の要約・根拠・影響範囲・受入観点を明記する
43
-
44
- ## Scenario(scenario.feature)最小要件
45
-
46
- - **Gherkin 記法**(Given/When/Then)
47
- - **1ファイル = 1 Scenario**(Scenario Outline 含む)
48
- - `# QFAI-CONTRACT-REF: ...` をコメント行で **必須宣言**(参照なしは `none`)
49
- - `@SPEC-xxxx` は Feature レベルに **ちょうど1つ**必要
50
- - Scenario / Scenario Outline には `@SC-xxxx` が **ちょうど1つ**必要
51
- - Scenario / Scenario Outline には `@BR-xxxx` が **1つ以上**必要
52
-
53
- ## CI でチェックされること(抜粋)
54
-
55
- - Spec: 必須セクション、SPEC/BR ID、BR Priority、ID 形式、Contract 参照の実在性、Contract 参照の必須宣言
56
- - Delta: delta.md の存在
57
- - Scenario: Feature/Scenario の存在、タグ要件、Given/When/Then、契約参照の宣言/形式
58
- - Traceability: BR→SC、Spec→Contract、SC→Test の接続、BR の所属 SPEC 整合
59
- - IDs: 定義 ID の重複検知(Spec/Scenario/Contracts)
11
+ Note: After `qfai init`, this folder contains only this README. Spec packs (`spec-XXXX/`) are created by running `/qfai-spec`.
@@ -19,4 +19,4 @@ jobs:
19
19
  - uses: actions/upload-artifact@v4
20
20
  with:
21
21
  name: qfai-validation
22
- path: .qfai/out/validate.json
22
+ path: .qfai/report/validate.json
@@ -1,8 +1,8 @@
1
1
  paths:
2
2
  specsDir: .qfai/specs
3
3
  contractsDir: .qfai/contracts
4
- outDir: .qfai/out
5
- promptsDir: .qfai/prompts
4
+ outDir: .qfai/report
5
+ promptsDir: .qfai/assistant/prompts
6
6
  srcDir: src
7
7
  testsDir: tests
8
8
  validation:
@@ -29,4 +29,4 @@ validation:
29
29
  orphanContractsPolicy: error
30
30
  unknownContractIdSeverity: error
31
31
  output:
32
- validateJsonPath: .qfai/out/validate.json
32
+ validateJsonPath: .qfai/report/validate.json