qfai 1.0.2 → 1.0.4

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 (39) hide show
  1. package/README.md +13 -12
  2. package/assets/init/.qfai/README.md +2 -7
  3. package/assets/init/.qfai/contracts/README.md +20 -0
  4. package/assets/init/.qfai/contracts/ui/assets/thema-001-facebook-like/assets.yaml +6 -0
  5. package/assets/init/.qfai/contracts/ui/assets/thema-001-facebook-like/palette.png +0 -0
  6. package/assets/init/.qfai/contracts/ui/assets/ui-0001-sample/assets.yaml +6 -0
  7. package/assets/init/.qfai/contracts/ui/assets/ui-0001-sample/snapshots/login__desktop__light__default.png +0 -0
  8. package/assets/init/.qfai/contracts/ui/thema-001-facebook-like.yml +13 -0
  9. package/assets/init/.qfai/contracts/ui/ui-0001-sample.yaml +9 -0
  10. package/assets/init/.qfai/promptpack/commands/plan.md +1 -1
  11. package/assets/init/.qfai/promptpack/commands/review.md +1 -2
  12. package/assets/init/.qfai/promptpack/constitution.md +1 -1
  13. package/assets/init/.qfai/prompts/README.md +1 -3
  14. package/assets/init/.qfai/prompts/qfai-maintain-traceability.md +3 -3
  15. package/assets/init/.qfai/prompts/require-to-spec.md +1 -2
  16. package/assets/init/.qfai/specs/README.md +3 -4
  17. package/assets/init/.qfai/specs/spec-0001/delta.md +0 -5
  18. package/assets/init/.qfai/specs/spec-0001/scenario.feature +1 -1
  19. package/assets/init/.qfai/specs/spec-0001/spec.md +1 -1
  20. package/assets/init/root/qfai.config.yaml +0 -1
  21. package/dist/cli/index.cjs +596 -162
  22. package/dist/cli/index.cjs.map +1 -1
  23. package/dist/cli/index.mjs +598 -164
  24. package/dist/cli/index.mjs.map +1 -1
  25. package/dist/index.cjs +549 -114
  26. package/dist/index.cjs.map +1 -1
  27. package/dist/index.d.cts +3 -2
  28. package/dist/index.d.ts +3 -2
  29. package/dist/index.mjs +551 -116
  30. package/dist/index.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/assets/init/.qfai/promptpack/modes/change.md +0 -5
  33. package/assets/init/.qfai/promptpack/modes/compatibility.md +0 -6
  34. package/assets/init/.qfai/promptpack/steering/compatibility-vs-change.md +0 -42
  35. package/assets/init/.qfai/prompts/qfai-classify-change.md +0 -33
  36. package/assets/init/.qfai/rules/conventions.md +0 -27
  37. package/assets/init/.qfai/rules/pnpm.md +0 -29
  38. package/assets/init/.qfai/samples/analyze/analysis.md +0 -38
  39. package/assets/init/.qfai/samples/analyze/input_bundle.md +0 -54
package/dist/index.d.cts CHANGED
@@ -53,7 +53,6 @@ type OrphanContractsPolicy = "error" | "warning" | "allow";
53
53
  type QfaiPaths = {
54
54
  contractsDir: string;
55
55
  specsDir: string;
56
- rulesDir: string;
57
56
  outDir: string;
58
57
  promptsDir: string;
59
58
  srcDir: string;
@@ -99,7 +98,7 @@ declare function findConfigRoot(startDir: string): Promise<ConfigSearchResult>;
99
98
  declare function loadConfig(root: string): Promise<ConfigLoadResult>;
100
99
  declare function resolvePath(root: string, config: QfaiConfig, key: ConfigPathKey): string;
101
100
 
102
- type IdPrefix = "SPEC" | "BR" | "SC" | "UI" | "API" | "DB";
101
+ type IdPrefix = "SPEC" | "BR" | "SC" | "UI" | "API" | "DB" | "THEMA";
103
102
  type IdFormatPrefix = IdPrefix | "ADR";
104
103
  declare function extractIds(text: string, prefix: IdPrefix): string[];
105
104
  declare function extractAllIds(text: string): string[];
@@ -112,6 +111,7 @@ type ReportSummary = {
112
111
  api: number;
113
112
  ui: number;
114
113
  db: number;
114
+ thema: number;
115
115
  };
116
116
  counts: ValidationCounts;
117
117
  };
@@ -122,6 +122,7 @@ type ReportIds = {
122
122
  ui: string[];
123
123
  api: string[];
124
124
  db: string[];
125
+ thema: string[];
125
126
  };
126
127
  type ReportContractCoverage = {
127
128
  total: number;
package/dist/index.d.ts CHANGED
@@ -53,7 +53,6 @@ type OrphanContractsPolicy = "error" | "warning" | "allow";
53
53
  type QfaiPaths = {
54
54
  contractsDir: string;
55
55
  specsDir: string;
56
- rulesDir: string;
57
56
  outDir: string;
58
57
  promptsDir: string;
59
58
  srcDir: string;
@@ -99,7 +98,7 @@ declare function findConfigRoot(startDir: string): Promise<ConfigSearchResult>;
99
98
  declare function loadConfig(root: string): Promise<ConfigLoadResult>;
100
99
  declare function resolvePath(root: string, config: QfaiConfig, key: ConfigPathKey): string;
101
100
 
102
- type IdPrefix = "SPEC" | "BR" | "SC" | "UI" | "API" | "DB";
101
+ type IdPrefix = "SPEC" | "BR" | "SC" | "UI" | "API" | "DB" | "THEMA";
103
102
  type IdFormatPrefix = IdPrefix | "ADR";
104
103
  declare function extractIds(text: string, prefix: IdPrefix): string[];
105
104
  declare function extractAllIds(text: string): string[];
@@ -112,6 +111,7 @@ type ReportSummary = {
112
111
  api: number;
113
112
  ui: number;
114
113
  db: number;
114
+ thema: number;
115
115
  };
116
116
  counts: ValidationCounts;
117
117
  };
@@ -122,6 +122,7 @@ type ReportIds = {
122
122
  ui: string[];
123
123
  api: string[];
124
124
  db: string[];
125
+ thema: string[];
125
126
  };
126
127
  type ReportContractCoverage = {
127
128
  total: number;