qfai 1.0.2 → 1.0.3
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 +11 -1
- package/assets/init/.qfai/contracts/README.md +20 -0
- package/assets/init/.qfai/contracts/ui/assets/thema-001-facebook-like/assets.yaml +6 -0
- 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 +6 -0
- 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 +13 -0
- package/assets/init/.qfai/contracts/ui/ui-0001-sample.yaml +9 -0
- package/assets/init/.qfai/specs/README.md +1 -1
- package/assets/init/.qfai/specs/spec-0001/scenario.feature +1 -1
- package/assets/init/.qfai/specs/spec-0001/spec.md +1 -1
- package/dist/cli/index.cjs +585 -109
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.mjs +587 -111
- package/dist/cli/index.mjs.map +1 -1
- package/dist/index.cjs +538 -62
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.mjs +540 -64
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -87,7 +87,7 @@ QFAI が提供するプロンプト資産は次の 2 つに分離します。
|
|
|
87
87
|
"summary": {
|
|
88
88
|
"specs": 1,
|
|
89
89
|
"scenarios": 1,
|
|
90
|
-
"contracts": { "api": 0, "ui": 1, "db": 0 },
|
|
90
|
+
"contracts": { "api": 0, "ui": 1, "db": 0, "thema": 0 },
|
|
91
91
|
"counts": { "info": 0, "warning": 0, "error": 0 }
|
|
92
92
|
}
|
|
93
93
|
}
|
|
@@ -157,6 +157,8 @@ analyze も `.qfai/prompts.local/**` の overlay 運用に従います。
|
|
|
157
157
|
Spec では `QFAI-CONTRACT-REF:` 行で参照する契約IDを宣言します(`none` 可)。Spec の先頭 H1 に `SPEC-xxxx` が必須です。
|
|
158
158
|
Scenario では `# QFAI-CONTRACT-REF:` のコメント行で契約参照を宣言します(`none` 可)。
|
|
159
159
|
契約ファイルは `QFAI-CONTRACT-ID: <ID>` を **1ファイル1ID** で宣言します。
|
|
160
|
+
契約IDは UI/API/DB/THEMA(THEMA は 3 桁)です。UI 契約は `themaRef` / `themeOverrides` / `assets` を追加できます。
|
|
161
|
+
`assets.pack` は `ui/` 配下の相対パス、`assets.use` は `assets.yaml` の `items[].id` を参照します。
|
|
160
162
|
`validate.json` / `report` の file path は root 相対で出力します(absolute は出力しません)。
|
|
161
163
|
|
|
162
164
|
## Monorepo / サブディレクトリ
|
|
@@ -278,6 +280,14 @@ qfai.config.yaml
|
|
|
278
280
|
api-0001-sample.yaml
|
|
279
281
|
ui/
|
|
280
282
|
ui-0001-sample.yaml
|
|
283
|
+
thema-001-facebook-like.yml
|
|
284
|
+
assets/
|
|
285
|
+
ui-0001-sample/
|
|
286
|
+
assets.yaml
|
|
287
|
+
snapshots/login__desktop__light__default.png
|
|
288
|
+
thema-001-facebook-like/
|
|
289
|
+
assets.yaml
|
|
290
|
+
palette.png
|
|
281
291
|
db/
|
|
282
292
|
db-0001-sample.sql
|
|
283
293
|
out/
|
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
## 置くべきファイル
|
|
6
6
|
|
|
7
7
|
- UI: `ui/ui-0001-<slug>.yaml` または `.yml`
|
|
8
|
+
- THEMA: `ui/thema-001-<slug>.yml`(3桁)
|
|
8
9
|
- API: `api/api-0001-<slug>.yaml` / `.yml` / `.json`(OpenAPI)
|
|
9
10
|
- DB: `db/db-0001-<slug>.sql`(ID は `DB-xxxx`)
|
|
11
|
+
- assets: `ui/assets/<contract-id>/assets.yaml`(参照整合のみ検証)
|
|
10
12
|
|
|
11
13
|
## 契約ID宣言(必須)
|
|
12
14
|
|
|
@@ -23,6 +25,24 @@ id: UI-0001
|
|
|
23
25
|
name: 受注登録画面
|
|
24
26
|
refs:
|
|
25
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"
|
|
26
46
|
```
|
|
27
47
|
|
|
28
48
|
## 最小例(API)
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
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"
|