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.
- package/README.md +53 -74
- package/assets/init/.qfai/README.md +17 -82
- package/assets/init/.qfai/assistant/README.md +9 -0
- package/assets/init/.qfai/assistant/agents/README.md +34 -0
- package/assets/init/.qfai/assistant/agents/architect.md +73 -0
- package/assets/init/.qfai/assistant/agents/backend-engineer.md +73 -0
- package/assets/init/.qfai/assistant/agents/code-reviewer.md +73 -0
- package/assets/init/.qfai/assistant/agents/contract-designer.md +73 -0
- package/assets/init/.qfai/assistant/agents/devops-ci-engineer.md +73 -0
- package/assets/init/.qfai/assistant/agents/facilitator.md +74 -0
- package/assets/init/.qfai/assistant/agents/frontend-engineer.md +73 -0
- package/assets/init/.qfai/assistant/agents/interviewer.md +72 -0
- package/assets/init/.qfai/assistant/agents/planner.md +73 -0
- package/assets/init/.qfai/assistant/agents/qa-engineer.md +73 -0
- package/assets/init/.qfai/assistant/agents/requirements-analyst.md +73 -0
- package/assets/init/.qfai/assistant/agents/test-engineer.md +73 -0
- package/assets/init/.qfai/assistant/instructions/README.md +6 -0
- package/assets/init/.qfai/assistant/instructions/constitution.md +131 -0
- package/assets/init/.qfai/assistant/instructions/workflow.md +75 -0
- package/assets/init/.qfai/assistant/prompts/README.md +19 -0
- package/assets/init/.qfai/assistant/prompts/qfai-discuss.md +173 -0
- package/assets/init/.qfai/assistant/prompts/qfai-implement.md +239 -0
- package/assets/init/.qfai/assistant/prompts/qfai-pr.md +218 -0
- package/assets/init/.qfai/assistant/prompts/qfai-require.md +273 -0
- package/assets/init/.qfai/assistant/prompts/qfai-scenario-test.md +229 -0
- package/assets/init/.qfai/assistant/prompts/qfai-spec.md +287 -0
- package/assets/init/.qfai/assistant/prompts/qfai-unit-test.md +202 -0
- package/assets/init/.qfai/assistant/prompts/qfai-verify.md +231 -0
- package/assets/init/.qfai/assistant/prompts.local/README.md +6 -0
- package/assets/init/.qfai/assistant/steering/README.md +33 -0
- package/assets/init/.qfai/assistant/steering/product.md +32 -0
- package/assets/init/.qfai/assistant/steering/structure.md +34 -0
- package/assets/init/.qfai/assistant/steering/tech.md +37 -0
- package/assets/init/.qfai/contracts/README.md +7 -87
- package/assets/init/.qfai/contracts/api/README.md +8 -0
- package/assets/init/.qfai/contracts/db/README.md +8 -0
- package/assets/init/.qfai/contracts/ui/README.md +8 -0
- package/assets/init/.qfai/report/README.md +13 -0
- package/assets/init/.qfai/require/README.md +4 -26
- package/assets/init/.qfai/require/require.md +74 -0
- package/assets/init/.qfai/specs/README.md +6 -57
- package/assets/init/root/.github/workflows/qfai.yml +1 -1
- package/assets/init/root/qfai.config.yaml +3 -4
- package/dist/cli/index.cjs +313 -472
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.mjs +295 -454
- package/dist/cli/index.mjs.map +1 -1
- package/dist/index.cjs +37 -63
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.mjs +37 -63
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/assets/init/.qfai/contracts/api/api-0001-sample.yaml +0 -15
- package/assets/init/.qfai/contracts/db/db-0001-sample.sql +0 -7
- package/assets/init/.qfai/contracts/ui/assets/thema-001-facebook-like/assets.yaml +0 -6
- package/assets/init/.qfai/contracts/ui/assets/thema-001-facebook-like/palette.png +0 -0
- package/assets/init/.qfai/contracts/ui/assets/ui-0001-sample/assets.yaml +0 -6
- package/assets/init/.qfai/contracts/ui/assets/ui-0001-sample/snapshots/login__desktop__light__default.png +0 -0
- package/assets/init/.qfai/contracts/ui/thema-001-facebook-like.yml +0 -13
- package/assets/init/.qfai/contracts/ui/ui-0001-sample.yaml +0 -17
- package/assets/init/.qfai/out/README.md +0 -17
- package/assets/init/.qfai/promptpack/commands/implement.md +0 -8
- package/assets/init/.qfai/promptpack/commands/plan.md +0 -11
- package/assets/init/.qfai/promptpack/commands/release.md +0 -6
- package/assets/init/.qfai/promptpack/commands/review.md +0 -7
- package/assets/init/.qfai/promptpack/constitution.md +0 -15
- package/assets/init/.qfai/promptpack/modes/change.md +0 -5
- package/assets/init/.qfai/promptpack/modes/compatibility.md +0 -6
- package/assets/init/.qfai/promptpack/roles/qa.md +0 -4
- package/assets/init/.qfai/promptpack/roles/spec.md +0 -4
- package/assets/init/.qfai/promptpack/roles/test.md +0 -4
- package/assets/init/.qfai/promptpack/steering/compatibility-vs-change.md +0 -42
- package/assets/init/.qfai/promptpack/steering/naming.md +0 -7
- package/assets/init/.qfai/promptpack/steering/traceability.md +0 -25
- package/assets/init/.qfai/prompts/README.md +0 -70
- package/assets/init/.qfai/prompts/analyze/README.md +0 -21
- package/assets/init/.qfai/prompts/analyze/scenario_test_consistency.md +0 -8
- package/assets/init/.qfai/prompts/analyze/scenario_to_test.md +0 -56
- package/assets/init/.qfai/prompts/analyze/spec_contract_consistency.md +0 -8
- package/assets/init/.qfai/prompts/analyze/spec_scenario_consistency.md +0 -8
- package/assets/init/.qfai/prompts/analyze/spec_to_contract.md +0 -54
- package/assets/init/.qfai/prompts/analyze/spec_to_scenario.md +0 -56
- package/assets/init/.qfai/prompts/makeBusinessFlow.md +0 -34
- package/assets/init/.qfai/prompts/makeOverview.md +0 -27
- package/assets/init/.qfai/prompts/qfai-classify-change.md +0 -33
- package/assets/init/.qfai/prompts/qfai-generate-test-globs.md +0 -29
- package/assets/init/.qfai/prompts/qfai-maintain-contracts.md +0 -35
- package/assets/init/.qfai/prompts/qfai-maintain-traceability.md +0 -36
- package/assets/init/.qfai/prompts/require-to-spec.md +0 -41
- package/assets/init/.qfai/prompts.local/README.md +0 -31
- package/assets/init/.qfai/rules/conventions.md +0 -27
- package/assets/init/.qfai/rules/pnpm.md +0 -29
- package/assets/init/.qfai/samples/analyze/analysis.md +0 -38
- package/assets/init/.qfai/samples/analyze/input_bundle.md +0 -54
- package/assets/init/.qfai/specs/spec-0001/delta.md +0 -30
- package/assets/init/.qfai/specs/spec-0001/scenario.feature +0 -11
- package/assets/init/.qfai/specs/spec-0001/spec.md +0 -40
package/package.json
CHANGED
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
@@ -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,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,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,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,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,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ファイル一覧を末尾に付記する。
|