@harness-engineering/cli 3.1.0 → 4.0.1
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/dist/agents/personas/harness-pm.yaml +33 -0
- package/dist/agents/skills/claude-code/acceptance-eval/SKILL.md +92 -0
- package/dist/agents/skills/claude-code/acceptance-eval/skill.yaml +54 -0
- package/dist/agents/skills/claude-code/harness-brainstorming/SKILL.md +46 -38
- package/dist/agents/skills/claude-code/harness-brainstorming/skill.yaml +1 -0
- package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +10 -11
- package/dist/agents/skills/claude-code/harness-execution/SKILL.md +24 -26
- package/dist/agents/skills/claude-code/harness-integration/SKILL.md +21 -19
- package/dist/agents/skills/claude-code/harness-maintenance-pipeline/SKILL.md +173 -0
- package/dist/agents/skills/claude-code/harness-maintenance-pipeline/skill.yaml +43 -0
- package/dist/agents/skills/claude-code/harness-onboarding/SKILL.md +2 -0
- package/dist/agents/skills/claude-code/harness-planning/SKILL.md +17 -40
- package/dist/agents/skills/claude-code/harness-pulse/SKILL.md +1 -1
- package/dist/agents/skills/claude-code/harness-roadmap/SKILL.md +17 -0
- package/dist/agents/skills/claude-code/harness-roadmap-pilot/SKILL.md +8 -0
- package/dist/agents/skills/claude-code/harness-verification/SKILL.md +9 -12
- package/dist/agents/skills/claude-code/initialize-harness-project/SKILL.md +112 -126
- package/dist/agents/skills/claude-code/outcome-eval/SKILL.md +1 -0
- package/dist/agents/skills/claude-code/product-advisor/SKILL.md +202 -0
- package/dist/agents/skills/claude-code/product-advisor/skill.yaml +74 -0
- package/dist/agents/skills/codex/acceptance-eval/SKILL.md +92 -0
- package/dist/agents/skills/codex/acceptance-eval/skill.yaml +54 -0
- package/dist/agents/skills/codex/harness-brainstorming/SKILL.md +46 -38
- package/dist/agents/skills/codex/harness-brainstorming/skill.yaml +1 -0
- package/dist/agents/skills/codex/harness-code-review/SKILL.md +10 -11
- package/dist/agents/skills/codex/harness-execution/SKILL.md +24 -26
- package/dist/agents/skills/codex/harness-integration/SKILL.md +21 -19
- package/dist/agents/skills/codex/harness-maintenance-pipeline/SKILL.md +173 -0
- package/dist/agents/skills/codex/harness-maintenance-pipeline/skill.yaml +43 -0
- package/dist/agents/skills/codex/harness-onboarding/SKILL.md +2 -0
- package/dist/agents/skills/codex/harness-planning/SKILL.md +17 -40
- package/dist/agents/skills/codex/harness-pulse/SKILL.md +1 -1
- package/dist/agents/skills/codex/harness-roadmap/SKILL.md +17 -0
- package/dist/agents/skills/codex/harness-roadmap-pilot/SKILL.md +8 -0
- package/dist/agents/skills/codex/harness-verification/SKILL.md +9 -12
- package/dist/agents/skills/codex/initialize-harness-project/SKILL.md +112 -126
- package/dist/agents/skills/codex/outcome-eval/SKILL.md +1 -0
- package/dist/agents/skills/codex/product-advisor/SKILL.md +202 -0
- package/dist/agents/skills/codex/product-advisor/skill.yaml +74 -0
- package/dist/agents/skills/cursor/acceptance-eval/SKILL.md +92 -0
- package/dist/agents/skills/cursor/acceptance-eval/skill.yaml +54 -0
- package/dist/agents/skills/cursor/harness-brainstorming/SKILL.md +46 -38
- package/dist/agents/skills/cursor/harness-brainstorming/skill.yaml +1 -0
- package/dist/agents/skills/cursor/harness-code-review/SKILL.md +10 -11
- package/dist/agents/skills/cursor/harness-execution/SKILL.md +24 -26
- package/dist/agents/skills/cursor/harness-integration/SKILL.md +21 -19
- package/dist/agents/skills/cursor/harness-maintenance-pipeline/SKILL.md +173 -0
- package/dist/agents/skills/cursor/harness-maintenance-pipeline/skill.yaml +43 -0
- package/dist/agents/skills/cursor/harness-onboarding/SKILL.md +2 -0
- package/dist/agents/skills/cursor/harness-planning/SKILL.md +17 -40
- package/dist/agents/skills/cursor/harness-pulse/SKILL.md +1 -1
- package/dist/agents/skills/cursor/harness-roadmap/SKILL.md +17 -0
- package/dist/agents/skills/cursor/harness-roadmap-pilot/SKILL.md +8 -0
- package/dist/agents/skills/cursor/harness-verification/SKILL.md +9 -12
- package/dist/agents/skills/cursor/initialize-harness-project/SKILL.md +112 -126
- package/dist/agents/skills/cursor/outcome-eval/SKILL.md +1 -0
- package/dist/agents/skills/cursor/product-advisor/SKILL.md +202 -0
- package/dist/agents/skills/cursor/product-advisor/skill.yaml +74 -0
- package/dist/agents/skills/gemini-cli/acceptance-eval/SKILL.md +92 -0
- package/dist/agents/skills/gemini-cli/acceptance-eval/skill.yaml +54 -0
- package/dist/agents/skills/gemini-cli/harness-brainstorming/SKILL.md +46 -38
- package/dist/agents/skills/gemini-cli/harness-brainstorming/skill.yaml +1 -0
- package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +10 -11
- package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +24 -26
- package/dist/agents/skills/gemini-cli/harness-integration/SKILL.md +21 -19
- package/dist/agents/skills/gemini-cli/harness-maintenance-pipeline/SKILL.md +173 -0
- package/dist/agents/skills/gemini-cli/harness-maintenance-pipeline/skill.yaml +43 -0
- package/dist/agents/skills/gemini-cli/harness-onboarding/SKILL.md +2 -0
- package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +17 -40
- package/dist/agents/skills/gemini-cli/harness-pulse/SKILL.md +1 -1
- package/dist/agents/skills/gemini-cli/harness-roadmap/SKILL.md +17 -0
- package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/SKILL.md +8 -0
- package/dist/agents/skills/gemini-cli/harness-verification/SKILL.md +9 -12
- package/dist/agents/skills/gemini-cli/initialize-harness-project/SKILL.md +112 -126
- package/dist/agents/skills/gemini-cli/outcome-eval/SKILL.md +1 -0
- package/dist/agents/skills/gemini-cli/product-advisor/SKILL.md +202 -0
- package/dist/agents/skills/gemini-cli/product-advisor/skill.yaml +74 -0
- package/dist/agents/skills/tests/interaction-channel.test.ts +64 -0
- package/dist/{agents-md-YYCLGMBF.js → agents-md-VJLYEH2S.js} +4 -4
- package/dist/{analyzer-V633GUHY-MBCQWKDU.js → analyzer-V633GUHY-OV335HGM.js} +2 -2
- package/dist/{architecture-5KPP4ID4.js → architecture-YQH2NYXY.js} +5 -5
- package/dist/{assess-project-B6ENHUAU.js → assess-project-KOTAPAHD.js} +1 -1
- package/dist/bin/harness-mcp.js +19 -18
- package/dist/bin/harness.js +31 -29
- package/dist/{check-phase-gate-REG3HWYC.js → check-phase-gate-CHU2E3OU.js} +6 -5
- package/dist/{chunk-UBTMPO5H.js → chunk-36GQREOE.js} +3 -3
- package/dist/{chunk-CLI4K2CH.js → chunk-4U5LDFCY.js} +1 -1
- package/dist/{chunk-IF3JK3G5.js → chunk-4VXFZSYF.js} +1 -1
- package/dist/{chunk-TE5YHHHZ.js → chunk-5RSXUAMN.js} +1 -1
- package/dist/{chunk-YF3AY6KS.js → chunk-6SCYTIF4.js} +6 -6
- package/dist/{chunk-N55WOGN3.js → chunk-6YFHUIGT.js} +1 -1
- package/dist/{chunk-RGQXHCCH.js → chunk-7PJCK7UE.js} +8 -8
- package/dist/{chunk-LMZ2JTNP.js → chunk-7TIJXWG3.js} +5 -9
- package/dist/chunk-AAUY53CC.js +61 -0
- package/dist/{chunk-XEOSSKIB.js → chunk-AX5KGRM6.js} +48 -4
- package/dist/{chunk-FUH4J43G.js → chunk-E5EW5HVJ.js} +2 -2
- package/dist/{chunk-C2ZGWMTN.js → chunk-EYMOPFSD.js} +2 -2
- package/dist/{chunk-FL5SLUKZ.js → chunk-GHBFNLV2.js} +2374 -1095
- package/dist/{chunk-HIPBU2Q4.js → chunk-I3CGCZJF.js} +9 -9
- package/dist/{chunk-OQFEFVIN.js → chunk-JPVOI7GP.js} +7 -7
- package/dist/{chunk-DNX35Q5K.js → chunk-M7F2PPN3.js} +3 -3
- package/dist/{chunk-A65QO5KN.js → chunk-MMLQPHZ5.js} +3032 -1166
- package/dist/{chunk-ERZCC5VH.js → chunk-OQ6KOQEV.js} +9 -9
- package/dist/{chunk-ZOUJP3EY.js → chunk-RG3TNIUB.js} +1659 -808
- package/dist/{chunk-PZX2Y3RV.js → chunk-SDMV4QHM.js} +5 -5
- package/dist/{chunk-XZ2Q4UTW.js → chunk-SEA2PFVI.js} +1 -1
- package/dist/{chunk-TCVQVHEF.js → chunk-T746REAE.js} +1 -1
- package/dist/{chunk-6B6UN6SG.js → chunk-UTJJJDNN.js} +11 -1
- package/dist/{chunk-BXKNWSG4.js → chunk-UWVMJEUJ.js} +1 -1
- package/dist/{chunk-WWACIIBA.js → chunk-V3ZQUCRH.js} +1 -1
- package/dist/{chunk-27AJKSQY.js → chunk-WBVCN35T.js} +1 -1
- package/dist/{chunk-PP6ZRL5T.js → chunk-WZJR6SOI.js} +536 -422
- package/dist/{chunk-YQAFKOOL.js → chunk-XAVMTAUT.js} +2 -2
- package/dist/chunk-Y6SUQC32.js +9 -0
- package/dist/{chunk-ZRKFDE6M.js → chunk-YANR2RL7.js} +1 -1
- package/dist/{chunk-2N4OENGE.js → chunk-YYFSFSB3.js} +1 -1
- package/dist/{ci-workflow-JEYYCBOC.js → ci-workflow-HO4WKGNG.js} +4 -4
- package/dist/{dist-3HW4LCHE.js → dist-6D2F2J57.js} +73 -17
- package/dist/{dist-OWHMNL4W.js → dist-DWBTZXR5.js} +1 -1
- package/dist/{docs-YRMW7UED.js → docs-FP47JONV.js} +5 -5
- package/dist/{engine-E7H5U3AC.js → engine-YUA6IYOG.js} +4 -4
- package/dist/{entropy-3JBKCGJJ.js → entropy-DBW2INZU.js} +4 -4
- package/dist/{feedback-U6VJ6AUJ.js → feedback-BPHADTRQ.js} +1 -1
- package/dist/{generate-agent-definitions-S2FRZF4Y.js → generate-agent-definitions-KPVGBGDY.js} +6 -6
- package/dist/{glob-helper-GLZAURJC.js → glob-helper-VR6UCZZB.js} +1 -1
- package/dist/{graph-loader-HHXN5FLP.js → graph-loader-STFGYKZH.js} +1 -1
- package/dist/hooks/adoption-tracker.js +6 -5
- package/dist/hooks/protect-config.js +15 -5
- package/dist/{index-builder-3AOQ3ZII.js → index-builder-52IJJHJC.js} +2 -2
- package/dist/index.d.ts +8 -8
- package/dist/index.js +31 -29
- package/dist/{loader-RGQJYERV.js → loader-QOJQ6NZM.js} +4 -4
- package/dist/{mcp-NDTFZXWF.js → mcp-ZPX6O767.js} +21 -20
- package/dist/{performance-FPWKC4CN.js → performance-FXYTGJGQ.js} +5 -5
- package/dist/{review-pipeline-WUHG7PHO.js → review-pipeline-2TFQ5OAE.js} +4 -4
- package/dist/{runtime-Q3ORD7LW.js → runtime-XK6ZCHKE.js} +4 -4
- package/dist/{scan-P7YFKB77.js → scan-IYSVRPD2.js} +1 -1
- package/dist/{security-JDHTRBGC.js → security-4W2P5ZGI.js} +1 -1
- package/dist/{skill-executor-MOCUIAYS.js → skill-executor-BGUCAVBU.js} +2 -2
- package/dist/state-events-ECQAIZLU.js +25 -0
- package/dist/{validate-G3LKBOYA.js → validate-64KTEGIE.js} +5 -5
- package/dist/{validate-cross-check-4ITA72DF.js → validate-cross-check-J5PVGICB.js} +4 -4
- package/package.json +7 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_dist
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MMLQPHZ5.js";
|
|
4
4
|
import {
|
|
5
5
|
Err,
|
|
6
6
|
Ok
|
|
@@ -32,18 +32,62 @@ function buildGitHubTriggers(triggers) {
|
|
|
32
32
|
}
|
|
33
33
|
return on;
|
|
34
34
|
}
|
|
35
|
+
function buildGitLabRules(triggers) {
|
|
36
|
+
const rules = [];
|
|
37
|
+
for (const trigger of triggers) {
|
|
38
|
+
switch (trigger.event) {
|
|
39
|
+
case "on_pr": {
|
|
40
|
+
const rule = {
|
|
41
|
+
if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
42
|
+
};
|
|
43
|
+
if (trigger.conditions?.paths) rule.changes = trigger.conditions.paths;
|
|
44
|
+
rules.push(rule);
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
case "on_commit": {
|
|
48
|
+
const branches = trigger.conditions?.branches;
|
|
49
|
+
if (branches?.length) {
|
|
50
|
+
for (const branch of branches) rules.push({ if: `$CI_COMMIT_BRANCH == "${branch}"` });
|
|
51
|
+
} else {
|
|
52
|
+
rules.push({ if: '$CI_PIPELINE_SOURCE == "push"' });
|
|
53
|
+
}
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
case "scheduled":
|
|
57
|
+
rules.push({ if: '$CI_PIPELINE_SOURCE == "schedule"' });
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return rules;
|
|
62
|
+
}
|
|
35
63
|
function generateCIWorkflow(persona, platform) {
|
|
36
64
|
try {
|
|
37
|
-
if (platform === "gitlab") return Err(new Error("GitLab CI generation is not yet supported"));
|
|
38
65
|
const severity = persona.config.severity;
|
|
66
|
+
const severityFlag = severity ? ` --severity ${severity}` : "";
|
|
67
|
+
const commandSteps = persona.steps.filter((s) => "command" in s);
|
|
68
|
+
if (platform === "gitlab") {
|
|
69
|
+
const script = commandSteps.map((step) => `npx harness ${step.command}${severityFlag}`);
|
|
70
|
+
const rules = buildGitLabRules(persona.triggers);
|
|
71
|
+
const enforce = {
|
|
72
|
+
image: "node:20",
|
|
73
|
+
...rules.length ? { rules } : {},
|
|
74
|
+
before_script: ["corepack enable", "pnpm install --frozen-lockfile"],
|
|
75
|
+
// GitLab requires a non-empty `script`; fall back to a no-op when a
|
|
76
|
+
// persona has only skill steps (which CI cannot run).
|
|
77
|
+
script: script.length ? script : ['echo "No command steps to run in CI"']
|
|
78
|
+
};
|
|
79
|
+
const pipeline = {
|
|
80
|
+
workflow: { name: persona.name },
|
|
81
|
+
enforce
|
|
82
|
+
};
|
|
83
|
+
return Ok(YAML.stringify(pipeline, { lineWidth: 0 }));
|
|
84
|
+
}
|
|
39
85
|
const steps = [
|
|
40
86
|
{ uses: "actions/checkout@v4" },
|
|
41
87
|
{ uses: "actions/setup-node@v4", with: { "node-version": "20" } },
|
|
42
88
|
{ uses: "pnpm/action-setup@v4", with: { run_install: "frozen" } }
|
|
43
89
|
];
|
|
44
|
-
const commandSteps = persona.steps.filter((s) => "command" in s);
|
|
45
90
|
for (const step of commandSteps) {
|
|
46
|
-
const severityFlag = severity ? ` --severity ${severity}` : "";
|
|
47
91
|
steps.push({ run: `npx harness ${step.command}${severityFlag}` });
|
|
48
92
|
}
|
|
49
93
|
const workflow = {
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
listPersonas,
|
|
6
6
|
loadPersona
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5RSXUAMN.js";
|
|
8
8
|
import {
|
|
9
9
|
GENERATED_HEADER_AGENT,
|
|
10
10
|
VALID_PLATFORMS,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
import {
|
|
15
15
|
resolvePersonasDir,
|
|
16
16
|
resolveSkillsDir
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-UTJJJDNN.js";
|
|
18
18
|
import {
|
|
19
19
|
CLIError,
|
|
20
20
|
ExitCode,
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
init_dist,
|
|
6
6
|
paginate
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-MMLQPHZ5.js";
|
|
8
8
|
|
|
9
9
|
// src/mcp/tools/review-pipeline.ts
|
|
10
10
|
init_dist();
|
|
@@ -84,7 +84,7 @@ var runCodeReviewDefinition = {
|
|
|
84
84
|
};
|
|
85
85
|
async function handleRunCodeReview(input) {
|
|
86
86
|
try {
|
|
87
|
-
const { parseDiff, runReviewPipeline } = await import("./dist-
|
|
87
|
+
const { parseDiff, runReviewPipeline } = await import("./dist-6D2F2J57.js");
|
|
88
88
|
const parseResult = parseDiff(input.diff);
|
|
89
89
|
if (!parseResult.ok) {
|
|
90
90
|
return {
|