@harness-engineering/cli 1.6.1 → 1.7.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 (72) hide show
  1. package/dist/agents/personas/planner.yaml +27 -0
  2. package/dist/agents/personas/verifier.yaml +30 -0
  3. package/dist/agents/skills/claude-code/enforce-architecture/SKILL.md +19 -0
  4. package/dist/agents/skills/claude-code/harness-accessibility/SKILL.md +274 -0
  5. package/dist/agents/skills/claude-code/harness-accessibility/skill.yaml +51 -0
  6. package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +111 -72
  7. package/dist/agents/skills/claude-code/harness-autopilot/skill.yaml +4 -2
  8. package/dist/agents/skills/claude-code/harness-dependency-health/skill.yaml +1 -1
  9. package/dist/agents/skills/claude-code/harness-design/SKILL.md +265 -0
  10. package/dist/agents/skills/claude-code/harness-design/skill.yaml +53 -0
  11. package/dist/agents/skills/claude-code/harness-design-mobile/SKILL.md +336 -0
  12. package/dist/agents/skills/claude-code/harness-design-mobile/skill.yaml +49 -0
  13. package/dist/agents/skills/claude-code/harness-design-system/SKILL.md +282 -0
  14. package/dist/agents/skills/claude-code/harness-design-system/skill.yaml +50 -0
  15. package/dist/agents/skills/claude-code/harness-design-web/SKILL.md +360 -0
  16. package/dist/agents/skills/claude-code/harness-design-web/skill.yaml +52 -0
  17. package/dist/agents/skills/claude-code/harness-hotspot-detector/skill.yaml +1 -1
  18. package/dist/agents/skills/claude-code/harness-impact-analysis/SKILL.md +16 -0
  19. package/dist/agents/skills/claude-code/harness-integrity/SKILL.md +19 -1
  20. package/dist/agents/skills/claude-code/harness-knowledge-mapper/skill.yaml +1 -1
  21. package/dist/agents/skills/claude-code/harness-onboarding/SKILL.md +19 -1
  22. package/dist/agents/skills/claude-code/harness-release-readiness/SKILL.md +13 -9
  23. package/dist/agents/skills/claude-code/harness-security-scan/skill.yaml +1 -1
  24. package/dist/agents/skills/claude-code/harness-verify/SKILL.md +26 -0
  25. package/dist/agents/skills/gemini-cli/harness-accessibility/SKILL.md +274 -0
  26. package/dist/agents/skills/gemini-cli/harness-accessibility/skill.yaml +51 -0
  27. package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +111 -72
  28. package/dist/agents/skills/gemini-cli/harness-autopilot/skill.yaml +4 -2
  29. package/dist/agents/skills/gemini-cli/harness-dependency-health/skill.yaml +1 -1
  30. package/dist/agents/skills/gemini-cli/harness-design/SKILL.md +265 -0
  31. package/dist/agents/skills/gemini-cli/harness-design/skill.yaml +53 -0
  32. package/dist/agents/skills/gemini-cli/harness-design-mobile/SKILL.md +336 -0
  33. package/dist/agents/skills/gemini-cli/harness-design-mobile/skill.yaml +49 -0
  34. package/dist/agents/skills/gemini-cli/harness-design-system/SKILL.md +282 -0
  35. package/dist/agents/skills/gemini-cli/harness-design-system/skill.yaml +50 -0
  36. package/dist/agents/skills/gemini-cli/harness-design-web/SKILL.md +360 -0
  37. package/dist/agents/skills/gemini-cli/harness-design-web/skill.yaml +52 -0
  38. package/dist/agents/skills/gemini-cli/harness-hotspot-detector/skill.yaml +1 -1
  39. package/dist/agents/skills/gemini-cli/harness-impact-analysis/SKILL.md +16 -0
  40. package/dist/agents/skills/gemini-cli/harness-knowledge-mapper/skill.yaml +1 -1
  41. package/dist/agents/skills/gemini-cli/harness-release-readiness/SKILL.md +13 -9
  42. package/dist/agents/skills/gemini-cli/harness-security-scan/skill.yaml +1 -1
  43. package/dist/agents/skills/node_modules/.bin/vitest +2 -2
  44. package/dist/agents/skills/shared/design-knowledge/anti-patterns/color.yaml +106 -0
  45. package/dist/agents/skills/shared/design-knowledge/anti-patterns/layout.yaml +109 -0
  46. package/dist/agents/skills/shared/design-knowledge/anti-patterns/motion.yaml +109 -0
  47. package/dist/agents/skills/shared/design-knowledge/anti-patterns/typography.yaml +112 -0
  48. package/dist/agents/skills/shared/design-knowledge/industries/creative.yaml +80 -0
  49. package/dist/agents/skills/shared/design-knowledge/industries/ecommerce.yaml +80 -0
  50. package/dist/agents/skills/shared/design-knowledge/industries/emerging-tech.yaml +83 -0
  51. package/dist/agents/skills/shared/design-knowledge/industries/fintech.yaml +80 -0
  52. package/dist/agents/skills/shared/design-knowledge/industries/healthcare.yaml +80 -0
  53. package/dist/agents/skills/shared/design-knowledge/industries/lifestyle.yaml +80 -0
  54. package/dist/agents/skills/shared/design-knowledge/industries/saas.yaml +80 -0
  55. package/dist/agents/skills/shared/design-knowledge/industries/services.yaml +80 -0
  56. package/dist/agents/skills/shared/design-knowledge/palettes/curated.yaml +234 -0
  57. package/dist/agents/skills/shared/design-knowledge/platform-rules/android.yaml +125 -0
  58. package/dist/agents/skills/shared/design-knowledge/platform-rules/flutter.yaml +144 -0
  59. package/dist/agents/skills/shared/design-knowledge/platform-rules/ios.yaml +106 -0
  60. package/dist/agents/skills/shared/design-knowledge/platform-rules/web.yaml +102 -0
  61. package/dist/agents/skills/shared/design-knowledge/typography/pairings.yaml +274 -0
  62. package/dist/bin/harness.js +3 -2
  63. package/dist/{chunk-3U5VZYR7.js → chunk-4WUGOJQ7.js} +6 -3
  64. package/dist/{chunk-O6NEKDYP.js → chunk-FFIX3QVG.js} +697 -349
  65. package/dist/chunk-GA6GN5J2.js +6150 -0
  66. package/dist/dist-C4J67MPP.js +242 -0
  67. package/dist/dist-N4D4QWFV.js +2809 -0
  68. package/dist/index.d.ts +79 -0
  69. package/dist/index.js +3 -2
  70. package/dist/validate-cross-check-WGXQ7K62.js +7 -0
  71. package/package.json +12 -8
  72. package/dist/validate-cross-check-LNIZ7KGZ.js +0 -6
package/dist/index.d.ts CHANGED
@@ -250,6 +250,35 @@ declare const HarnessConfigSchema: z.ZodObject<{
250
250
  excludePatterns?: string[] | undefined;
251
251
  autoFix?: boolean | undefined;
252
252
  }>>;
253
+ security: z.ZodOptional<z.ZodObject<{
254
+ enabled: z.ZodDefault<z.ZodBoolean>;
255
+ strict: z.ZodDefault<z.ZodBoolean>;
256
+ rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["off", "error", "warning", "info"]>>>;
257
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
258
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
259
+ enabled: z.ZodDefault<z.ZodBoolean>;
260
+ strict: z.ZodDefault<z.ZodBoolean>;
261
+ rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["off", "error", "warning", "info"]>>>;
262
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
263
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
264
+ enabled: z.ZodDefault<z.ZodBoolean>;
265
+ strict: z.ZodDefault<z.ZodBoolean>;
266
+ rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["off", "error", "warning", "info"]>>>;
267
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
268
+ }, z.ZodTypeAny, "passthrough">>>;
269
+ performance: z.ZodOptional<z.ZodObject<{
270
+ complexity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
271
+ coupling: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
272
+ sizeBudget: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
273
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
274
+ complexity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
275
+ coupling: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
276
+ sizeBudget: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
277
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
278
+ complexity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
279
+ coupling: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
280
+ sizeBudget: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
281
+ }, z.ZodTypeAny, "passthrough">>>;
253
282
  template: z.ZodOptional<z.ZodObject<{
254
283
  level: z.ZodEnum<["basic", "intermediate", "advanced"]>;
255
284
  framework: z.ZodOptional<z.ZodString>;
@@ -291,6 +320,22 @@ declare const HarnessConfigSchema: z.ZodObject<{
291
320
  specPattern: string;
292
321
  }[] | undefined;
293
322
  }>>;
323
+ design: z.ZodOptional<z.ZodObject<{
324
+ strictness: z.ZodDefault<z.ZodEnum<["strict", "standard", "permissive"]>>;
325
+ platforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["web", "mobile"]>, "many">>;
326
+ tokenPath: z.ZodOptional<z.ZodString>;
327
+ aestheticIntent: z.ZodOptional<z.ZodString>;
328
+ }, "strip", z.ZodTypeAny, {
329
+ strictness: "strict" | "standard" | "permissive";
330
+ platforms: ("web" | "mobile")[];
331
+ tokenPath?: string | undefined;
332
+ aestheticIntent?: string | undefined;
333
+ }, {
334
+ strictness?: "strict" | "standard" | "permissive" | undefined;
335
+ platforms?: ("web" | "mobile")[] | undefined;
336
+ tokenPath?: string | undefined;
337
+ aestheticIntent?: string | undefined;
338
+ }>>;
294
339
  }, "strip", z.ZodTypeAny, {
295
340
  version: 1;
296
341
  rootDir: string;
@@ -319,6 +364,17 @@ declare const HarnessConfigSchema: z.ZodObject<{
319
364
  excludePatterns: string[];
320
365
  autoFix: boolean;
321
366
  } | undefined;
367
+ security?: z.objectOutputType<{
368
+ enabled: z.ZodDefault<z.ZodBoolean>;
369
+ strict: z.ZodDefault<z.ZodBoolean>;
370
+ rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["off", "error", "warning", "info"]>>>;
371
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
372
+ }, z.ZodTypeAny, "passthrough"> | undefined;
373
+ performance?: z.objectOutputType<{
374
+ complexity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
375
+ coupling: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
376
+ sizeBudget: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
377
+ }, z.ZodTypeAny, "passthrough"> | undefined;
322
378
  template?: {
323
379
  version: number;
324
380
  level: "basic" | "intermediate" | "advanced";
@@ -332,6 +388,12 @@ declare const HarnessConfigSchema: z.ZodObject<{
332
388
  specPattern: string;
333
389
  }[];
334
390
  } | undefined;
391
+ design?: {
392
+ strictness: "strict" | "standard" | "permissive";
393
+ platforms: ("web" | "mobile")[];
394
+ tokenPath?: string | undefined;
395
+ aestheticIntent?: string | undefined;
396
+ } | undefined;
335
397
  }, {
336
398
  version: 1;
337
399
  name?: string | undefined;
@@ -360,6 +422,17 @@ declare const HarnessConfigSchema: z.ZodObject<{
360
422
  excludePatterns?: string[] | undefined;
361
423
  autoFix?: boolean | undefined;
362
424
  } | undefined;
425
+ security?: z.objectInputType<{
426
+ enabled: z.ZodDefault<z.ZodBoolean>;
427
+ strict: z.ZodDefault<z.ZodBoolean>;
428
+ rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["off", "error", "warning", "info"]>>>;
429
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
430
+ }, z.ZodTypeAny, "passthrough"> | undefined;
431
+ performance?: z.objectInputType<{
432
+ complexity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
433
+ coupling: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
434
+ sizeBudget: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
435
+ }, z.ZodTypeAny, "passthrough"> | undefined;
363
436
  template?: {
364
437
  version: number;
365
438
  level: "basic" | "intermediate" | "advanced";
@@ -373,6 +446,12 @@ declare const HarnessConfigSchema: z.ZodObject<{
373
446
  specPattern: string;
374
447
  }[] | undefined;
375
448
  } | undefined;
449
+ design?: {
450
+ strictness?: "strict" | "standard" | "permissive" | undefined;
451
+ platforms?: ("web" | "mobile")[] | undefined;
452
+ tokenPath?: string | undefined;
453
+ aestheticIntent?: string | undefined;
454
+ } | undefined;
376
455
  }>;
377
456
  type HarnessConfig = z.infer<typeof HarnessConfigSchema>;
378
457
 
package/dist/index.js CHANGED
@@ -28,10 +28,11 @@ import {
28
28
  runPersona,
29
29
  runQuery,
30
30
  runScan
31
- } from "./chunk-O6NEKDYP.js";
31
+ } from "./chunk-FFIX3QVG.js";
32
32
  import {
33
33
  runCrossCheck
34
- } from "./chunk-3U5VZYR7.js";
34
+ } from "./chunk-4WUGOJQ7.js";
35
+ import "./chunk-GA6GN5J2.js";
35
36
  import {
36
37
  CLIError,
37
38
  ExitCode,
@@ -0,0 +1,7 @@
1
+ import {
2
+ runCrossCheck
3
+ } from "./chunk-4WUGOJQ7.js";
4
+ import "./chunk-GA6GN5J2.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.6.1",
3
+ "version": "1.7.0",
4
4
  "description": "CLI for Harness Engineering toolkit",
5
5
  "type": "module",
6
6
  "bin": {
@@ -20,21 +20,25 @@
20
20
  "README.md"
21
21
  ],
22
22
  "dependencies": {
23
+ "@typescript-eslint/typescript-estree": "^7.0.0",
23
24
  "chalk": "^5.3.0",
24
25
  "commander": "^12.0.0",
25
26
  "glob": "^10.3.0",
26
27
  "handlebars": "^4.7.0",
28
+ "lokijs": "^1.5.12",
29
+ "minimatch": "^10.2.4",
27
30
  "yaml": "^2.3.0",
28
- "zod": "^3.22.0",
29
- "@harness-engineering/core": "0.8.0",
30
- "@harness-engineering/graph": "0.2.1",
31
- "@harness-engineering/linter-gen": "0.1.0"
31
+ "zod": "^3.22.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/node": "^22.0.0",
35
35
  "@vitest/coverage-v8": "^4.0.18",
36
36
  "tsup": "^8.0.0",
37
- "vitest": "^4.0.18"
37
+ "vitest": "^4.0.18",
38
+ "@harness-engineering/graph": "0.2.2",
39
+ "@harness-engineering/core": "0.8.0",
40
+ "@harness-engineering/linter-gen": "0.1.1",
41
+ "@harness-engineering/types": "0.1.0"
38
42
  },
39
43
  "license": "MIT",
40
44
  "publishConfig": {
@@ -50,8 +54,8 @@
50
54
  },
51
55
  "homepage": "https://github.com/Intense-Visions/harness-engineering/tree/main/packages/cli#readme",
52
56
  "scripts": {
53
- "build": "tsup src/index.ts src/bin/harness.ts --format esm --dts --outDir dist && cp -r ../../templates dist/templates && cp -r ../../agents dist/agents",
54
- "dev": "tsup src/index.ts src/bin/harness.ts --format esm --dts --watch",
57
+ "build": "tsup && cp -r ../../templates dist/templates && cp -r ../../agents dist/agents",
58
+ "dev": "tsup --watch",
55
59
  "lint": "eslint src",
56
60
  "typecheck": "tsc --noEmit",
57
61
  "test": "vitest run",
@@ -1,6 +0,0 @@
1
- import {
2
- runCrossCheck
3
- } from "./chunk-3U5VZYR7.js";
4
- export {
5
- runCrossCheck
6
- };