@harness-engineering/cli 1.8.0 → 1.8.2

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 (76) hide show
  1. package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +2 -2
  2. package/dist/agents/skills/claude-code/harness-brainstorming/SKILL.md +5 -7
  3. package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +2 -2
  4. package/dist/agents/skills/claude-code/harness-planning/SKILL.md +2 -2
  5. package/dist/agents/skills/claude-code/harness-roadmap/SKILL.md +4 -5
  6. package/dist/agents/skills/gemini-cli/add-harness-component/SKILL.md +192 -0
  7. package/dist/agents/skills/gemini-cli/add-harness-component/skill.yaml +32 -0
  8. package/dist/agents/skills/gemini-cli/align-documentation/SKILL.md +213 -0
  9. package/dist/agents/skills/gemini-cli/align-documentation/skill.yaml +31 -0
  10. package/dist/agents/skills/gemini-cli/check-mechanical-constraints/SKILL.md +191 -0
  11. package/dist/agents/skills/gemini-cli/check-mechanical-constraints/skill.yaml +32 -0
  12. package/dist/agents/skills/gemini-cli/cleanup-dead-code/SKILL.md +245 -0
  13. package/dist/agents/skills/gemini-cli/cleanup-dead-code/skill.yaml +33 -0
  14. package/dist/agents/skills/gemini-cli/detect-doc-drift/SKILL.md +179 -0
  15. package/dist/agents/skills/gemini-cli/detect-doc-drift/skill.yaml +30 -0
  16. package/dist/agents/skills/gemini-cli/enforce-architecture/SKILL.md +240 -0
  17. package/dist/agents/skills/gemini-cli/enforce-architecture/skill.yaml +34 -0
  18. package/dist/agents/skills/gemini-cli/harness-architecture-advisor/SKILL.md +397 -0
  19. package/dist/agents/skills/gemini-cli/harness-architecture-advisor/skill.yaml +48 -0
  20. package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +2 -2
  21. package/dist/agents/skills/gemini-cli/harness-brainstorming/SKILL.md +317 -0
  22. package/dist/agents/skills/gemini-cli/harness-brainstorming/skill.yaml +49 -0
  23. package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +681 -0
  24. package/dist/agents/skills/gemini-cli/harness-code-review/skill.yaml +45 -0
  25. package/dist/agents/skills/gemini-cli/harness-debugging/SKILL.md +366 -0
  26. package/dist/agents/skills/gemini-cli/harness-debugging/skill.yaml +47 -0
  27. package/dist/agents/skills/gemini-cli/harness-diagnostics/SKILL.md +318 -0
  28. package/dist/agents/skills/gemini-cli/harness-diagnostics/skill.yaml +50 -0
  29. package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +382 -0
  30. package/dist/agents/skills/gemini-cli/harness-execution/skill.yaml +51 -0
  31. package/dist/agents/skills/gemini-cli/harness-git-workflow/SKILL.md +268 -0
  32. package/dist/agents/skills/gemini-cli/harness-git-workflow/skill.yaml +31 -0
  33. package/dist/agents/skills/gemini-cli/harness-integrity/SKILL.md +167 -0
  34. package/dist/agents/skills/gemini-cli/harness-integrity/skill.yaml +47 -0
  35. package/dist/agents/skills/gemini-cli/harness-onboarding/SKILL.md +288 -0
  36. package/dist/agents/skills/gemini-cli/harness-onboarding/skill.yaml +30 -0
  37. package/dist/agents/skills/gemini-cli/harness-parallel-agents/SKILL.md +171 -0
  38. package/dist/agents/skills/gemini-cli/harness-parallel-agents/skill.yaml +33 -0
  39. package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +389 -0
  40. package/dist/agents/skills/gemini-cli/harness-planning/skill.yaml +49 -0
  41. package/dist/agents/skills/gemini-cli/harness-pre-commit-review/SKILL.md +262 -0
  42. package/dist/agents/skills/gemini-cli/harness-pre-commit-review/skill.yaml +33 -0
  43. package/dist/agents/skills/gemini-cli/harness-refactoring/SKILL.md +169 -0
  44. package/dist/agents/skills/gemini-cli/harness-refactoring/skill.yaml +33 -0
  45. package/dist/agents/skills/gemini-cli/harness-roadmap/SKILL.md +4 -5
  46. package/dist/agents/skills/gemini-cli/harness-skill-authoring/SKILL.md +292 -0
  47. package/dist/agents/skills/gemini-cli/harness-skill-authoring/skill.yaml +32 -0
  48. package/dist/agents/skills/gemini-cli/harness-state-management/SKILL.md +309 -0
  49. package/dist/agents/skills/gemini-cli/harness-state-management/skill.yaml +32 -0
  50. package/dist/agents/skills/gemini-cli/harness-tdd/SKILL.md +177 -0
  51. package/dist/agents/skills/gemini-cli/harness-tdd/skill.yaml +48 -0
  52. package/dist/agents/skills/gemini-cli/harness-verification/SKILL.md +328 -0
  53. package/dist/agents/skills/gemini-cli/harness-verification/skill.yaml +42 -0
  54. package/dist/agents/skills/gemini-cli/harness-verify/SKILL.md +159 -0
  55. package/dist/agents/skills/gemini-cli/harness-verify/skill.yaml +40 -0
  56. package/dist/agents/skills/gemini-cli/initialize-harness-project/SKILL.md +224 -0
  57. package/dist/agents/skills/gemini-cli/initialize-harness-project/skill.yaml +31 -0
  58. package/dist/agents/skills/gemini-cli/validate-context-engineering/SKILL.md +150 -0
  59. package/dist/agents/skills/gemini-cli/validate-context-engineering/skill.yaml +31 -0
  60. package/dist/bin/harness.js +7 -7
  61. package/dist/{chunk-3JWCBVUZ.js → chunk-LB4GRDDV.js} +1 -1
  62. package/dist/{chunk-SJECMKSS.js → chunk-SAB3VXOW.js} +26 -14
  63. package/dist/{chunk-ACMDUQJG.js → chunk-ULSRSP53.js} +2 -1
  64. package/dist/{chunk-LNI4T7R6.js → chunk-Y7U5AYAL.js} +38 -25
  65. package/dist/{create-skill-NZDLMMR6.js → create-skill-UZOHMXRU.js} +1 -1
  66. package/dist/{dist-BDO5GFEM.js → dist-K6KTTN3I.js} +3 -3
  67. package/dist/{dist-NT3GXHQZ.js → dist-ZODQVGC4.js} +1 -1
  68. package/dist/index.js +4 -4
  69. package/dist/validate-cross-check-DLNK423G.js +7 -0
  70. package/package.json +8 -7
  71. package/dist/agents/skills/node_modules/.bin/glob +0 -17
  72. package/dist/agents/skills/node_modules/.bin/vitest +0 -17
  73. package/dist/agents/skills/node_modules/.bin/yaml +0 -17
  74. package/dist/templates/advanced/docs/specs/.gitkeep +0 -0
  75. package/dist/templates/intermediate/docs/specs/.gitkeep +0 -0
  76. package/dist/validate-cross-check-2OPGCGGU.js +0 -7
@@ -6,7 +6,6 @@ import {
6
6
  Ok,
7
7
  SecurityScanner,
8
8
  TypeScriptParser,
9
- VERSION,
10
9
  appendLearning,
11
10
  applyFixes,
12
11
  archiveStream,
@@ -32,7 +31,7 @@ import {
32
31
  validateAgentsMap,
33
32
  validateDependencies,
34
33
  validateKnowledgeMap
35
- } from "./chunk-SJECMKSS.js";
34
+ } from "./chunk-SAB3VXOW.js";
36
35
  import {
37
36
  CLIError,
38
37
  ExitCode,
@@ -40,11 +39,22 @@ import {
40
39
  createCreateSkillCommand,
41
40
  handleError,
42
41
  logger
43
- } from "./chunk-ACMDUQJG.js";
42
+ } from "./chunk-ULSRSP53.js";
44
43
 
45
44
  // src/index.ts
46
45
  import { Command as Command43 } from "commander";
47
46
 
47
+ // src/version.ts
48
+ import { createRequire } from "module";
49
+ var require_ = createRequire(import.meta.url);
50
+ var resolved;
51
+ try {
52
+ resolved = require_("../package.json").version ?? "0.0.0";
53
+ } catch {
54
+ resolved = "0.0.0";
55
+ }
56
+ var CLI_VERSION = resolved;
57
+
48
58
  // src/commands/validate.ts
49
59
  import { Command } from "commander";
50
60
  import * as path2 from "path";
@@ -84,7 +94,7 @@ var PhaseGateMappingSchema = z.object({
84
94
  var PhaseGatesConfigSchema = z.object({
85
95
  enabled: z.boolean().default(false),
86
96
  severity: z.enum(["error", "warning"]).default("error"),
87
- mappings: z.array(PhaseGateMappingSchema).default([{ implPattern: "src/**/*.ts", specPattern: "docs/specs/{feature}.md" }])
97
+ mappings: z.array(PhaseGateMappingSchema).default([{ implPattern: "src/**/*.ts", specPattern: "docs/changes/{feature}/proposal.md" }])
88
98
  });
89
99
  var SecurityConfigSchema = z.object({
90
100
  enabled: z.boolean().default(true),
@@ -359,7 +369,7 @@ function createValidateCommand() {
359
369
  process.exit(result.error.exitCode);
360
370
  }
361
371
  if (opts.crossCheck) {
362
- const { runCrossCheck: runCrossCheck2 } = await import("./validate-cross-check-2OPGCGGU.js");
372
+ const { runCrossCheck: runCrossCheck2 } = await import("./validate-cross-check-DLNK423G.js");
363
373
  const cwd = process.cwd();
364
374
  const specsDir = path2.join(cwd, "docs", "specs");
365
375
  const plansDir = path2.join(cwd, "docs", "plans");
@@ -725,7 +735,7 @@ function createPerfCommand() {
725
735
  perf.command("bench [glob]").description("Run benchmarks via vitest bench").action(async (glob2, _opts, cmd) => {
726
736
  const globalOpts = cmd.optsWithGlobals();
727
737
  const cwd = process.cwd();
728
- const { BenchmarkRunner } = await import("./dist-NT3GXHQZ.js");
738
+ const { BenchmarkRunner } = await import("./dist-ZODQVGC4.js");
729
739
  const runner = new BenchmarkRunner();
730
740
  const benchFiles = runner.discover(cwd, glob2);
731
741
  if (benchFiles.length === 0) {
@@ -794,7 +804,7 @@ Results (${result.results.length} benchmarks):`);
794
804
  baselines.command("update").description("Update baselines from latest benchmark run").action(async (_opts, cmd) => {
795
805
  const globalOpts = cmd.optsWithGlobals();
796
806
  const cwd = process.cwd();
797
- const { BenchmarkRunner } = await import("./dist-NT3GXHQZ.js");
807
+ const { BenchmarkRunner } = await import("./dist-ZODQVGC4.js");
798
808
  const runner = new BenchmarkRunner();
799
809
  const manager = new BaselineManager(cwd);
800
810
  logger.info("Running benchmarks to update baselines...");
@@ -822,7 +832,7 @@ Results (${result.results.length} benchmarks):`);
822
832
  perf.command("report").description("Full performance report with metrics, trends, and hotspots").action(async (_opts, cmd) => {
823
833
  const globalOpts = cmd.optsWithGlobals();
824
834
  const cwd = process.cwd();
825
- const { EntropyAnalyzer: EntropyAnalyzer2 } = await import("./dist-NT3GXHQZ.js");
835
+ const { EntropyAnalyzer: EntropyAnalyzer2 } = await import("./dist-ZODQVGC4.js");
826
836
  const analyzer = new EntropyAnalyzer2({
827
837
  rootDir: path6.resolve(cwd),
828
838
  analyze: { complexity: true, coupling: true }
@@ -1095,9 +1105,9 @@ var TemplateEngine = class {
1095
1105
  files = this.mergeFileLists(files, frameworkFiles);
1096
1106
  }
1097
1107
  files = files.filter((f) => f.relativePath !== "template.json");
1098
- const resolved = { metadata, files };
1099
- if (overlayMetadata !== void 0) resolved.overlayMetadata = overlayMetadata;
1100
- return Ok(resolved);
1108
+ const resolved2 = { metadata, files };
1109
+ if (overlayMetadata !== void 0) resolved2.overlayMetadata = overlayMetadata;
1110
+ return Ok(resolved2);
1101
1111
  }
1102
1112
  render(template, context) {
1103
1113
  const rendered = [];
@@ -1198,7 +1208,7 @@ var TemplateEngine = class {
1198
1208
  walk(fullPath);
1199
1209
  } else {
1200
1210
  files.push({
1201
- relativePath: path8.relative(dir, fullPath),
1211
+ relativePath: path8.relative(dir, fullPath).replace(/\\/g, "/"),
1202
1212
  absolutePath: fullPath,
1203
1213
  isHandlebars: entry.name.endsWith(".hbs"),
1204
1214
  sourceTemplate: sourceName
@@ -2514,7 +2524,7 @@ async function runAdd(componentType, name, options) {
2514
2524
  break;
2515
2525
  }
2516
2526
  case "skill": {
2517
- const { generateSkillFiles: generateSkillFiles2 } = await import("./create-skill-NZDLMMR6.js");
2527
+ const { generateSkillFiles: generateSkillFiles2 } = await import("./create-skill-UZOHMXRU.js");
2518
2528
  generateSkillFiles2({
2519
2529
  name,
2520
2530
  description: `${name} skill`,
@@ -3840,7 +3850,7 @@ import { Command as Command31 } from "commander";
3840
3850
  import * as path31 from "path";
3841
3851
  import * as fs19 from "fs";
3842
3852
  function resolveSpecPath(implFile, implPattern, specPattern, cwd) {
3843
- const relImpl = path31.relative(cwd, implFile);
3853
+ const relImpl = path31.relative(cwd, implFile).replace(/\\/g, "/");
3844
3854
  const implBase = (implPattern.split("*")[0] ?? "").replace(/\/+$/, "");
3845
3855
  const afterBase = relImpl.startsWith(implBase + "/") ? relImpl.slice(implBase.length + 1) : relImpl;
3846
3856
  const segments = afterBase.split("/");
@@ -3874,8 +3884,8 @@ async function runCheckPhaseGate(options) {
3874
3884
  const expectedSpec = resolveSpecPath(implFile, mapping.implPattern, mapping.specPattern, cwd);
3875
3885
  if (!fs19.existsSync(expectedSpec)) {
3876
3886
  missingSpecs.push({
3877
- implFile: path31.relative(cwd, implFile),
3878
- expectedSpec: path31.relative(cwd, expectedSpec)
3887
+ implFile: path31.relative(cwd, implFile).replace(/\\/g, "/"),
3888
+ expectedSpec: path31.relative(cwd, expectedSpec).replace(/\\/g, "/")
3879
3889
  });
3880
3890
  }
3881
3891
  }
@@ -4600,7 +4610,7 @@ function createInitCommand2() {
4600
4610
  const dir = path35.dirname(targetPath);
4601
4611
  fs23.mkdirSync(dir, { recursive: true });
4602
4612
  fs23.writeFileSync(targetPath, content);
4603
- if (platform === "generic") {
4613
+ if (platform === "generic" && process.platform !== "win32") {
4604
4614
  fs23.chmodSync(targetPath, "755");
4605
4615
  }
4606
4616
  if (globalOpts.json) {
@@ -4631,10 +4641,12 @@ function detectPackageManager() {
4631
4641
  const argv1 = process.argv[1];
4632
4642
  if (!argv1) return "npm";
4633
4643
  const binPath = realpathSync(argv1);
4634
- if (binPath.includes("pnpm/global/") || binPath.includes("pnpm-global/")) {
4644
+ const normalizedBin = binPath.replace(/\\/g, "/");
4645
+ if (normalizedBin.includes("pnpm/global/") || // eslint-disable-line @harness-engineering/no-hardcoded-path-separator -- platform-safe
4646
+ normalizedBin.includes("pnpm-global/")) {
4635
4647
  return "pnpm";
4636
4648
  }
4637
- if (binPath.includes(".yarn/")) {
4649
+ if (normalizedBin.includes(".yarn/")) {
4638
4650
  return "yarn";
4639
4651
  }
4640
4652
  } catch {
@@ -5082,7 +5094,7 @@ function createGenerateCommand3() {
5082
5094
  import { Command as Command39 } from "commander";
5083
5095
  import * as path37 from "path";
5084
5096
  async function runScan(projectPath) {
5085
- const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-BDO5GFEM.js");
5097
+ const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-K6KTTN3I.js");
5086
5098
  const store = new GraphStore();
5087
5099
  const start = Date.now();
5088
5100
  await new CodeIngestor(store).ingest(projectPath);
@@ -5163,7 +5175,7 @@ async function runIngest(projectPath, source, opts) {
5163
5175
  SyncManager,
5164
5176
  JiraConnector,
5165
5177
  SlackConnector
5166
- } = await import("./dist-BDO5GFEM.js");
5178
+ } = await import("./dist-K6KTTN3I.js");
5167
5179
  const graphDir = path38.join(projectPath, ".harness", "graph");
5168
5180
  const store = new GraphStore();
5169
5181
  await store.load(graphDir);
@@ -5256,7 +5268,7 @@ function createIngestCommand() {
5256
5268
  import { Command as Command41 } from "commander";
5257
5269
  import * as path39 from "path";
5258
5270
  async function runQuery(projectPath, rootNodeId, opts) {
5259
- const { GraphStore, ContextQL } = await import("./dist-BDO5GFEM.js");
5271
+ const { GraphStore, ContextQL } = await import("./dist-K6KTTN3I.js");
5260
5272
  const store = new GraphStore();
5261
5273
  const graphDir = path39.join(projectPath, ".harness", "graph");
5262
5274
  const loaded = await store.load(graphDir);
@@ -5305,7 +5317,7 @@ import { Command as Command42 } from "commander";
5305
5317
  // src/commands/graph/status.ts
5306
5318
  import * as path40 from "path";
5307
5319
  async function runGraphStatus(projectPath) {
5308
- const { GraphStore } = await import("./dist-BDO5GFEM.js");
5320
+ const { GraphStore } = await import("./dist-K6KTTN3I.js");
5309
5321
  const graphDir = path40.join(projectPath, ".harness", "graph");
5310
5322
  const store = new GraphStore();
5311
5323
  const loaded = await store.load(graphDir);
@@ -5345,7 +5357,7 @@ async function runGraphStatus(projectPath) {
5345
5357
  // src/commands/graph/export.ts
5346
5358
  import * as path41 from "path";
5347
5359
  async function runGraphExport(projectPath, format) {
5348
- const { GraphStore } = await import("./dist-BDO5GFEM.js");
5360
+ const { GraphStore } = await import("./dist-K6KTTN3I.js");
5349
5361
  const graphDir = path41.join(projectPath, ".harness", "graph");
5350
5362
  const store = new GraphStore();
5351
5363
  const loaded = await store.load(graphDir);
@@ -5423,7 +5435,7 @@ function createGraphCommand() {
5423
5435
  // src/index.ts
5424
5436
  function createProgram() {
5425
5437
  const program = new Command43();
5426
- program.name("harness").description("CLI for Harness Engineering toolkit").version(VERSION).option("-c, --config <path>", "Path to config file").option("--json", "Output as JSON").option("--verbose", "Verbose output").option("--quiet", "Minimal output");
5438
+ program.name("harness").description("CLI for Harness Engineering toolkit").version(CLI_VERSION).option("-c, --config <path>", "Path to config file").option("--json", "Output as JSON").option("--verbose", "Verbose output").option("--quiet", "Minimal output");
5427
5439
  program.addCommand(createValidateCommand());
5428
5440
  program.addCommand(createCheckDepsCommand());
5429
5441
  program.addCommand(createCheckDocsCommand());
@@ -5455,6 +5467,7 @@ function createProgram() {
5455
5467
  }
5456
5468
 
5457
5469
  export {
5470
+ CLI_VERSION,
5458
5471
  findConfigFile,
5459
5472
  loadConfig,
5460
5473
  resolveConfig,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createCreateSkillCommand,
3
3
  generateSkillFiles
4
- } from "./chunk-ACMDUQJG.js";
4
+ } from "./chunk-ULSRSP53.js";
5
5
  export {
6
6
  createCreateSkillCommand,
7
7
  generateSkillFiles
@@ -481,7 +481,7 @@ var CodeIngestor = class {
481
481
  const fileContents = /* @__PURE__ */ new Map();
482
482
  for (const filePath of files) {
483
483
  try {
484
- const relativePath = path.relative(rootDir, filePath);
484
+ const relativePath = path.relative(rootDir, filePath).replace(/\\/g, "/");
485
485
  const content = await fs.readFile(filePath, "utf-8");
486
486
  const stat2 = await fs.stat(filePath);
487
487
  const fileId = `file:${relativePath}`;
@@ -771,7 +771,7 @@ var CodeIngestor = class {
771
771
  }
772
772
  async resolveImportPath(fromFile, importPath, rootDir) {
773
773
  const fromDir = path.dirname(fromFile);
774
- const resolved = path.normalize(path.join(fromDir, importPath));
774
+ const resolved = path.normalize(path.join(fromDir, importPath)).replace(/\\/g, "/");
775
775
  const extensions = [".ts", ".tsx", ".js", ".jsx"];
776
776
  for (const ext of extensions) {
777
777
  const candidate = resolved.replace(/\.js$/, "") + ext;
@@ -783,7 +783,7 @@ var CodeIngestor = class {
783
783
  }
784
784
  }
785
785
  for (const ext of extensions) {
786
- const candidate = path.join(resolved, `index${ext}`);
786
+ const candidate = path.join(resolved, `index${ext}`).replace(/\\/g, "/");
787
787
  const fullPath = path.join(rootDir, candidate);
788
788
  try {
789
789
  await fs.access(fullPath);
@@ -165,7 +165,7 @@ import {
165
165
  validateKnowledgeMap,
166
166
  validatePatternConfig,
167
167
  xssRules
168
- } from "./chunk-SJECMKSS.js";
168
+ } from "./chunk-SAB3VXOW.js";
169
169
  export {
170
170
  AGENT_DESCRIPTORS,
171
171
  ARCHITECTURE_DESCRIPTOR,
package/dist/index.js CHANGED
@@ -30,18 +30,18 @@ import {
30
30
  runPersona,
31
31
  runQuery,
32
32
  runScan
33
- } from "./chunk-LNI4T7R6.js";
33
+ } from "./chunk-Y7U5AYAL.js";
34
34
  import {
35
35
  runCrossCheck
36
- } from "./chunk-3JWCBVUZ.js";
37
- import "./chunk-SJECMKSS.js";
36
+ } from "./chunk-LB4GRDDV.js";
37
+ import "./chunk-SAB3VXOW.js";
38
38
  import {
39
39
  CLIError,
40
40
  ExitCode,
41
41
  generateSkillFiles,
42
42
  handleError,
43
43
  logger
44
- } from "./chunk-ACMDUQJG.js";
44
+ } from "./chunk-ULSRSP53.js";
45
45
  export {
46
46
  AGENT_DESCRIPTIONS,
47
47
  ALLOWED_PERSONA_COMMANDS,
@@ -0,0 +1,7 @@
1
+ import {
2
+ runCrossCheck
3
+ } from "./chunk-LB4GRDDV.js";
4
+ import "./chunk-SAB3VXOW.js";
5
+ export {
6
+ runCrossCheck
7
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harness-engineering/cli",
3
- "version": "1.8.0",
3
+ "version": "1.8.2",
4
4
  "description": "CLI for Harness Engineering toolkit",
5
5
  "type": "module",
6
6
  "bin": {
@@ -12,7 +12,8 @@
12
12
  ".": {
13
13
  "types": "./dist/index.d.ts",
14
14
  "import": "./dist/index.js"
15
- }
15
+ },
16
+ "./package.json": "./package.json"
16
17
  },
17
18
  "files": [
18
19
  "dist",
@@ -29,9 +30,9 @@
29
30
  "minimatch": "^10.2.4",
30
31
  "yaml": "^2.3.0",
31
32
  "zod": "^3.22.0",
32
- "@harness-engineering/core": "0.9.0",
33
- "@harness-engineering/graph": "0.2.2",
34
- "@harness-engineering/linter-gen": "0.1.1"
33
+ "@harness-engineering/core": "0.9.2",
34
+ "@harness-engineering/linter-gen": "0.1.2",
35
+ "@harness-engineering/graph": "0.2.3"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@types/node": "^22.0.0",
@@ -54,13 +55,13 @@
54
55
  },
55
56
  "homepage": "https://github.com/Intense-Visions/harness-engineering/tree/main/packages/cli#readme",
56
57
  "scripts": {
57
- "build": "tsup && cp -r ../../templates dist/templates && cp -r ../../agents dist/agents",
58
+ "build": "tsup && node scripts/copy-assets.mjs",
58
59
  "dev": "tsup --watch",
59
60
  "lint": "eslint src",
60
61
  "typecheck": "tsc --noEmit",
61
62
  "test": "vitest run",
62
63
  "test:watch": "vitest",
63
64
  "test:coverage": "vitest run --coverage",
64
- "clean": "rm -rf dist"
65
+ "clean": "node ../../scripts/clean.mjs dist"
65
66
  }
66
67
  }
@@ -1,17 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
- esac
7
-
8
- if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/glob@10.5.0/node_modules/glob/dist/esm/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/glob@10.5.0/node_modules/glob/dist/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/glob@10.5.0/node_modules/glob/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/glob@10.5.0/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/node_modules"
10
- else
11
- export NODE_PATH="/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/glob@10.5.0/node_modules/glob/dist/esm/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/glob@10.5.0/node_modules/glob/dist/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/glob@10.5.0/node_modules/glob/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/glob@10.5.0/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/node_modules:$NODE_PATH"
12
- fi
13
- if [ -x "$basedir/node" ]; then
14
- exec "$basedir/node" "$basedir/../glob/dist/esm/bin.mjs" "$@"
15
- else
16
- exec node "$basedir/../glob/dist/esm/bin.mjs" "$@"
17
- fi
@@ -1,17 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
- esac
7
-
8
- if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/vitest@4.0.18_yaml@2.8.2/node_modules/vitest/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/vitest@4.0.18_yaml@2.8.2/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/node_modules"
10
- else
11
- export NODE_PATH="/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/vitest@4.0.18_yaml@2.8.2/node_modules/vitest/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/vitest@4.0.18_yaml@2.8.2/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/node_modules:$NODE_PATH"
12
- fi
13
- if [ -x "$basedir/node" ]; then
14
- exec "$basedir/node" "$basedir/../vitest/vitest.mjs" "$@"
15
- else
16
- exec node "$basedir/../vitest/vitest.mjs" "$@"
17
- fi
@@ -1,17 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
- esac
7
-
8
- if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/yaml@2.8.2/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/node_modules"
10
- else
11
- export NODE_PATH="/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/yaml@2.8.2/node_modules:/home/runner/work/harness-engineering/harness-engineering/node_modules/.pnpm/node_modules:$NODE_PATH"
12
- fi
13
- if [ -x "$basedir/node" ]; then
14
- exec "$basedir/node" "$basedir/../yaml/bin.mjs" "$@"
15
- else
16
- exec node "$basedir/../yaml/bin.mjs" "$@"
17
- fi
File without changes
File without changes
@@ -1,7 +0,0 @@
1
- import {
2
- runCrossCheck
3
- } from "./chunk-3JWCBVUZ.js";
4
- import "./chunk-SJECMKSS.js";
5
- export {
6
- runCrossCheck
7
- };