@harness-engineering/cli 1.27.1 → 1.28.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.
- package/dist/agents/skills/claude-code/harness-architecture-advisor/SKILL.md +17 -5
- package/dist/agents/skills/claude-code/harness-architecture-advisor/skill.yaml +1 -1
- package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +4 -4
- package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +1 -1
- package/dist/agents/skills/claude-code/harness-design-system/SKILL.md +6 -1
- package/dist/agents/skills/claude-code/harness-execution/SKILL.md +4 -4
- package/dist/agents/skills/claude-code/harness-i18n-process/SKILL.md +2 -2
- package/dist/agents/skills/claude-code/harness-integration/SKILL.md +1 -1
- package/dist/agents/skills/claude-code/harness-knowledge-pipeline/SKILL.md +1 -0
- package/dist/agents/skills/claude-code/harness-onboarding/SKILL.md +1 -1
- package/dist/agents/skills/claude-code/harness-planning/SKILL.md +3 -3
- package/dist/agents/skills/claude-code/harness-roadmap/SKILL.md +4 -3
- package/dist/agents/skills/claude-code/initialize-harness-project/SKILL.md +150 -10
- package/dist/agents/skills/claude-code/initialize-harness-project/skill.yaml +2 -1
- package/dist/agents/skills/codex/harness-architecture-advisor/SKILL.md +17 -5
- package/dist/agents/skills/codex/harness-architecture-advisor/skill.yaml +1 -1
- package/dist/agents/skills/codex/harness-autopilot/SKILL.md +4 -4
- package/dist/agents/skills/codex/harness-code-review/SKILL.md +1 -1
- package/dist/agents/skills/codex/harness-design-system/SKILL.md +6 -1
- package/dist/agents/skills/codex/harness-execution/SKILL.md +4 -4
- package/dist/agents/skills/codex/harness-i18n-process/SKILL.md +2 -2
- package/dist/agents/skills/codex/harness-integration/SKILL.md +1 -1
- package/dist/agents/skills/codex/harness-knowledge-pipeline/SKILL.md +1 -0
- package/dist/agents/skills/codex/harness-onboarding/SKILL.md +1 -1
- package/dist/agents/skills/codex/harness-planning/SKILL.md +3 -3
- package/dist/agents/skills/codex/harness-roadmap/SKILL.md +4 -3
- package/dist/agents/skills/codex/initialize-harness-project/SKILL.md +150 -10
- package/dist/agents/skills/codex/initialize-harness-project/skill.yaml +2 -1
- package/dist/agents/skills/cursor/harness-architecture-advisor/SKILL.md +17 -5
- package/dist/agents/skills/cursor/harness-architecture-advisor/skill.yaml +1 -1
- package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +4 -4
- package/dist/agents/skills/cursor/harness-code-review/SKILL.md +1 -1
- package/dist/agents/skills/cursor/harness-design-system/SKILL.md +6 -1
- package/dist/agents/skills/cursor/harness-execution/SKILL.md +4 -4
- package/dist/agents/skills/cursor/harness-i18n-process/SKILL.md +2 -2
- package/dist/agents/skills/cursor/harness-integration/SKILL.md +1 -1
- package/dist/agents/skills/cursor/harness-knowledge-pipeline/SKILL.md +1 -0
- package/dist/agents/skills/cursor/harness-onboarding/SKILL.md +1 -1
- package/dist/agents/skills/cursor/harness-planning/SKILL.md +3 -3
- package/dist/agents/skills/cursor/harness-roadmap/SKILL.md +4 -3
- package/dist/agents/skills/cursor/initialize-harness-project/SKILL.md +150 -10
- package/dist/agents/skills/cursor/initialize-harness-project/skill.yaml +2 -1
- package/dist/agents/skills/gemini-cli/harness-architecture-advisor/SKILL.md +17 -5
- package/dist/agents/skills/gemini-cli/harness-architecture-advisor/skill.yaml +1 -1
- package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +4 -4
- package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +1 -1
- package/dist/agents/skills/gemini-cli/harness-design-system/SKILL.md +6 -1
- package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +4 -4
- package/dist/agents/skills/gemini-cli/harness-i18n-process/SKILL.md +2 -2
- package/dist/agents/skills/gemini-cli/harness-integration/SKILL.md +1 -1
- package/dist/agents/skills/gemini-cli/harness-knowledge-pipeline/SKILL.md +1 -0
- package/dist/agents/skills/gemini-cli/harness-onboarding/SKILL.md +1 -1
- package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +3 -3
- package/dist/agents/skills/gemini-cli/harness-roadmap/SKILL.md +4 -3
- package/dist/agents/skills/gemini-cli/initialize-harness-project/SKILL.md +150 -10
- package/dist/agents/skills/gemini-cli/initialize-harness-project/skill.yaml +2 -1
- package/dist/{agents-md-2RN666DE.js → agents-md-76IEMV6O.js} +3 -3
- package/dist/{architecture-ZR33YKJB.js → architecture-5GVJRRUD.js} +4 -4
- package/dist/{assess-project-LLWWEQEV.js → assess-project-WDUFL7SO.js} +1 -1
- package/dist/bin/harness-mcp.js +15 -15
- package/dist/bin/harness.js +25 -25
- package/dist/{check-phase-gate-ZVG56NT2.js → check-phase-gate-QR3ONJYP.js} +4 -4
- package/dist/{chunk-FUS4OOGC.js → chunk-3WLXR23L.js} +1 -1
- package/dist/{chunk-IBTHD2UA.js → chunk-6JBJ5FSW.js} +2 -1
- package/dist/{chunk-C7RPQWBG.js → chunk-77OMOFZL.js} +1 -1
- package/dist/{chunk-YZH4I4JO.js → chunk-AJG2LCMA.js} +1 -1
- package/dist/{chunk-3AJW7VQ3.js → chunk-CS7K6ZQ3.js} +2 -2
- package/dist/{chunk-SDDQPMZK.js → chunk-D25P6763.js} +1 -1
- package/dist/{chunk-XKU37HGH.js → chunk-DHGL3SF2.js} +1 -1
- package/dist/{chunk-CJYNZMOP.js → chunk-E7QD4YHA.js} +8 -8
- package/dist/{chunk-BO4AJZRE.js → chunk-H43UQY6B.js} +1 -1
- package/dist/{chunk-SDPHFDQS.js → chunk-ILVO6LZY.js} +1 -1
- package/dist/{chunk-BZZNYHRY.js → chunk-K5ZOBBQB.js} +9 -9
- package/dist/{chunk-A4ETL34H.js → chunk-KLE6FXWM.js} +23 -1
- package/dist/{chunk-F3Y64VNF.js → chunk-L4RURCSF.js} +6 -6
- package/dist/{chunk-EGRQHLDM.js → chunk-LINAFNIK.js} +5 -5
- package/dist/{chunk-EHTUWULH.js → chunk-OPOSSZJS.js} +97 -93
- package/dist/{chunk-L3Y7L4EG.js → chunk-OQS7KURX.js} +1 -1
- package/dist/{chunk-T7UZOJF4.js → chunk-QZ46CI6E.js} +9 -9
- package/dist/{chunk-MGPVA2EM.js → chunk-TFNQ72RF.js} +5 -5
- package/dist/{chunk-3XMOWLK3.js → chunk-USG7DV5N.js} +2 -2
- package/dist/{chunk-776JFSPK.js → chunk-VITLE3PS.js} +1 -1
- package/dist/{chunk-2FOLD76X.js → chunk-WPSM7WT6.js} +2 -2
- package/dist/{chunk-GAIOIINV.js → chunk-X7XQ3ELM.js} +108 -36
- package/dist/{chunk-EICASBYP.js → chunk-YZZVOT7I.js} +1 -1
- package/dist/{chunk-VCC47EXU.js → chunk-Z63IDQ7Y.js} +860 -412
- package/dist/{chunk-Q5DKIL46.js → chunk-Z7ZF2XDL.js} +3 -3
- package/dist/{ci-workflow-JFOL4YWW.js → ci-workflow-GYQXE5X4.js} +3 -3
- package/dist/{dist-CPKL5Y2R.js → dist-46VOJIG4.js} +2 -2
- package/dist/{dist-BZS2XRLG.js → dist-BP6E6QGG.js} +7 -1
- package/dist/{docs-FUTRJQHA.js → docs-CVQMSMQC.js} +4 -4
- package/dist/{engine-FB3HCNVT.js → engine-23PJMRHA.js} +3 -3
- package/dist/{entropy-FIEE4YDA.js → entropy-K2YTZFCP.js} +3 -3
- package/dist/{feedback-7EC4T6XG.js → feedback-6HP42GTK.js} +1 -1
- package/dist/{generate-agent-definitions-FOSFADNR.js → generate-agent-definitions-6RJKL6VW.js} +4 -4
- package/dist/{graph-loader-QEI7SYOQ.js → graph-loader-BI3OFFFS.js} +1 -1
- package/dist/index.d.ts +44 -1
- package/dist/index.js +25 -25
- package/dist/{loader-HXUOBTYA.js → loader-U2WEC3PZ.js} +3 -3
- package/dist/{mcp-NUG4BMKJ.js → mcp-N6XVWPXJ.js} +15 -15
- package/dist/{performance-TYXBCTR7.js → performance-T3XAESWR.js} +4 -4
- package/dist/{review-pipeline-B4WPU6BQ.js → review-pipeline-HTC5HA5X.js} +3 -3
- package/dist/{runtime-HQQNOARD.js → runtime-UFXMNN3Q.js} +3 -3
- package/dist/{scan-M4EGDAQ2.js → scan-XRGMTO6K.js} +1 -1
- package/dist/{security-25VFLIAO.js → security-ROK5IFDA.js} +1 -1
- package/dist/{validate-EAVGKZQB.js → validate-IJHHQHT5.js} +4 -4
- package/dist/{validate-cross-check-SPL3H4O5.js → validate-cross-check-LUQYIA46.js} +3 -3
- package/package.json +6 -6
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ArchConfigSchema,
|
|
3
3
|
init_dist
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6JBJ5FSW.js";
|
|
5
5
|
import {
|
|
6
6
|
Err,
|
|
7
7
|
Ok
|
|
@@ -90,6 +90,12 @@ var PerformanceConfigSchema = z.object({
|
|
|
90
90
|
sizeBudget: z.record(z.unknown()).optional()
|
|
91
91
|
}).passthrough();
|
|
92
92
|
var DesignConfigSchema = z.object({
|
|
93
|
+
/**
|
|
94
|
+
* Whether design-system tooling is enabled for this project. Set during init.
|
|
95
|
+
* Tri-state semantics: omit the field to indicate "not configured."
|
|
96
|
+
* Do NOT add a `.default(...)` — preserving "absent" is required by the spec.
|
|
97
|
+
*/
|
|
98
|
+
enabled: z.boolean().optional(),
|
|
93
99
|
/** Strictness of design system enforcement */
|
|
94
100
|
strictness: z.enum(["strict", "standard", "permissive"]).default("standard"),
|
|
95
101
|
/** Supported target platforms */
|
|
@@ -98,6 +104,14 @@ var DesignConfigSchema = z.object({
|
|
|
98
104
|
tokenPath: z.string().optional(),
|
|
99
105
|
/** Brief description of the intended aesthetic direction */
|
|
100
106
|
aestheticIntent: z.string().optional()
|
|
107
|
+
}).superRefine((value, ctx) => {
|
|
108
|
+
if (value.enabled === true && (!value.platforms || value.platforms.length === 0)) {
|
|
109
|
+
ctx.addIssue({
|
|
110
|
+
code: z.ZodIssueCode.custom,
|
|
111
|
+
path: ["platforms"],
|
|
112
|
+
message: 'design.platforms must be a non-empty array of "web" | "mobile" when design.enabled is true'
|
|
113
|
+
});
|
|
114
|
+
}
|
|
101
115
|
});
|
|
102
116
|
var I18nCoverageConfigSchema = z.object({
|
|
103
117
|
/** Minimum required translation percentage */
|
|
@@ -189,6 +203,12 @@ var RoadmapConfigSchema = z.object({
|
|
|
189
203
|
/** External tracker sync settings */
|
|
190
204
|
tracker: TrackerConfigSchema.optional()
|
|
191
205
|
});
|
|
206
|
+
var KnowledgeConfigSchema = z.object({
|
|
207
|
+
/** Caller-supplied domain patterns (e.g. `["agents/<dir>"]`). Extends defaults. */
|
|
208
|
+
domainPatterns: z.array(z.string().regex(/^[\w.-]+\/<dir>$/)).optional().default([]),
|
|
209
|
+
/** Caller-supplied blocklisted path segments (e.g. `["scratch", "fixtures"]`). Extends defaults. */
|
|
210
|
+
domainBlocklist: z.array(z.string().min(1)).optional().default([])
|
|
211
|
+
});
|
|
192
212
|
var HarnessConfigSchema = z.object({
|
|
193
213
|
/** Configuration schema version */
|
|
194
214
|
version: z.literal(1),
|
|
@@ -270,6 +290,8 @@ var HarnessConfigSchema = z.object({
|
|
|
270
290
|
}).optional(),
|
|
271
291
|
/** Roadmap sync and tracker integration settings */
|
|
272
292
|
roadmap: RoadmapConfigSchema.optional(),
|
|
293
|
+
/** Knowledge-pipeline domain-inference settings */
|
|
294
|
+
knowledge: KnowledgeConfigSchema.optional(),
|
|
273
295
|
/** Adoption telemetry settings */
|
|
274
296
|
adoption: z.object({
|
|
275
297
|
/** Whether adoption tracking is enabled (default: true) */
|
|
@@ -50,7 +50,7 @@ async function handleAssessProject(input) {
|
|
|
50
50
|
let validateResult = null;
|
|
51
51
|
if (checksToRun.has("validate")) {
|
|
52
52
|
try {
|
|
53
|
-
const { handleValidateProject } = await import("./validate-
|
|
53
|
+
const { handleValidateProject } = await import("./validate-IJHHQHT5.js");
|
|
54
54
|
const result = await handleValidateProject({ path: projectPath });
|
|
55
55
|
const first = result.content[0];
|
|
56
56
|
const parsed = first ? JSON.parse(first.text) : {};
|
|
@@ -75,7 +75,7 @@ async function handleAssessProject(input) {
|
|
|
75
75
|
parallelChecks.push(
|
|
76
76
|
(async () => {
|
|
77
77
|
try {
|
|
78
|
-
const { handleCheckDependencies } = await import("./architecture-
|
|
78
|
+
const { handleCheckDependencies } = await import("./architecture-5GVJRRUD.js");
|
|
79
79
|
const result = await handleCheckDependencies({ path: projectPath });
|
|
80
80
|
const first = result.content[0];
|
|
81
81
|
const parsed = first ? JSON.parse(first.text) : {};
|
|
@@ -102,7 +102,7 @@ async function handleAssessProject(input) {
|
|
|
102
102
|
parallelChecks.push(
|
|
103
103
|
(async () => {
|
|
104
104
|
try {
|
|
105
|
-
const { handleCheckDocs } = await import("./docs-
|
|
105
|
+
const { handleCheckDocs } = await import("./docs-CVQMSMQC.js");
|
|
106
106
|
const result = await handleCheckDocs({ path: projectPath, scope: "coverage" });
|
|
107
107
|
const first = result.content[0];
|
|
108
108
|
const parsed = first ? JSON.parse(first.text) : {};
|
|
@@ -129,7 +129,7 @@ async function handleAssessProject(input) {
|
|
|
129
129
|
parallelChecks.push(
|
|
130
130
|
(async () => {
|
|
131
131
|
try {
|
|
132
|
-
const { handleDetectEntropy } = await import("./entropy-
|
|
132
|
+
const { handleDetectEntropy } = await import("./entropy-K2YTZFCP.js");
|
|
133
133
|
const result = await handleDetectEntropy({ path: projectPath, type: "all" });
|
|
134
134
|
const first = result.content[0];
|
|
135
135
|
const parsed = first ? JSON.parse(first.text) : {};
|
|
@@ -156,7 +156,7 @@ async function handleAssessProject(input) {
|
|
|
156
156
|
parallelChecks.push(
|
|
157
157
|
(async () => {
|
|
158
158
|
try {
|
|
159
|
-
const { handleRunSecurityScan } = await import("./security-
|
|
159
|
+
const { handleRunSecurityScan } = await import("./security-ROK5IFDA.js");
|
|
160
160
|
const result = await handleRunSecurityScan({ path: projectPath });
|
|
161
161
|
const first = result.content[0];
|
|
162
162
|
const parsed = first ? JSON.parse(first.text) : {};
|
|
@@ -188,7 +188,7 @@ async function handleAssessProject(input) {
|
|
|
188
188
|
parallelChecks.push(
|
|
189
189
|
(async () => {
|
|
190
190
|
try {
|
|
191
|
-
const { handleCheckPerformance } = await import("./performance-
|
|
191
|
+
const { handleCheckPerformance } = await import("./performance-T3XAESWR.js");
|
|
192
192
|
const result = await handleCheckPerformance({ path: projectPath });
|
|
193
193
|
if ("isError" in result && result.isError) {
|
|
194
194
|
const msg = result.content[0]?.text ?? "Performance check failed";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-W6Y7ZW3Y.js";
|
|
7
7
|
import {
|
|
8
8
|
init_dist
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-6JBJ5FSW.js";
|
|
10
10
|
import {
|
|
11
11
|
Ok
|
|
12
12
|
} from "./chunk-RL4VMEXL.js";
|
|
@@ -14,10 +14,10 @@ import {
|
|
|
14
14
|
// src/mcp/tools/entropy.ts
|
|
15
15
|
init_dist();
|
|
16
16
|
async function loadEntropyGraphOptions(projectPath) {
|
|
17
|
-
const { loadGraphStore } = await import("./graph-loader-
|
|
17
|
+
const { loadGraphStore } = await import("./graph-loader-BI3OFFFS.js");
|
|
18
18
|
const store = await loadGraphStore(projectPath);
|
|
19
19
|
if (!store) return void 0;
|
|
20
|
-
const { GraphEntropyAdapter } = await import("./dist-
|
|
20
|
+
const { GraphEntropyAdapter } = await import("./dist-BP6E6QGG.js");
|
|
21
21
|
const adapter = new GraphEntropyAdapter(store);
|
|
22
22
|
const driftData = adapter.computeDriftData();
|
|
23
23
|
const deadCodeData = adapter.computeDeadCodeData();
|
|
@@ -127,7 +127,7 @@ function buildSummaryResponse(report) {
|
|
|
127
127
|
}
|
|
128
128
|
async function handleDetectEntropy(input) {
|
|
129
129
|
try {
|
|
130
|
-
const { EntropyAnalyzer } = await import("./dist-
|
|
130
|
+
const { EntropyAnalyzer } = await import("./dist-46VOJIG4.js");
|
|
131
131
|
const typeFilter = input.type ?? "all";
|
|
132
132
|
const analyzer = new EntropyAnalyzer({
|
|
133
133
|
rootDir: sanitizePath(input.path),
|
|
@@ -146,7 +146,7 @@ async function handleDetectEntropy(input) {
|
|
|
146
146
|
return resultToMcpResponse(result);
|
|
147
147
|
}
|
|
148
148
|
if (!result.ok) return resultToMcpResponse(result);
|
|
149
|
-
const { createFixes, applyFixes, generateSuggestions } = await import("./dist-
|
|
149
|
+
const { createFixes, applyFixes, generateSuggestions } = await import("./dist-46VOJIG4.js");
|
|
150
150
|
const report = result.value;
|
|
151
151
|
const deadCode = report.deadCode;
|
|
152
152
|
const fixTypesConfig = input.fixTypes ? { fixTypes: input.fixTypes } : void 0;
|