@harness-engineering/cli 3.0.1 → 4.0.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 (130) hide show
  1. package/dist/agents/personas/harness-pm.yaml +33 -0
  2. package/dist/agents/skills/claude-code/acceptance-eval/SKILL.md +92 -0
  3. package/dist/agents/skills/claude-code/acceptance-eval/skill.yaml +54 -0
  4. package/dist/agents/skills/claude-code/harness-brainstorming/SKILL.md +46 -38
  5. package/dist/agents/skills/claude-code/harness-brainstorming/skill.yaml +1 -0
  6. package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +10 -11
  7. package/dist/agents/skills/claude-code/harness-execution/SKILL.md +59 -26
  8. package/dist/agents/skills/claude-code/harness-integration/SKILL.md +21 -19
  9. package/dist/agents/skills/claude-code/harness-maintenance-pipeline/SKILL.md +173 -0
  10. package/dist/agents/skills/claude-code/harness-maintenance-pipeline/skill.yaml +43 -0
  11. package/dist/agents/skills/claude-code/harness-onboarding/SKILL.md +2 -0
  12. package/dist/agents/skills/claude-code/harness-planning/SKILL.md +17 -40
  13. package/dist/agents/skills/claude-code/harness-pulse/SKILL.md +1 -1
  14. package/dist/agents/skills/claude-code/harness-roadmap/SKILL.md +17 -0
  15. package/dist/agents/skills/claude-code/harness-roadmap-pilot/SKILL.md +40 -43
  16. package/dist/agents/skills/claude-code/harness-verification/SKILL.md +9 -12
  17. package/dist/agents/skills/claude-code/initialize-harness-project/SKILL.md +112 -126
  18. package/dist/agents/skills/claude-code/outcome-eval/SKILL.md +1 -0
  19. package/dist/agents/skills/codex/acceptance-eval/SKILL.md +92 -0
  20. package/dist/agents/skills/codex/acceptance-eval/skill.yaml +54 -0
  21. package/dist/agents/skills/codex/harness-brainstorming/SKILL.md +46 -38
  22. package/dist/agents/skills/codex/harness-brainstorming/skill.yaml +1 -0
  23. package/dist/agents/skills/codex/harness-code-review/SKILL.md +10 -11
  24. package/dist/agents/skills/codex/harness-execution/SKILL.md +59 -26
  25. package/dist/agents/skills/codex/harness-integration/SKILL.md +21 -19
  26. package/dist/agents/skills/codex/harness-maintenance-pipeline/SKILL.md +173 -0
  27. package/dist/agents/skills/codex/harness-maintenance-pipeline/skill.yaml +43 -0
  28. package/dist/agents/skills/codex/harness-onboarding/SKILL.md +2 -0
  29. package/dist/agents/skills/codex/harness-planning/SKILL.md +17 -40
  30. package/dist/agents/skills/codex/harness-pulse/SKILL.md +1 -1
  31. package/dist/agents/skills/codex/harness-roadmap/SKILL.md +17 -0
  32. package/dist/agents/skills/codex/harness-roadmap-pilot/SKILL.md +40 -43
  33. package/dist/agents/skills/codex/harness-verification/SKILL.md +9 -12
  34. package/dist/agents/skills/codex/initialize-harness-project/SKILL.md +112 -126
  35. package/dist/agents/skills/codex/outcome-eval/SKILL.md +1 -0
  36. package/dist/agents/skills/cursor/acceptance-eval/SKILL.md +92 -0
  37. package/dist/agents/skills/cursor/acceptance-eval/skill.yaml +54 -0
  38. package/dist/agents/skills/cursor/harness-brainstorming/SKILL.md +46 -38
  39. package/dist/agents/skills/cursor/harness-brainstorming/skill.yaml +1 -0
  40. package/dist/agents/skills/cursor/harness-code-review/SKILL.md +10 -11
  41. package/dist/agents/skills/cursor/harness-execution/SKILL.md +59 -26
  42. package/dist/agents/skills/cursor/harness-integration/SKILL.md +21 -19
  43. package/dist/agents/skills/cursor/harness-maintenance-pipeline/SKILL.md +173 -0
  44. package/dist/agents/skills/cursor/harness-maintenance-pipeline/skill.yaml +43 -0
  45. package/dist/agents/skills/cursor/harness-onboarding/SKILL.md +2 -0
  46. package/dist/agents/skills/cursor/harness-planning/SKILL.md +17 -40
  47. package/dist/agents/skills/cursor/harness-pulse/SKILL.md +1 -1
  48. package/dist/agents/skills/cursor/harness-roadmap/SKILL.md +17 -0
  49. package/dist/agents/skills/cursor/harness-roadmap-pilot/SKILL.md +40 -43
  50. package/dist/agents/skills/cursor/harness-verification/SKILL.md +9 -12
  51. package/dist/agents/skills/cursor/initialize-harness-project/SKILL.md +112 -126
  52. package/dist/agents/skills/cursor/outcome-eval/SKILL.md +1 -0
  53. package/dist/agents/skills/gemini-cli/acceptance-eval/SKILL.md +92 -0
  54. package/dist/agents/skills/gemini-cli/acceptance-eval/skill.yaml +54 -0
  55. package/dist/agents/skills/gemini-cli/harness-brainstorming/SKILL.md +46 -38
  56. package/dist/agents/skills/gemini-cli/harness-brainstorming/skill.yaml +1 -0
  57. package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +10 -11
  58. package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +59 -26
  59. package/dist/agents/skills/gemini-cli/harness-integration/SKILL.md +21 -19
  60. package/dist/agents/skills/gemini-cli/harness-maintenance-pipeline/SKILL.md +173 -0
  61. package/dist/agents/skills/gemini-cli/harness-maintenance-pipeline/skill.yaml +43 -0
  62. package/dist/agents/skills/gemini-cli/harness-onboarding/SKILL.md +2 -0
  63. package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +17 -40
  64. package/dist/agents/skills/gemini-cli/harness-pulse/SKILL.md +1 -1
  65. package/dist/agents/skills/gemini-cli/harness-roadmap/SKILL.md +17 -0
  66. package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/SKILL.md +40 -43
  67. package/dist/agents/skills/gemini-cli/harness-verification/SKILL.md +9 -12
  68. package/dist/agents/skills/gemini-cli/initialize-harness-project/SKILL.md +112 -126
  69. package/dist/agents/skills/gemini-cli/outcome-eval/SKILL.md +1 -0
  70. package/dist/agents/skills/tests/interaction-channel.test.ts +64 -0
  71. package/dist/{agents-md-XOJE5ETA.js → agents-md-7OSNWU52.js} +2 -2
  72. package/dist/{architecture-JEZPJ725.js → architecture-2XYGJGT3.js} +3 -3
  73. package/dist/{assess-project-RHXOQNMM.js → assess-project-3KPP2D6M.js} +1 -1
  74. package/dist/bin/harness-mcp.js +16 -15
  75. package/dist/bin/harness.js +27 -25
  76. package/dist/{check-phase-gate-GNDOMS35.js → check-phase-gate-46U5AAXE.js} +4 -3
  77. package/dist/{chunk-MGUPSE6D.js → chunk-363V6GPR.js} +5 -5
  78. package/dist/{chunk-HEIMJJI4.js → chunk-6NCREWWM.js} +2 -2
  79. package/dist/{chunk-XFU6SB2Q.js → chunk-6YXCZV33.js} +2171 -924
  80. package/dist/{chunk-HWTUUQOW.js → chunk-AK67S3O4.js} +3 -3
  81. package/dist/{chunk-BYVT5LVO.js → chunk-BV45354Q.js} +3 -3
  82. package/dist/{chunk-WWEVS7RO.js → chunk-ERILXQBP.js} +1181 -486
  83. package/dist/{chunk-UX3PQKVZ.js → chunk-FZ4Q73HA.js} +1 -1
  84. package/dist/{chunk-Z4AWEIBY.js → chunk-GXCPDAS5.js} +3 -3
  85. package/dist/{chunk-XX4OLNWQ.js → chunk-HMW3C5DP.js} +2 -2
  86. package/dist/{chunk-PC2R5RUJ.js → chunk-HXMAIVV2.js} +1 -1
  87. package/dist/{chunk-QBC7DI4Q.js → chunk-IYWT3JJW.js} +1 -1
  88. package/dist/{chunk-N24HCQA4.js → chunk-KLPX55TI.js} +3015 -1138
  89. package/dist/{chunk-527G27VI.js → chunk-MSBJ445U.js} +4 -4
  90. package/dist/{chunk-NWLGL3IR.js → chunk-MYVTYFQD.js} +2 -2
  91. package/dist/{chunk-KAJOS3BA.js → chunk-PHX45JYN.js} +5 -9
  92. package/dist/{chunk-6WQCLCBO.js → chunk-S2RQPPL6.js} +1 -1
  93. package/dist/chunk-SPE7P4GL.js +61 -0
  94. package/dist/{chunk-YQSYCBAH.js → chunk-TTWNGOBT.js} +6 -6
  95. package/dist/{chunk-6B6UN6SG.js → chunk-UTJJJDNN.js} +11 -1
  96. package/dist/{chunk-WWACIIBA.js → chunk-V3ZQUCRH.js} +1 -1
  97. package/dist/{chunk-GSP2XIVS.js → chunk-VTU3QOJT.js} +48 -4
  98. package/dist/{chunk-3ISHDWO7.js → chunk-VTUINXWR.js} +1 -1
  99. package/dist/{chunk-27AJKSQY.js → chunk-WBVCN35T.js} +1 -1
  100. package/dist/{chunk-ONCPJGHY.js → chunk-WL3O2PKJ.js} +6 -6
  101. package/dist/{chunk-GGKRA7A7.js → chunk-XFHZ7GCI.js} +1 -1
  102. package/dist/chunk-Y6SUQC32.js +9 -0
  103. package/dist/{chunk-DE5U6KOL.js → chunk-ZEYAOYJL.js} +1 -1
  104. package/dist/{ci-workflow-ORZ4F45F.js → ci-workflow-XJN4UO3Q.js} +2 -2
  105. package/dist/{dist-LHINSVK4.js → dist-IPVFYGY2.js} +85 -15
  106. package/dist/{docs-AU3DXFFO.js → docs-RSFZTNPG.js} +3 -3
  107. package/dist/{engine-6GPWOYQH.js → engine-DJIHY4JT.js} +2 -2
  108. package/dist/{entropy-VLKDRMRT.js → entropy-EAEKJKRM.js} +2 -2
  109. package/dist/{feedback-YXYY44ZC.js → feedback-JT5X3DBC.js} +1 -1
  110. package/dist/{generate-agent-definitions-XIHQPKG3.js → generate-agent-definitions-CC6KED3E.js} +4 -4
  111. package/dist/hooks/adoption-tracker.js +6 -5
  112. package/dist/hooks/format-check.js +202 -0
  113. package/dist/hooks/protect-config.js +15 -5
  114. package/dist/hooks/quality-warner.js +32 -0
  115. package/dist/hooks/strict-quality-gate.js +48 -0
  116. package/dist/{index-builder-3AOQ3ZII.js → index-builder-52IJJHJC.js} +2 -2
  117. package/dist/index.d.ts +8 -8
  118. package/dist/index.js +27 -25
  119. package/dist/{loader-YAN56MT3.js → loader-UWNVTYBY.js} +2 -2
  120. package/dist/{mcp-RK3SFVYB.js → mcp-TCLNK7HG.js} +18 -17
  121. package/dist/{performance-64DPTLLQ.js → performance-R6O3N3UB.js} +3 -3
  122. package/dist/{review-pipeline-NENG6LW7.js → review-pipeline-MOOWXWSQ.js} +2 -2
  123. package/dist/{runtime-FFIIRT2T.js → runtime-RIWQUKBQ.js} +2 -2
  124. package/dist/{security-3PIBN35B.js → security-U76C54W6.js} +1 -1
  125. package/dist/{skill-executor-MOCUIAYS.js → skill-executor-BGUCAVBU.js} +2 -2
  126. package/dist/state-events-F44CUUZG.js +25 -0
  127. package/dist/{validate-7IAF2ES3.js → validate-IUAV7MOU.js} +3 -3
  128. package/dist/{validate-cross-check-QPSAOZKD.js → validate-cross-check-M2ZM6RFY.js} +2 -2
  129. package/package.json +7 -7
  130. package/dist/hooks/quality-gate.js +0 -131
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  handleValidateProject,
3
3
  validateToolDefinition
4
- } from "./chunk-HWTUUQOW.js";
5
- import "./chunk-DE5U6KOL.js";
4
+ } from "./chunk-AK67S3O4.js";
5
+ import "./chunk-ZEYAOYJL.js";
6
6
  import "./chunk-W6Y7ZW3Y.js";
7
- import "./chunk-N24HCQA4.js";
7
+ import "./chunk-KLPX55TI.js";
8
8
  import "./chunk-N55WOGN3.js";
9
9
  import "./chunk-BDGTZRZ6.js";
10
10
  import "./chunk-PP6ZRL5T.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  runCrossCheck
3
- } from "./chunk-3ISHDWO7.js";
4
- import "./chunk-N24HCQA4.js";
3
+ } from "./chunk-VTUINXWR.js";
4
+ import "./chunk-KLPX55TI.js";
5
5
  import "./chunk-N55WOGN3.js";
6
6
  import "./chunk-BDGTZRZ6.js";
7
7
  import "./chunk-PP6ZRL5T.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harness-engineering/cli",
3
- "version": "3.0.1",
3
+ "version": "4.0.0",
4
4
  "description": "CLI for Harness Engineering toolkit",
5
5
  "type": "module",
6
6
  "bin": {
@@ -39,15 +39,15 @@
39
39
  "web-tree-sitter": "^0.24.7",
40
40
  "yaml": "^2.8.3",
41
41
  "zod": "^3.25.76",
42
- "@harness-engineering/core": "0.30.1",
43
- "@harness-engineering/dashboard": "0.10.0",
44
- "@harness-engineering/graph": "0.11.1",
42
+ "@harness-engineering/core": "0.32.0",
43
+ "@harness-engineering/dashboard": "0.11.0",
44
+ "@harness-engineering/graph": "0.11.2",
45
45
  "@harness-engineering/linter-gen": "0.1.7",
46
- "@harness-engineering/orchestrator": "0.8.3",
47
- "@harness-engineering/types": "0.16.1"
46
+ "@harness-engineering/orchestrator": "0.9.0",
47
+ "@harness-engineering/types": "0.16.2"
48
48
  },
49
49
  "peerDependencies": {
50
- "@harness-engineering/intelligence": "0.3.1"
50
+ "@harness-engineering/intelligence": "0.4.0"
51
51
  },
52
52
  "peerDependenciesMeta": {
53
53
  "@harness-engineering/intelligence": {
@@ -1,131 +0,0 @@
1
- #!/usr/bin/env node
2
- // quality-gate.js — PostToolUse:Edit/Write hook
3
- // Runs project formatter/linter after edits and warns on violations.
4
- // Never blocks (always exits 0). Warnings go to stderr.
5
- // Exit codes: 0 = allow (always)
6
-
7
- import { readFileSync, accessSync } from 'node:fs';
8
- import { join } from 'node:path';
9
- import { execFileSync } from 'node:child_process';
10
- import process from 'node:process';
11
-
12
- // Detection order: first match wins
13
- const DETECTORS = [
14
- {
15
- configs: ['biome.json', 'biome.jsonc'],
16
- cmd: 'npx',
17
- args: ['biome', 'check'],
18
- name: 'Biome',
19
- },
20
- {
21
- configs: [
22
- '.prettierrc',
23
- '.prettierrc.json',
24
- '.prettierrc.yml',
25
- '.prettierrc.yaml',
26
- '.prettierrc.js',
27
- '.prettierrc.cjs',
28
- '.prettierrc.mjs',
29
- 'prettier.config.js',
30
- 'prettier.config.cjs',
31
- 'prettier.config.mjs',
32
- ],
33
- cmd: 'npx',
34
- args: ['prettier', '--check'],
35
- name: 'Prettier',
36
- },
37
- {
38
- configs: ['.ruff.toml', 'ruff.toml'],
39
- cmd: 'ruff',
40
- args: ['check'],
41
- name: 'Ruff',
42
- },
43
- ];
44
-
45
- function detectFormatter(cwd) {
46
- for (const detector of DETECTORS) {
47
- for (const config of detector.configs) {
48
- try {
49
- accessSync(join(cwd, config));
50
- return detector;
51
- } catch {
52
- // Config not found, try next
53
- }
54
- }
55
- }
56
- return null;
57
- }
58
-
59
- function main() {
60
- let raw = '';
61
- try {
62
- raw = readFileSync(0, 'utf-8');
63
- } catch {
64
- process.exit(0);
65
- }
66
-
67
- if (!raw.trim()) {
68
- process.exit(0);
69
- }
70
-
71
- let input;
72
- try {
73
- input = JSON.parse(raw);
74
- } catch {
75
- process.exit(0);
76
- }
77
-
78
- try {
79
- const filePath = input?.tool_input?.file_path ?? '';
80
- const cwd = process.cwd();
81
-
82
- // Special case: .go files use gofmt
83
- if (typeof filePath === 'string' && filePath.endsWith('.go')) {
84
- try {
85
- const result = execFileSync('gofmt', ['-l', filePath], {
86
- encoding: 'utf-8',
87
- cwd,
88
- timeout: 10000,
89
- });
90
- if (result.trim()) {
91
- process.stderr.write(
92
- `[quality-gate] gofmt found formatting issues in: ${result.trim()}\n`
93
- );
94
- }
95
- } catch {
96
- // gofmt not available or failed — warn and continue
97
- process.stderr.write('[quality-gate] gofmt check failed (tool may not be installed)\n');
98
- }
99
- process.exit(0);
100
- }
101
-
102
- const detector = detectFormatter(cwd);
103
- if (!detector) {
104
- // No formatter detected — nothing to check
105
- process.exit(0);
106
- }
107
-
108
- try {
109
- execFileSync(detector.cmd, detector.args, {
110
- encoding: 'utf-8',
111
- cwd,
112
- timeout: 30000,
113
- stdio: ['pipe', 'pipe', 'pipe'],
114
- });
115
- process.stderr.write(`[quality-gate] ${detector.name} check passed\n`);
116
- } catch (err) {
117
- // Formatter found violations or failed to run — warn only
118
- const output = err.stdout || err.stderr || '';
119
- process.stderr.write(
120
- `[quality-gate] ${detector.name} check reported issues:\n${output.slice(0, 500)}\n`
121
- );
122
- }
123
-
124
- process.exit(0);
125
- } catch {
126
- // Unexpected error — fail open
127
- process.exit(0);
128
- }
129
- }
130
-
131
- main();