@harness-engineering/cli 1.13.1 → 1.14.0

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 (139) hide show
  1. package/dist/agents/skills/claude-code/harness-brainstorming/SKILL.md +39 -0
  2. package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +44 -0
  3. package/dist/agents/skills/claude-code/harness-execution/SKILL.md +44 -0
  4. package/dist/agents/skills/claude-code/harness-planning/SKILL.md +39 -0
  5. package/dist/agents/skills/claude-code/harness-release-readiness/SKILL.md +3 -3
  6. package/dist/agents/skills/claude-code/harness-verification/SKILL.md +35 -0
  7. package/dist/agents/skills/claude-code/initialize-harness-project/SKILL.md +11 -3
  8. package/dist/agents/skills/gemini-cli/harness-brainstorming/SKILL.md +39 -0
  9. package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +44 -0
  10. package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +44 -0
  11. package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +39 -0
  12. package/dist/agents/skills/gemini-cli/harness-release-readiness/SKILL.md +3 -3
  13. package/dist/agents/skills/gemini-cli/harness-verification/SKILL.md +35 -0
  14. package/dist/agents/skills/gemini-cli/initialize-harness-project/SKILL.md +11 -3
  15. package/dist/agents-md-YTYQDA3P.js +8 -0
  16. package/dist/{architecture-2R5Z4ZAF.js → architecture-JQZYM4US.js} +4 -4
  17. package/dist/bin/harness-mcp.js +14 -14
  18. package/dist/bin/harness.js +24 -24
  19. package/dist/{check-phase-gate-2OFZ7OWW.js → check-phase-gate-L3RADYWO.js} +4 -4
  20. package/dist/{chunk-QY4T6YAZ.js → chunk-3C2MLBPJ.js} +4 -4
  21. package/dist/{chunk-UAX4I5ZE.js → chunk-6KTUUFRN.js} +2 -2
  22. package/dist/{chunk-ND6PNADU.js → chunk-7IP4JIFL.js} +9 -9
  23. package/dist/{chunk-C2ERUR3L.js → chunk-7MJAPE3Z.js} +165 -49
  24. package/dist/{chunk-PQ5YK4AY.js → chunk-ABQHQ6I5.js} +1583 -1169
  25. package/dist/{chunk-QPEH2QPG.js → chunk-DBSOCI3G.js} +53 -54
  26. package/dist/{chunk-MHBMTPW7.js → chunk-ERS5EVUZ.js} +9 -0
  27. package/dist/{chunk-JSTQ3AWB.js → chunk-FIAPHX37.js} +1 -1
  28. package/dist/{chunk-IMFVFNJE.js → chunk-FTMXDOR6.js} +1 -1
  29. package/dist/{chunk-72GHBOL2.js → chunk-GZKSBLQL.js} +1 -1
  30. package/dist/{chunk-K6XAPGML.js → chunk-H7Y5CKTM.js} +1 -1
  31. package/dist/{chunk-4ZMOCPYO.js → chunk-NLVUVUGD.js} +1 -1
  32. package/dist/{chunk-Z77YQRQT.js → chunk-O5OJVPL6.js} +16 -5
  33. package/dist/{chunk-NKDM3FMH.js → chunk-OD3S2NHN.js} +1 -1
  34. package/dist/{chunk-65FRIL4D.js → chunk-OSXBPAMK.js} +1 -1
  35. package/dist/{chunk-DZS7CJKL.js → chunk-OXLLOSSR.js} +45 -47
  36. package/dist/{chunk-TS3XWPW5.js → chunk-RCWZBSK5.js} +1 -1
  37. package/dist/{chunk-NOPU4RZ4.js → chunk-S2FXOWOR.js} +3 -3
  38. package/dist/{chunk-VUCPTQ6G.js → chunk-SD3SQOZ2.js} +1 -1
  39. package/dist/{chunk-IM32EEDM.js → chunk-TPOTOBR7.js} +9 -9
  40. package/dist/{chunk-SSKDAOX5.js → chunk-XKECDXJS.js} +436 -340
  41. package/dist/{chunk-TKJZKICB.js → chunk-YPYGXRDR.js} +7 -7
  42. package/dist/{chunk-Q6AB7W5Z.js → chunk-YQ6KC6TE.js} +1 -1
  43. package/dist/{chunk-NERR4TAO.js → chunk-YZD2MRNQ.js} +972 -747
  44. package/dist/ci-workflow-EQZFVX3P.js +8 -0
  45. package/dist/{dist-HXHWB7SV.js → dist-B26DFXMP.js} +571 -478
  46. package/dist/{dist-L7LAAQAS.js → dist-DZ63LLUD.js} +1 -1
  47. package/dist/{dist-2B363XUH.js → dist-HWXF2C3R.js} +18 -2
  48. package/dist/{dist-D4RYGUZE.js → dist-USY2C5JL.js} +3 -1
  49. package/dist/{docs-FZOPM4GK.js → docs-7ECGYMAV.js} +4 -4
  50. package/dist/engine-EG4EH4IX.js +8 -0
  51. package/dist/{entropy-LVHJMFGH.js → entropy-5USWKLVS.js} +3 -3
  52. package/dist/{feedback-IHLVLMRD.js → feedback-UTBXZZHF.js} +1 -1
  53. package/dist/{generate-agent-definitions-64S3CLEZ.js → generate-agent-definitions-3PM5EU7V.js} +4 -4
  54. package/dist/{graph-loader-GJZ4FN4Y.js → graph-loader-2M2HXDQI.js} +1 -1
  55. package/dist/index.d.ts +148 -9
  56. package/dist/index.js +24 -24
  57. package/dist/loader-ZPALXIVR.js +10 -0
  58. package/dist/{mcp-JQUI7BVZ.js → mcp-362EZHF4.js} +14 -14
  59. package/dist/{performance-ZTVSUANN.js → performance-OQAFMJUD.js} +3 -3
  60. package/dist/{review-pipeline-76JHKGSV.js → review-pipeline-C4GCFVGP.js} +1 -1
  61. package/dist/runtime-7YLVK453.js +9 -0
  62. package/dist/{security-FWQZF2IZ.js → security-PZOX7AQS.js} +1 -1
  63. package/dist/templates/axum/Cargo.toml.hbs +8 -0
  64. package/dist/templates/axum/src/main.rs +12 -0
  65. package/dist/templates/axum/template.json +16 -0
  66. package/dist/templates/django/manage.py.hbs +19 -0
  67. package/dist/templates/django/requirements.txt.hbs +1 -0
  68. package/dist/templates/django/src/settings.py.hbs +44 -0
  69. package/dist/templates/django/src/urls.py +6 -0
  70. package/dist/templates/django/src/wsgi.py.hbs +9 -0
  71. package/dist/templates/django/template.json +21 -0
  72. package/dist/templates/express/package.json.hbs +15 -0
  73. package/dist/templates/express/src/app.ts +12 -0
  74. package/dist/templates/express/src/lib/.gitkeep +0 -0
  75. package/dist/templates/express/template.json +16 -0
  76. package/dist/templates/fastapi/requirements.txt.hbs +2 -0
  77. package/dist/templates/fastapi/src/main.py +8 -0
  78. package/dist/templates/fastapi/template.json +20 -0
  79. package/dist/templates/gin/go.mod.hbs +5 -0
  80. package/dist/templates/gin/main.go +15 -0
  81. package/dist/templates/gin/template.json +19 -0
  82. package/dist/templates/go-base/.golangci.yml +16 -0
  83. package/dist/templates/go-base/AGENTS.md.hbs +35 -0
  84. package/dist/templates/go-base/go.mod.hbs +3 -0
  85. package/dist/templates/go-base/harness.config.json.hbs +17 -0
  86. package/dist/templates/go-base/main.go +7 -0
  87. package/dist/templates/go-base/template.json +14 -0
  88. package/dist/templates/java-base/AGENTS.md.hbs +35 -0
  89. package/dist/templates/java-base/checkstyle.xml +20 -0
  90. package/dist/templates/java-base/harness.config.json.hbs +16 -0
  91. package/dist/templates/java-base/pom.xml.hbs +39 -0
  92. package/dist/templates/java-base/src/main/java/App.java.hbs +5 -0
  93. package/dist/templates/java-base/template.json +13 -0
  94. package/dist/templates/nestjs/nest-cli.json +5 -0
  95. package/dist/templates/nestjs/package.json.hbs +18 -0
  96. package/dist/templates/nestjs/src/app.module.ts +8 -0
  97. package/dist/templates/nestjs/src/lib/.gitkeep +0 -0
  98. package/dist/templates/nestjs/src/main.ts +11 -0
  99. package/dist/templates/nestjs/template.json +16 -0
  100. package/dist/templates/nextjs/template.json +15 -1
  101. package/dist/templates/python-base/.python-version +1 -0
  102. package/dist/templates/python-base/AGENTS.md.hbs +32 -0
  103. package/dist/templates/python-base/harness.config.json.hbs +16 -0
  104. package/dist/templates/python-base/pyproject.toml.hbs +18 -0
  105. package/dist/templates/python-base/ruff.toml +5 -0
  106. package/dist/templates/python-base/src/__init__.py +0 -0
  107. package/dist/templates/python-base/template.json +13 -0
  108. package/dist/templates/react-vite/index.html +12 -0
  109. package/dist/templates/react-vite/package.json.hbs +18 -0
  110. package/dist/templates/react-vite/src/App.tsx +7 -0
  111. package/dist/templates/react-vite/src/lib/.gitkeep +0 -0
  112. package/dist/templates/react-vite/src/main.tsx +9 -0
  113. package/dist/templates/react-vite/template.json +19 -0
  114. package/dist/templates/react-vite/vite.config.ts +6 -0
  115. package/dist/templates/rust-base/AGENTS.md.hbs +35 -0
  116. package/dist/templates/rust-base/Cargo.toml.hbs +6 -0
  117. package/dist/templates/rust-base/clippy.toml +2 -0
  118. package/dist/templates/rust-base/harness.config.json.hbs +17 -0
  119. package/dist/templates/rust-base/src/main.rs +3 -0
  120. package/dist/templates/rust-base/template.json +14 -0
  121. package/dist/templates/spring-boot/pom.xml.hbs +50 -0
  122. package/dist/templates/spring-boot/src/main/java/Application.java.hbs +19 -0
  123. package/dist/templates/spring-boot/template.json +15 -0
  124. package/dist/templates/vue/index.html +12 -0
  125. package/dist/templates/vue/package.json.hbs +16 -0
  126. package/dist/templates/vue/src/App.vue +7 -0
  127. package/dist/templates/vue/src/lib/.gitkeep +0 -0
  128. package/dist/templates/vue/src/main.ts +4 -0
  129. package/dist/templates/vue/template.json +19 -0
  130. package/dist/templates/vue/vite.config.ts +6 -0
  131. package/dist/{validate-GCHZJIL7.js → validate-FD3Z6VJD.js} +4 -4
  132. package/dist/validate-cross-check-WNJM6H2D.js +8 -0
  133. package/package.json +5 -5
  134. package/dist/agents-md-XU3BHE22.js +0 -8
  135. package/dist/ci-workflow-EHV65NQB.js +0 -8
  136. package/dist/engine-OL4T6NZS.js +0 -8
  137. package/dist/loader-DPYFB6R6.js +0 -10
  138. package/dist/runtime-X7U6SC7K.js +0 -9
  139. package/dist/validate-cross-check-STFHYMAZ.js +0 -8
@@ -6,7 +6,7 @@ import {
6
6
  TemplateLoadError,
7
7
  generate,
8
8
  validate
9
- } from "./chunk-QPEH2QPG.js";
9
+ } from "./chunk-DBSOCI3G.js";
10
10
  export {
11
11
  LinterConfigSchema,
12
12
  ParseError,
@@ -77,6 +77,7 @@ import {
77
77
  analyzeLearningPatterns,
78
78
  appendFailure,
79
79
  appendLearning,
80
+ appendSessionEntry,
80
81
  applyFixes,
81
82
  applyHotspotDowngrade,
82
83
  archMatchers,
@@ -84,12 +85,14 @@ import {
84
85
  architecture,
85
86
  archiveFailures,
86
87
  archiveLearnings,
88
+ archiveSession,
87
89
  archiveStream,
88
90
  buildDependencyGraph,
89
91
  buildExclusionSet,
90
92
  buildSnapshot,
91
93
  checkDocCoverage,
92
94
  checkEligibility,
95
+ checkEvidenceCoverage,
93
96
  classifyFinding,
94
97
  clearFailuresCache,
95
98
  clearLearningsCache,
@@ -173,6 +176,8 @@ import {
173
176
  reactRules,
174
177
  readCheckState,
175
178
  readLockfile,
179
+ readSessionSection,
180
+ readSessionSections,
176
181
  removeContributions,
177
182
  removeProvenance,
178
183
  requestMultiplePeerReviews,
@@ -206,8 +211,10 @@ import {
206
211
  spawnBackgroundCheck,
207
212
  syncConstraintNodes,
208
213
  syncRoadmap,
214
+ tagUncitedFindings,
209
215
  touchStream,
210
216
  trackAction,
217
+ updateSessionEntryStatus,
211
218
  updateSessionIndex,
212
219
  validateAgentsMap,
213
220
  validateBoundaries,
@@ -223,14 +230,15 @@ import {
223
230
  writeLockfile,
224
231
  writeSessionSummary,
225
232
  xssRules
226
- } from "./chunk-PQ5YK4AY.js";
233
+ } from "./chunk-ABQHQ6I5.js";
227
234
  import {
228
235
  Err,
229
236
  Ok,
237
+ SESSION_SECTION_NAMES,
230
238
  STANDARD_COGNITIVE_MODES,
231
239
  isErr,
232
240
  isOk
233
- } from "./chunk-MHBMTPW7.js";
241
+ } from "./chunk-ERS5EVUZ.js";
234
242
  export {
235
243
  AGENT_DESCRIPTORS,
236
244
  ARCHITECTURE_DESCRIPTOR,
@@ -294,6 +302,7 @@ export {
294
302
  RegressionDetector,
295
303
  RuleRegistry,
296
304
  SECURITY_DESCRIPTOR,
305
+ SESSION_SECTION_NAMES,
297
306
  STANDARD_COGNITIVE_MODES,
298
307
  SecurityConfigSchema,
299
308
  SecurityScanner,
@@ -313,6 +322,7 @@ export {
313
322
  analyzeLearningPatterns,
314
323
  appendFailure,
315
324
  appendLearning,
325
+ appendSessionEntry,
316
326
  applyFixes,
317
327
  applyHotspotDowngrade,
318
328
  archMatchers,
@@ -320,12 +330,14 @@ export {
320
330
  architecture,
321
331
  archiveFailures,
322
332
  archiveLearnings,
333
+ archiveSession,
323
334
  archiveStream,
324
335
  buildDependencyGraph,
325
336
  buildExclusionSet,
326
337
  buildSnapshot,
327
338
  checkDocCoverage,
328
339
  checkEligibility,
340
+ checkEvidenceCoverage,
329
341
  classifyFinding,
330
342
  clearFailuresCache,
331
343
  clearLearningsCache,
@@ -411,6 +423,8 @@ export {
411
423
  reactRules,
412
424
  readCheckState,
413
425
  readLockfile,
426
+ readSessionSection,
427
+ readSessionSections,
414
428
  removeContributions,
415
429
  removeProvenance,
416
430
  requestMultiplePeerReviews,
@@ -444,8 +458,10 @@ export {
444
458
  spawnBackgroundCheck,
445
459
  syncConstraintNodes,
446
460
  syncRoadmap,
461
+ tagUncitedFindings,
447
462
  touchStream,
448
463
  trackAction,
464
+ updateSessionEntryStatus,
449
465
  updateSessionIndex,
450
466
  validateAgentsMap,
451
467
  validateBoundaries,
@@ -1,13 +1,15 @@
1
1
  import {
2
2
  Err,
3
3
  Ok,
4
+ SESSION_SECTION_NAMES,
4
5
  STANDARD_COGNITIVE_MODES,
5
6
  isErr,
6
7
  isOk
7
- } from "./chunk-MHBMTPW7.js";
8
+ } from "./chunk-ERS5EVUZ.js";
8
9
  export {
9
10
  Err,
10
11
  Ok,
12
+ SESSION_SECTION_NAMES,
11
13
  STANDARD_COGNITIVE_MODES,
12
14
  isErr,
13
15
  isOk
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  checkDocsDefinition,
3
3
  handleCheckDocs
4
- } from "./chunk-ND6PNADU.js";
5
- import "./chunk-Z77YQRQT.js";
4
+ } from "./chunk-7IP4JIFL.js";
5
+ import "./chunk-O5OJVPL6.js";
6
6
  import "./chunk-IDZNPTYD.js";
7
7
  import "./chunk-W6Y7ZW3Y.js";
8
8
  import "./chunk-3WGJMBKH.js";
9
- import "./chunk-PQ5YK4AY.js";
10
- import "./chunk-MHBMTPW7.js";
9
+ import "./chunk-ABQHQ6I5.js";
10
+ import "./chunk-ERS5EVUZ.js";
11
11
  export {
12
12
  checkDocsDefinition,
13
13
  handleCheckDocs
@@ -0,0 +1,8 @@
1
+ import {
2
+ TemplateEngine
3
+ } from "./chunk-7MJAPE3Z.js";
4
+ import "./chunk-ABQHQ6I5.js";
5
+ import "./chunk-ERS5EVUZ.js";
6
+ export {
7
+ TemplateEngine
8
+ };
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  detectEntropyDefinition,
3
3
  handleDetectEntropy
4
- } from "./chunk-DZS7CJKL.js";
4
+ } from "./chunk-OXLLOSSR.js";
5
5
  import "./chunk-IDZNPTYD.js";
6
6
  import "./chunk-W6Y7ZW3Y.js";
7
- import "./chunk-PQ5YK4AY.js";
8
- import "./chunk-MHBMTPW7.js";
7
+ import "./chunk-ABQHQ6I5.js";
8
+ import "./chunk-ERS5EVUZ.js";
9
9
  export {
10
10
  detectEntropyDefinition,
11
11
  handleDetectEntropy
@@ -5,7 +5,7 @@ import {
5
5
  handleCreateSelfReview,
6
6
  handleRequestPeerReview,
7
7
  requestPeerReviewDefinition
8
- } from "./chunk-IM32EEDM.js";
8
+ } from "./chunk-TPOTOBR7.js";
9
9
  import "./chunk-IDZNPTYD.js";
10
10
  import "./chunk-W6Y7ZW3Y.js";
11
11
  export {
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createGenerateAgentDefinitionsCommand,
3
3
  generateAgentDefinitions
4
- } from "./chunk-TS3XWPW5.js";
5
- import "./chunk-Q6AB7W5Z.js";
4
+ } from "./chunk-RCWZBSK5.js";
5
+ import "./chunk-YQ6KC6TE.js";
6
6
  import "./chunk-KET4QQZB.js";
7
7
  import "./chunk-ZOAWBDWU.js";
8
8
  import "./chunk-N5G5QMS3.js";
9
9
  import "./chunk-3WGJMBKH.js";
10
- import "./chunk-PQ5YK4AY.js";
11
- import "./chunk-MHBMTPW7.js";
10
+ import "./chunk-ABQHQ6I5.js";
11
+ import "./chunk-ERS5EVUZ.js";
12
12
  export {
13
13
  createGenerateAgentDefinitionsCommand,
14
14
  generateAgentDefinitions
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  clearGraphStoreCache,
3
3
  loadGraphStore
4
- } from "./chunk-IMFVFNJE.js";
4
+ } from "./chunk-FTMXDOR6.js";
5
5
  export {
6
6
  clearGraphStoreCache,
7
7
  loadGraphStore
package/dist/index.d.ts CHANGED
@@ -450,20 +450,63 @@ declare const HarnessConfigSchema: z.ZodObject<{
450
450
  }, z.ZodTypeAny, "passthrough">>>;
451
451
  /** Project template settings (used by 'harness init') */
452
452
  template: z.ZodOptional<z.ZodObject<{
453
- /** Complexity level of the template */
454
- level: z.ZodEnum<["basic", "intermediate", "advanced"]>;
453
+ /** Complexity level of the template (JS/TS only) */
454
+ level: z.ZodOptional<z.ZodEnum<["basic", "intermediate", "advanced"]>>;
455
+ /** Target language */
456
+ language: z.ZodOptional<z.ZodEnum<["typescript", "python", "go", "rust", "java"]>>;
455
457
  /** Primary technology framework */
456
458
  framework: z.ZodOptional<z.ZodString>;
457
459
  /** Template version */
458
460
  version: z.ZodNumber;
461
+ /** Language-specific tooling configuration */
462
+ tooling: z.ZodOptional<z.ZodObject<{
463
+ packageManager: z.ZodOptional<z.ZodString>;
464
+ linter: z.ZodOptional<z.ZodString>;
465
+ formatter: z.ZodOptional<z.ZodString>;
466
+ buildTool: z.ZodOptional<z.ZodString>;
467
+ testRunner: z.ZodOptional<z.ZodString>;
468
+ lockFile: z.ZodOptional<z.ZodString>;
469
+ }, "strip", z.ZodTypeAny, {
470
+ packageManager?: string | undefined;
471
+ linter?: string | undefined;
472
+ formatter?: string | undefined;
473
+ buildTool?: string | undefined;
474
+ testRunner?: string | undefined;
475
+ lockFile?: string | undefined;
476
+ }, {
477
+ packageManager?: string | undefined;
478
+ linter?: string | undefined;
479
+ formatter?: string | undefined;
480
+ buildTool?: string | undefined;
481
+ testRunner?: string | undefined;
482
+ lockFile?: string | undefined;
483
+ }>>;
459
484
  }, "strip", z.ZodTypeAny, {
460
485
  version: number;
461
- level: "basic" | "intermediate" | "advanced";
462
486
  framework?: string | undefined;
487
+ level?: "basic" | "intermediate" | "advanced" | undefined;
488
+ language?: "typescript" | "python" | "go" | "rust" | "java" | undefined;
489
+ tooling?: {
490
+ packageManager?: string | undefined;
491
+ linter?: string | undefined;
492
+ formatter?: string | undefined;
493
+ buildTool?: string | undefined;
494
+ testRunner?: string | undefined;
495
+ lockFile?: string | undefined;
496
+ } | undefined;
463
497
  }, {
464
498
  version: number;
465
- level: "basic" | "intermediate" | "advanced";
466
499
  framework?: string | undefined;
500
+ level?: "basic" | "intermediate" | "advanced" | undefined;
501
+ language?: "typescript" | "python" | "go" | "rust" | "java" | undefined;
502
+ tooling?: {
503
+ packageManager?: string | undefined;
504
+ linter?: string | undefined;
505
+ formatter?: string | undefined;
506
+ buildTool?: string | undefined;
507
+ testRunner?: string | undefined;
508
+ lockFile?: string | undefined;
509
+ } | undefined;
467
510
  }>>;
468
511
  /** Phase gate and readiness check configuration */
469
512
  phaseGates: z.ZodOptional<z.ZodObject<{
@@ -742,8 +785,17 @@ declare const HarnessConfigSchema: z.ZodObject<{
742
785
  }, z.ZodTypeAny, "passthrough"> | undefined;
743
786
  template?: {
744
787
  version: number;
745
- level: "basic" | "intermediate" | "advanced";
746
788
  framework?: string | undefined;
789
+ level?: "basic" | "intermediate" | "advanced" | undefined;
790
+ language?: "typescript" | "python" | "go" | "rust" | "java" | undefined;
791
+ tooling?: {
792
+ packageManager?: string | undefined;
793
+ linter?: string | undefined;
794
+ formatter?: string | undefined;
795
+ buildTool?: string | undefined;
796
+ testRunner?: string | undefined;
797
+ lockFile?: string | undefined;
798
+ } | undefined;
747
799
  } | undefined;
748
800
  phaseGates?: {
749
801
  enabled: boolean;
@@ -849,8 +901,17 @@ declare const HarnessConfigSchema: z.ZodObject<{
849
901
  }, z.ZodTypeAny, "passthrough"> | undefined;
850
902
  template?: {
851
903
  version: number;
852
- level: "basic" | "intermediate" | "advanced";
853
904
  framework?: string | undefined;
905
+ level?: "basic" | "intermediate" | "advanced" | undefined;
906
+ language?: "typescript" | "python" | "go" | "rust" | "java" | undefined;
907
+ tooling?: {
908
+ packageManager?: string | undefined;
909
+ linter?: string | undefined;
910
+ formatter?: string | undefined;
911
+ buildTool?: string | undefined;
912
+ testRunner?: string | undefined;
913
+ lockFile?: string | undefined;
914
+ } | undefined;
854
915
  } | undefined;
855
916
  phaseGates?: {
856
917
  enabled?: boolean | undefined;
@@ -950,6 +1011,39 @@ declare const TemplateMetadataSchema: z.ZodObject<{
950
1011
  files?: "overlay-wins" | undefined;
951
1012
  }>>;
952
1013
  version: z.ZodLiteral<1>;
1014
+ language: z.ZodOptional<z.ZodEnum<["typescript", "python", "go", "rust", "java"]>>;
1015
+ tooling: z.ZodOptional<z.ZodObject<{
1016
+ packageManager: z.ZodOptional<z.ZodString>;
1017
+ linter: z.ZodOptional<z.ZodString>;
1018
+ formatter: z.ZodOptional<z.ZodString>;
1019
+ buildTool: z.ZodOptional<z.ZodString>;
1020
+ testRunner: z.ZodOptional<z.ZodString>;
1021
+ lockFile: z.ZodOptional<z.ZodString>;
1022
+ }, "strip", z.ZodTypeAny, {
1023
+ packageManager?: string | undefined;
1024
+ linter?: string | undefined;
1025
+ formatter?: string | undefined;
1026
+ buildTool?: string | undefined;
1027
+ testRunner?: string | undefined;
1028
+ lockFile?: string | undefined;
1029
+ }, {
1030
+ packageManager?: string | undefined;
1031
+ linter?: string | undefined;
1032
+ formatter?: string | undefined;
1033
+ buildTool?: string | undefined;
1034
+ testRunner?: string | undefined;
1035
+ lockFile?: string | undefined;
1036
+ }>>;
1037
+ detect: z.ZodOptional<z.ZodArray<z.ZodObject<{
1038
+ file: z.ZodString;
1039
+ contains: z.ZodOptional<z.ZodString>;
1040
+ }, "strip", z.ZodTypeAny, {
1041
+ file: string;
1042
+ contains?: string | undefined;
1043
+ }, {
1044
+ file: string;
1045
+ contains?: string | undefined;
1046
+ }>, "many">>;
953
1047
  }, "strip", z.ZodTypeAny, {
954
1048
  name: string;
955
1049
  version: 1;
@@ -960,25 +1054,56 @@ declare const TemplateMetadataSchema: z.ZodObject<{
960
1054
  };
961
1055
  framework?: string | undefined;
962
1056
  level?: "basic" | "intermediate" | "advanced" | undefined;
1057
+ language?: "typescript" | "python" | "go" | "rust" | "java" | undefined;
1058
+ tooling?: {
1059
+ packageManager?: string | undefined;
1060
+ linter?: string | undefined;
1061
+ formatter?: string | undefined;
1062
+ buildTool?: string | undefined;
1063
+ testRunner?: string | undefined;
1064
+ lockFile?: string | undefined;
1065
+ } | undefined;
963
1066
  extends?: string | undefined;
1067
+ detect?: {
1068
+ file: string;
1069
+ contains?: string | undefined;
1070
+ }[] | undefined;
964
1071
  }, {
965
1072
  name: string;
966
1073
  version: 1;
967
1074
  description: string;
968
1075
  framework?: string | undefined;
969
1076
  level?: "basic" | "intermediate" | "advanced" | undefined;
1077
+ language?: "typescript" | "python" | "go" | "rust" | "java" | undefined;
1078
+ tooling?: {
1079
+ packageManager?: string | undefined;
1080
+ linter?: string | undefined;
1081
+ formatter?: string | undefined;
1082
+ buildTool?: string | undefined;
1083
+ testRunner?: string | undefined;
1084
+ lockFile?: string | undefined;
1085
+ } | undefined;
970
1086
  extends?: string | undefined;
971
1087
  mergeStrategy?: {
972
1088
  json?: "deep-merge" | "overlay-wins" | undefined;
973
1089
  files?: "overlay-wins" | undefined;
974
1090
  } | undefined;
1091
+ detect?: {
1092
+ file: string;
1093
+ contains?: string | undefined;
1094
+ }[] | undefined;
975
1095
  }>;
976
1096
  type TemplateMetadata = z.infer<typeof TemplateMetadataSchema>;
977
1097
 
978
1098
  interface TemplateContext {
979
1099
  projectName: string;
980
- level: string;
1100
+ level?: string;
981
1101
  framework?: string;
1102
+ language?: string;
1103
+ goModulePath?: string;
1104
+ pythonMinVersion?: string;
1105
+ javaGroupId?: string;
1106
+ rustEdition?: string;
982
1107
  }
983
1108
  interface TemplateFile {
984
1109
  relativePath: string;
@@ -998,16 +1123,30 @@ interface RenderedFile {
998
1123
  interface RenderedFiles {
999
1124
  files: RenderedFile[];
1000
1125
  }
1126
+ interface DetectedFramework {
1127
+ framework: string;
1128
+ language: string;
1129
+ score: number;
1130
+ templateName: string;
1131
+ }
1001
1132
  interface WriteOptions {
1002
1133
  overwrite: boolean;
1134
+ language?: string;
1135
+ }
1136
+ interface WriteResult {
1137
+ written: string[];
1138
+ skippedConfigs: string[];
1003
1139
  }
1004
1140
  declare class TemplateEngine {
1005
1141
  private templatesDir;
1006
1142
  constructor(templatesDir: string);
1007
1143
  listTemplates(): Result<TemplateMetadata[], Error>;
1008
- resolveTemplate(level: string, framework?: string): Result<ResolvedTemplate, Error>;
1144
+ resolveTemplate(level?: string, framework?: string, language?: string): Result<ResolvedTemplate, Error>;
1009
1145
  render(template: ResolvedTemplate, context: TemplateContext): Result<RenderedFiles, Error>;
1010
- write(files: RenderedFiles, targetDir: string, options: WriteOptions): Result<string[], Error>;
1146
+ private renderFile;
1147
+ write(files: RenderedFiles, targetDir: string, options: WriteOptions): Result<WriteResult, Error>;
1148
+ detectFramework(targetDir: string): Result<DetectedFramework[], Error>;
1149
+ private resolveLanguageTemplate;
1011
1150
  private findTemplateDir;
1012
1151
  private collectFiles;
1013
1152
  private mergeFileLists;
package/dist/index.js CHANGED
@@ -12,15 +12,15 @@ import {
12
12
  runScan,
13
13
  runUninstall,
14
14
  runUninstallConstraints
15
- } from "./chunk-SSKDAOX5.js";
15
+ } from "./chunk-XKECDXJS.js";
16
16
  import {
17
17
  generateCIWorkflow
18
- } from "./chunk-VUCPTQ6G.js";
18
+ } from "./chunk-SD3SQOZ2.js";
19
19
  import {
20
20
  OutputFormatter,
21
21
  OutputMode,
22
22
  runCheckPhaseGate
23
- } from "./chunk-UAX4I5ZE.js";
23
+ } from "./chunk-6KTUUFRN.js";
24
24
  import {
25
25
  AGENT_DESCRIPTIONS,
26
26
  DEFAULT_TOOLS,
@@ -29,11 +29,11 @@ import {
29
29
  generateAgentDefinitions,
30
30
  renderClaudeCodeAgent,
31
31
  renderGeminiAgent
32
- } from "./chunk-TS3XWPW5.js";
32
+ } from "./chunk-RCWZBSK5.js";
33
33
  import {
34
34
  listPersonas,
35
35
  loadPersona
36
- } from "./chunk-Q6AB7W5Z.js";
36
+ } from "./chunk-YQ6KC6TE.js";
37
37
  import {
38
38
  detectTrigger,
39
39
  runPersona
@@ -50,36 +50,36 @@ import {
50
50
  import {
51
51
  logger
52
52
  } from "./chunk-EBJQ6N4M.js";
53
- import "./chunk-QPEH2QPG.js";
53
+ import "./chunk-DBSOCI3G.js";
54
54
  import {
55
55
  generateRuntime
56
- } from "./chunk-JSTQ3AWB.js";
56
+ } from "./chunk-FIAPHX37.js";
57
57
  import "./chunk-KET4QQZB.js";
58
58
  import {
59
59
  generateAgentsMd
60
- } from "./chunk-NKDM3FMH.js";
60
+ } from "./chunk-OD3S2NHN.js";
61
61
  import {
62
62
  createHarnessServer,
63
63
  generateSlashCommands,
64
64
  getToolDefinitions,
65
65
  startServer
66
- } from "./chunk-NERR4TAO.js";
67
- import "./chunk-DZS7CJKL.js";
68
- import "./chunk-TKJZKICB.js";
69
- import "./chunk-IM32EEDM.js";
70
- import "./chunk-65FRIL4D.js";
71
- import "./chunk-4ZMOCPYO.js";
66
+ } from "./chunk-YZD2MRNQ.js";
67
+ import "./chunk-OXLLOSSR.js";
68
+ import "./chunk-YPYGXRDR.js";
69
+ import "./chunk-TPOTOBR7.js";
70
+ import "./chunk-OSXBPAMK.js";
71
+ import "./chunk-NLVUVUGD.js";
72
72
  import "./chunk-ZOAWBDWU.js";
73
- import "./chunk-NOPU4RZ4.js";
74
- import "./chunk-IMFVFNJE.js";
75
- import "./chunk-QY4T6YAZ.js";
76
- import "./chunk-K6XAPGML.js";
77
- import "./chunk-ND6PNADU.js";
73
+ import "./chunk-S2FXOWOR.js";
74
+ import "./chunk-FTMXDOR6.js";
75
+ import "./chunk-3C2MLBPJ.js";
76
+ import "./chunk-H7Y5CKTM.js";
77
+ import "./chunk-7IP4JIFL.js";
78
78
  import {
79
79
  findConfigFile,
80
80
  loadConfig,
81
81
  resolveConfig
82
- } from "./chunk-Z77YQRQT.js";
82
+ } from "./chunk-O5OJVPL6.js";
83
83
  import "./chunk-IDZNPTYD.js";
84
84
  import "./chunk-W6Y7ZW3Y.js";
85
85
  import "./chunk-N5G5QMS3.js";
@@ -92,12 +92,12 @@ import "./chunk-XYLGHKG6.js";
92
92
  import "./chunk-BM3PWGXQ.js";
93
93
  import {
94
94
  runCrossCheck
95
- } from "./chunk-72GHBOL2.js";
95
+ } from "./chunk-GZKSBLQL.js";
96
96
  import {
97
97
  TemplateEngine
98
- } from "./chunk-C2ERUR3L.js";
99
- import "./chunk-PQ5YK4AY.js";
100
- import "./chunk-MHBMTPW7.js";
98
+ } from "./chunk-7MJAPE3Z.js";
99
+ import "./chunk-ABQHQ6I5.js";
100
+ import "./chunk-ERS5EVUZ.js";
101
101
  export {
102
102
  AGENT_DESCRIPTIONS,
103
103
  ALLOWED_PERSONA_COMMANDS,
@@ -0,0 +1,10 @@
1
+ import {
2
+ listPersonas,
3
+ loadPersona
4
+ } from "./chunk-YQ6KC6TE.js";
5
+ import "./chunk-ABQHQ6I5.js";
6
+ import "./chunk-ERS5EVUZ.js";
7
+ export {
8
+ listPersonas,
9
+ loadPersona
10
+ };
@@ -2,21 +2,21 @@ import {
2
2
  createHarnessServer,
3
3
  getToolDefinitions,
4
4
  startServer
5
- } from "./chunk-NERR4TAO.js";
6
- import "./chunk-DZS7CJKL.js";
7
- import "./chunk-TKJZKICB.js";
8
- import "./chunk-IM32EEDM.js";
9
- import "./chunk-65FRIL4D.js";
10
- import "./chunk-4ZMOCPYO.js";
5
+ } from "./chunk-YZD2MRNQ.js";
6
+ import "./chunk-OXLLOSSR.js";
7
+ import "./chunk-YPYGXRDR.js";
8
+ import "./chunk-TPOTOBR7.js";
9
+ import "./chunk-OSXBPAMK.js";
10
+ import "./chunk-NLVUVUGD.js";
11
11
  import "./chunk-ZOAWBDWU.js";
12
- import "./chunk-NOPU4RZ4.js";
13
- import "./chunk-IMFVFNJE.js";
14
- import "./chunk-QY4T6YAZ.js";
12
+ import "./chunk-S2FXOWOR.js";
13
+ import "./chunk-FTMXDOR6.js";
14
+ import "./chunk-3C2MLBPJ.js";
15
15
  import {
16
16
  resolveProjectConfig
17
- } from "./chunk-K6XAPGML.js";
18
- import "./chunk-ND6PNADU.js";
19
- import "./chunk-Z77YQRQT.js";
17
+ } from "./chunk-H7Y5CKTM.js";
18
+ import "./chunk-7IP4JIFL.js";
19
+ import "./chunk-O5OJVPL6.js";
20
20
  import {
21
21
  resultToMcpResponse
22
22
  } from "./chunk-IDZNPTYD.js";
@@ -24,8 +24,8 @@ import "./chunk-W6Y7ZW3Y.js";
24
24
  import "./chunk-N5G5QMS3.js";
25
25
  import "./chunk-3WGJMBKH.js";
26
26
  import "./chunk-XYLGHKG6.js";
27
- import "./chunk-PQ5YK4AY.js";
28
- import "./chunk-MHBMTPW7.js";
27
+ import "./chunk-ABQHQ6I5.js";
28
+ import "./chunk-ERS5EVUZ.js";
29
29
  export {
30
30
  createHarnessServer,
31
31
  getToolDefinitions,
@@ -7,11 +7,11 @@ import {
7
7
  handleGetPerfBaselines,
8
8
  handleUpdatePerfBaselines,
9
9
  updatePerfBaselinesDefinition
10
- } from "./chunk-TKJZKICB.js";
10
+ } from "./chunk-YPYGXRDR.js";
11
11
  import "./chunk-IDZNPTYD.js";
12
12
  import "./chunk-W6Y7ZW3Y.js";
13
- import "./chunk-PQ5YK4AY.js";
14
- import "./chunk-MHBMTPW7.js";
13
+ import "./chunk-ABQHQ6I5.js";
14
+ import "./chunk-ERS5EVUZ.js";
15
15
  export {
16
16
  checkPerformanceDefinition,
17
17
  getCriticalPathsDefinition,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  handleRunCodeReview,
3
3
  runCodeReviewDefinition
4
- } from "./chunk-4ZMOCPYO.js";
4
+ } from "./chunk-NLVUVUGD.js";
5
5
  import "./chunk-W6Y7ZW3Y.js";
6
6
  export {
7
7
  handleRunCodeReview,
@@ -0,0 +1,9 @@
1
+ import {
2
+ generateRuntime
3
+ } from "./chunk-FIAPHX37.js";
4
+ import "./chunk-KET4QQZB.js";
5
+ import "./chunk-ABQHQ6I5.js";
6
+ import "./chunk-ERS5EVUZ.js";
7
+ export {
8
+ generateRuntime
9
+ };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  handleRunSecurityScan,
3
3
  runSecurityScanDefinition
4
- } from "./chunk-65FRIL4D.js";
4
+ } from "./chunk-OSXBPAMK.js";
5
5
  import "./chunk-W6Y7ZW3Y.js";
6
6
  export {
7
7
  handleRunSecurityScan,
@@ -0,0 +1,8 @@
1
+ [package]
2
+ name = "{{projectName}}"
3
+ version = "0.1.0"
4
+ edition = "{{rustEdition}}"
5
+
6
+ [dependencies]
7
+ axum = "0.7"
8
+ tokio = { version = "1", features = ["full"] }