qfai 0.2.5 → 0.2.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 (127) hide show
  1. package/README.md +1 -1
  2. package/assets/init/.qfai/README.md +42 -0
  3. package/assets/init/.qfai/contracts/README.md +59 -0
  4. package/assets/init/{qfai → .qfai}/contracts/api/api-0001-sample.yaml +3 -0
  5. package/assets/init/{qfai → .qfai}/contracts/db/db-0001-sample.sql +3 -2
  6. package/assets/init/.qfai/contracts/ui/ui-0001-sample.yaml +6 -0
  7. package/assets/init/.qfai/out/README.md +17 -0
  8. package/assets/init/.qfai/prompts/README.md +32 -0
  9. package/assets/init/{qfai → .qfai}/prompts/makeBusinessFlow.md +1 -1
  10. package/assets/init/{qfai → .qfai}/prompts/makeOverview.md +1 -1
  11. package/assets/init/.qfai/spec/README.md +77 -0
  12. package/assets/init/.qfai/spec/decisions/ADR-0001.md +9 -0
  13. package/assets/init/.qfai/spec/decisions/README.md +36 -0
  14. package/assets/init/.qfai/spec/scenarios/scenarios.feature +6 -0
  15. package/assets/init/.qfai/spec/spec-0001-sample.md +36 -0
  16. package/assets/init/root/qfai.config.yaml +8 -8
  17. package/dist/cli/index.cjs +16 -16
  18. package/dist/cli/index.cjs.map +1 -1
  19. package/dist/cli/index.d.ts +0 -2
  20. package/dist/cli/index.mjs +16 -16
  21. package/dist/cli/index.mjs.map +1 -1
  22. package/dist/index.cjs +14 -14
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.ts +132 -2
  25. package/dist/index.mjs +14 -14
  26. package/dist/index.mjs.map +1 -1
  27. package/package.json +1 -1
  28. package/assets/init/qfai/README.md +0 -6
  29. package/assets/init/qfai/contracts/ui/ui-0001-sample.yaml +0 -4
  30. package/assets/init/qfai/spec/decisions/ADR-0001.md +0 -7
  31. package/assets/init/qfai/spec/scenarios.feature +0 -6
  32. package/assets/init/qfai/spec/spec-0001-sample.md +0 -29
  33. package/dist/cli/commands/init.d.ts +0 -8
  34. package/dist/cli/commands/init.d.ts.map +0 -1
  35. package/dist/cli/commands/init.js +0 -30
  36. package/dist/cli/commands/init.js.map +0 -1
  37. package/dist/cli/commands/report.d.ts +0 -8
  38. package/dist/cli/commands/report.d.ts.map +0 -1
  39. package/dist/cli/commands/report.js +0 -83
  40. package/dist/cli/commands/report.js.map +0 -1
  41. package/dist/cli/commands/validate.d.ts +0 -10
  42. package/dist/cli/commands/validate.d.ts.map +0 -1
  43. package/dist/cli/commands/validate.js +0 -66
  44. package/dist/cli/commands/validate.js.map +0 -1
  45. package/dist/cli/index.d.ts.map +0 -1
  46. package/dist/cli/index.js +0 -7
  47. package/dist/cli/index.js.map +0 -1
  48. package/dist/cli/lib/args.d.ts +0 -19
  49. package/dist/cli/lib/args.d.ts.map +0 -1
  50. package/dist/cli/lib/args.js +0 -107
  51. package/dist/cli/lib/args.js.map +0 -1
  52. package/dist/cli/lib/assets.d.ts +0 -2
  53. package/dist/cli/lib/assets.d.ts.map +0 -1
  54. package/dist/cli/lib/assets.js +0 -8
  55. package/dist/cli/lib/assets.js.map +0 -1
  56. package/dist/cli/lib/failOn.d.ts +0 -5
  57. package/dist/cli/lib/failOn.d.ts.map +0 -1
  58. package/dist/cli/lib/failOn.js +0 -10
  59. package/dist/cli/lib/failOn.js.map +0 -1
  60. package/dist/cli/lib/fs.d.ts +0 -11
  61. package/dist/cli/lib/fs.d.ts.map +0 -1
  62. package/dist/cli/lib/fs.js +0 -91
  63. package/dist/cli/lib/fs.js.map +0 -1
  64. package/dist/cli/lib/logger.d.ts +0 -4
  65. package/dist/cli/lib/logger.d.ts.map +0 -1
  66. package/dist/cli/lib/logger.js +0 -10
  67. package/dist/cli/lib/logger.js.map +0 -1
  68. package/dist/cli/main.d.ts +0 -2
  69. package/dist/cli/main.d.ts.map +0 -1
  70. package/dist/cli/main.js +0 -73
  71. package/dist/cli/main.js.map +0 -1
  72. package/dist/core/config.d.ts +0 -46
  73. package/dist/core/config.d.ts.map +0 -1
  74. package/dist/core/config.js +0 -224
  75. package/dist/core/config.js.map +0 -1
  76. package/dist/core/discovery.d.ts +0 -11
  77. package/dist/core/discovery.d.ts.map +0 -1
  78. package/dist/core/discovery.js +0 -31
  79. package/dist/core/discovery.js.map +0 -1
  80. package/dist/core/fs.d.ts +0 -6
  81. package/dist/core/fs.d.ts.map +0 -1
  82. package/dist/core/fs.js +0 -55
  83. package/dist/core/fs.js.map +0 -1
  84. package/dist/core/ids.d.ts +0 -5
  85. package/dist/core/ids.d.ts.map +0 -1
  86. package/dist/core/ids.js +0 -49
  87. package/dist/core/ids.js.map +0 -1
  88. package/dist/core/index.d.ts +0 -11
  89. package/dist/core/index.d.ts.map +0 -1
  90. package/dist/core/index.js +0 -11
  91. package/dist/core/index.js.map +0 -1
  92. package/dist/core/report.d.ts +0 -41
  93. package/dist/core/report.d.ts.map +0 -1
  94. package/dist/core/report.js +0 -238
  95. package/dist/core/report.js.map +0 -1
  96. package/dist/core/types.d.ts +0 -27
  97. package/dist/core/types.d.ts.map +0 -1
  98. package/dist/core/types.js +0 -2
  99. package/dist/core/types.js.map +0 -1
  100. package/dist/core/validate.d.ts +0 -4
  101. package/dist/core/validate.d.ts.map +0 -1
  102. package/dist/core/validate.js +0 -32
  103. package/dist/core/validate.js.map +0 -1
  104. package/dist/core/validators/contracts.d.ts +0 -5
  105. package/dist/core/validators/contracts.d.ts.map +0 -1
  106. package/dist/core/validators/contracts.js +0 -157
  107. package/dist/core/validators/contracts.js.map +0 -1
  108. package/dist/core/validators/scenario.d.ts +0 -5
  109. package/dist/core/validators/scenario.d.ts.map +0 -1
  110. package/dist/core/validators/scenario.js +0 -82
  111. package/dist/core/validators/scenario.js.map +0 -1
  112. package/dist/core/validators/spec.d.ts +0 -5
  113. package/dist/core/validators/spec.d.ts.map +0 -1
  114. package/dist/core/validators/spec.js +0 -69
  115. package/dist/core/validators/spec.js.map +0 -1
  116. package/dist/core/validators/traceability.d.ts +0 -4
  117. package/dist/core/validators/traceability.d.ts.map +0 -1
  118. package/dist/core/validators/traceability.js +0 -148
  119. package/dist/core/validators/traceability.js.map +0 -1
  120. package/dist/core/version.d.ts +0 -2
  121. package/dist/core/version.d.ts.map +0 -1
  122. package/dist/core/version.js +0 -25
  123. package/dist/core/version.js.map +0 -1
  124. package/dist/index.d.ts.map +0 -1
  125. package/dist/index.js +0 -2
  126. package/dist/index.js.map +0 -1
  127. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -108,9 +108,9 @@ function error(message) {
108
108
  async function runInit(options) {
109
109
  const assetsRoot = getInitAssetsDir();
110
110
  const rootAssets = path3.join(assetsRoot, "root");
111
- const qfaiAssets = path3.join(assetsRoot, "qfai");
111
+ const qfaiAssets = path3.join(assetsRoot, ".qfai");
112
112
  const destRoot = path3.resolve(options.dir);
113
- const destQfai = path3.join(destRoot, "qfai");
113
+ const destQfai = path3.join(destRoot, ".qfai");
114
114
  const rootResult = await copyTemplateTree(rootAssets, destRoot, {
115
115
  force: options.force,
116
116
  dryRun: options.dryRun
@@ -146,14 +146,14 @@ import path4 from "path";
146
146
  import { parse as parseYaml } from "yaml";
147
147
  var defaultConfig = {
148
148
  paths: {
149
- specDir: "qfai/spec",
150
- decisionsDir: "qfai/spec/decisions",
151
- scenariosDir: "qfai/spec",
152
- rulesDir: "qfai/rules",
153
- contractsDir: "qfai/contracts",
154
- uiContractsDir: "qfai/contracts/ui",
155
- apiContractsDir: "qfai/contracts/api",
156
- dataContractsDir: "qfai/contracts/db",
149
+ specDir: ".qfai/spec",
150
+ decisionsDir: ".qfai/spec/decisions",
151
+ scenariosDir: ".qfai/spec/scenarios",
152
+ rulesDir: ".qfai/rules",
153
+ contractsDir: ".qfai/contracts",
154
+ uiContractsDir: ".qfai/contracts/ui",
155
+ apiContractsDir: ".qfai/contracts/api",
156
+ dataContractsDir: ".qfai/contracts/db",
157
157
  srcDir: "src",
158
158
  testsDir: "tests"
159
159
  },
@@ -559,8 +559,7 @@ async function exists2(target) {
559
559
  }
560
560
 
561
561
  // src/core/discovery.ts
562
- var LEGACY_SPEC_NAME = "spec.md";
563
- var SPEC_NAMED_PATTERN = /^spec-\d{4}-[^/\\]+\.md$/i;
562
+ var SPEC_NAMED_PATTERN = /^spec-\d{4}-[^/\\]+\.md$/;
564
563
  async function collectSpecFiles(specRoot) {
565
564
  const files = await collectFiles(specRoot, { extensions: [".md"] });
566
565
  return files.filter((file) => isSpecFile(file));
@@ -584,7 +583,7 @@ async function collectContractFiles(uiRoot, apiRoot, dataRoot) {
584
583
  }
585
584
  function isSpecFile(filePath) {
586
585
  const name = path6.basename(filePath).toLowerCase();
587
- return name === LEGACY_SPEC_NAME || SPEC_NAMED_PATTERN.test(name);
586
+ return SPEC_NAMED_PATTERN.test(name);
588
587
  }
589
588
 
590
589
  // src/core/ids.ts
@@ -645,8 +644,8 @@ import { readFile as readFile2 } from "fs/promises";
645
644
  import path7 from "path";
646
645
  import { fileURLToPath as fileURLToPath2 } from "url";
647
646
  async function resolveToolVersion() {
648
- if ("0.2.5".length > 0) {
649
- return "0.2.5";
647
+ if ("0.2.6".length > 0) {
648
+ return "0.2.6";
650
649
  }
651
650
  try {
652
651
  const packagePath = resolvePackageJsonPath();
@@ -1045,10 +1044,11 @@ async function validateSpecs(root, config) {
1045
1044
  const specsRoot = resolvePath(root, config, "specDir");
1046
1045
  const files = await collectSpecFiles(specsRoot);
1047
1046
  if (files.length === 0) {
1047
+ const expected = "spec-0001-<slug>.md";
1048
1048
  return [
1049
1049
  issue3(
1050
1050
  "QFAI-SPEC-000",
1051
- "Spec \u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002",
1051
+ `Spec \u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u914D\u7F6E\u5834\u6240: ${config.paths.specDir} / \u671F\u5F85\u30D1\u30BF\u30FC\u30F3: ${expected}`,
1052
1052
  "info",
1053
1053
  specsRoot,
1054
1054
  "spec.files"