@harness-engineering/cli 1.3.0 → 1.6.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 (55) hide show
  1. package/dist/agents/personas/architecture-enforcer.yaml +1 -0
  2. package/dist/agents/personas/code-reviewer.yaml +41 -0
  3. package/dist/agents/personas/codebase-health-analyst.yaml +27 -0
  4. package/dist/agents/personas/documentation-maintainer.yaml +2 -0
  5. package/dist/agents/personas/entropy-cleaner.yaml +3 -0
  6. package/dist/agents/personas/graph-maintainer.yaml +27 -0
  7. package/dist/agents/personas/parallel-coordinator.yaml +29 -0
  8. package/dist/agents/personas/task-executor.yaml +41 -0
  9. package/dist/agents/skills/README.md +8 -0
  10. package/dist/agents/skills/claude-code/add-harness-component/SKILL.md +10 -0
  11. package/dist/agents/skills/claude-code/align-documentation/SKILL.md +19 -0
  12. package/dist/agents/skills/claude-code/cleanup-dead-code/SKILL.md +19 -0
  13. package/dist/agents/skills/claude-code/detect-doc-drift/SKILL.md +8 -0
  14. package/dist/agents/skills/claude-code/enforce-architecture/SKILL.md +9 -0
  15. package/dist/agents/skills/claude-code/harness-architecture-advisor/SKILL.md +9 -0
  16. package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +10 -0
  17. package/dist/agents/skills/claude-code/harness-debugging/SKILL.md +10 -0
  18. package/dist/agents/skills/claude-code/harness-dependency-health/SKILL.md +150 -0
  19. package/dist/agents/skills/claude-code/harness-dependency-health/skill.yaml +41 -0
  20. package/dist/agents/skills/claude-code/harness-execution/SKILL.md +19 -0
  21. package/dist/agents/skills/claude-code/harness-hotspot-detector/SKILL.md +135 -0
  22. package/dist/agents/skills/claude-code/harness-hotspot-detector/skill.yaml +44 -0
  23. package/dist/agents/skills/claude-code/harness-impact-analysis/SKILL.md +139 -0
  24. package/dist/agents/skills/claude-code/harness-impact-analysis/skill.yaml +44 -0
  25. package/dist/agents/skills/claude-code/harness-knowledge-mapper/SKILL.md +154 -0
  26. package/dist/agents/skills/claude-code/harness-knowledge-mapper/skill.yaml +49 -0
  27. package/dist/agents/skills/claude-code/harness-onboarding/SKILL.md +10 -0
  28. package/dist/agents/skills/claude-code/harness-parallel-agents/SKILL.md +9 -0
  29. package/dist/agents/skills/claude-code/harness-planning/SKILL.md +9 -0
  30. package/dist/agents/skills/claude-code/harness-pre-commit-review/SKILL.md +6 -0
  31. package/dist/agents/skills/claude-code/harness-refactoring/SKILL.md +19 -0
  32. package/dist/agents/skills/claude-code/harness-tdd/SKILL.md +10 -0
  33. package/dist/agents/skills/claude-code/harness-test-advisor/SKILL.md +131 -0
  34. package/dist/agents/skills/claude-code/harness-test-advisor/skill.yaml +44 -0
  35. package/dist/agents/skills/claude-code/initialize-harness-project/SKILL.md +10 -0
  36. package/dist/agents/skills/claude-code/validate-context-engineering/SKILL.md +9 -0
  37. package/dist/agents/skills/gemini-cli/harness-dependency-health/SKILL.md +150 -0
  38. package/dist/agents/skills/gemini-cli/harness-dependency-health/skill.yaml +41 -0
  39. package/dist/agents/skills/gemini-cli/harness-hotspot-detector/SKILL.md +135 -0
  40. package/dist/agents/skills/gemini-cli/harness-hotspot-detector/skill.yaml +44 -0
  41. package/dist/agents/skills/gemini-cli/harness-impact-analysis/SKILL.md +139 -0
  42. package/dist/agents/skills/gemini-cli/harness-impact-analysis/skill.yaml +44 -0
  43. package/dist/agents/skills/gemini-cli/harness-knowledge-mapper/SKILL.md +154 -0
  44. package/dist/agents/skills/gemini-cli/harness-knowledge-mapper/skill.yaml +49 -0
  45. package/dist/agents/skills/gemini-cli/harness-test-advisor/SKILL.md +131 -0
  46. package/dist/agents/skills/gemini-cli/harness-test-advisor/skill.yaml +44 -0
  47. package/dist/agents/skills/tests/platform-parity.test.ts +131 -0
  48. package/dist/agents/skills/tests/schema.ts +2 -0
  49. package/dist/bin/harness.js +2 -2
  50. package/dist/{chunk-EFZOLZFB.js → chunk-ACMDUQJG.js} +4 -2
  51. package/dist/{chunk-APYEWOCR.js → chunk-VS4OTOKZ.js} +1393 -350
  52. package/dist/{create-skill-4GKJZB5R.js → create-skill-NZDLMMR6.js} +1 -1
  53. package/dist/index.d.ts +265 -143
  54. package/dist/index.js +30 -4
  55. package/package.json +3 -2
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createCreateSkillCommand,
3
3
  generateSkillFiles
4
- } from "./chunk-EFZOLZFB.js";
4
+ } from "./chunk-ACMDUQJG.js";
5
5
  export {
6
6
  createCreateSkillCommand,
7
7
  generateSkillFiles
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Command } from 'commander';
2
+ import { ContextQLResult, IngestResult } from '@harness-engineering/graph';
2
3
  import { Result } from '@harness-engineering/core';
3
4
  import { z } from 'zod';
4
5
 
@@ -18,6 +19,37 @@ interface PreambleOptions {
18
19
  }
19
20
  declare function buildPreamble(options: PreambleOptions): string;
20
21
 
22
+ declare function runScan(projectPath: string): Promise<{
23
+ nodeCount: number;
24
+ edgeCount: number;
25
+ durationMs: number;
26
+ }>;
27
+
28
+ declare function runQuery(projectPath: string, rootNodeId: string, opts: {
29
+ depth?: number;
30
+ types?: string;
31
+ edges?: string;
32
+ bidirectional?: boolean;
33
+ }): Promise<ContextQLResult>;
34
+
35
+ declare function runIngest(projectPath: string, source: string, opts?: {
36
+ full?: boolean;
37
+ all?: boolean;
38
+ }): Promise<IngestResult>;
39
+
40
+ interface GraphStatusResult {
41
+ status: string;
42
+ message?: string;
43
+ nodeCount?: number;
44
+ edgeCount?: number;
45
+ nodesByType?: Record<string, number>;
46
+ lastScanTimestamp?: string;
47
+ connectorSyncStatus?: Record<string, string>;
48
+ }
49
+ declare function runGraphStatus(projectPath: string): Promise<GraphStatusResult>;
50
+
51
+ declare function runGraphExport(projectPath: string, format: string): Promise<string>;
52
+
21
53
  /**
22
54
  * CLI Exit Codes
23
55
  */
@@ -91,6 +123,7 @@ type Platform = 'claude-code' | 'gemini-cli';
91
123
  interface GenerateOptions {
92
124
  platforms: Platform[];
93
125
  global: boolean;
126
+ includeGlobal: boolean;
94
127
  output?: string;
95
128
  skillsDir: string;
96
129
  dryRun: boolean;
@@ -107,6 +140,11 @@ interface GenerateResult {
107
140
  }
108
141
  declare function generateSlashCommands(opts: GenerateOptions): GenerateResult[];
109
142
 
143
+ interface SkillSource {
144
+ dir: string;
145
+ source: 'project' | 'global';
146
+ }
147
+
110
148
  declare const OutputMode: {
111
149
  readonly JSON: "json";
112
150
  readonly TEXT: "text";
@@ -431,151 +469,153 @@ declare class TemplateEngine {
431
469
  private mergeFileLists;
432
470
  }
433
471
 
434
- declare const PersonaSchema: z.ZodObject<{
435
- version: z.ZodLiteral<1>;
436
- name: z.ZodString;
437
- description: z.ZodString;
438
- role: z.ZodString;
439
- skills: z.ZodArray<z.ZodString, "many">;
440
- commands: z.ZodArray<z.ZodString, "many">;
441
- triggers: z.ZodArray<z.ZodDiscriminatedUnion<"event", [z.ZodObject<{
442
- event: z.ZodLiteral<"on_pr">;
443
- conditions: z.ZodOptional<z.ZodObject<{
444
- paths: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
445
- }, "strip", z.ZodTypeAny, {
446
- paths?: string[] | undefined;
447
- }, {
448
- paths?: string[] | undefined;
449
- }>>;
450
- }, "strip", z.ZodTypeAny, {
451
- event: "on_pr";
452
- conditions?: {
453
- paths?: string[] | undefined;
454
- } | undefined;
455
- }, {
456
- event: "on_pr";
457
- conditions?: {
458
- paths?: string[] | undefined;
459
- } | undefined;
460
- }>, z.ZodObject<{
461
- event: z.ZodLiteral<"on_commit">;
462
- conditions: z.ZodOptional<z.ZodObject<{
463
- branches: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
464
- }, "strip", z.ZodTypeAny, {
465
- branches?: string[] | undefined;
466
- }, {
467
- branches?: string[] | undefined;
468
- }>>;
469
- }, "strip", z.ZodTypeAny, {
470
- event: "on_commit";
471
- conditions?: {
472
- branches?: string[] | undefined;
473
- } | undefined;
474
- }, {
475
- event: "on_commit";
476
- conditions?: {
477
- branches?: string[] | undefined;
478
- } | undefined;
479
- }>, z.ZodObject<{
480
- event: z.ZodLiteral<"scheduled">;
481
- cron: z.ZodString;
482
- }, "strip", z.ZodTypeAny, {
483
- event: "scheduled";
484
- cron: string;
485
- }, {
486
- event: "scheduled";
487
- cron: string;
488
- }>]>, "many">;
489
- config: z.ZodDefault<z.ZodObject<{
490
- severity: z.ZodDefault<z.ZodEnum<["error", "warning"]>>;
491
- autoFix: z.ZodDefault<z.ZodBoolean>;
492
- timeout: z.ZodDefault<z.ZodNumber>;
472
+ declare const TriggerContextSchema: z.ZodDefault<z.ZodEnum<["always", "on_pr", "on_commit", "on_review", "scheduled", "manual", "on_plan_approved"]>>;
473
+ type TriggerContext = z.infer<typeof TriggerContextSchema>;
474
+ declare const CommandStepSchema: z.ZodObject<{
475
+ command: z.ZodString;
476
+ when: z.ZodDefault<z.ZodEnum<["always", "on_pr", "on_commit", "on_review", "scheduled", "manual", "on_plan_approved"]>>;
477
+ }, "strip", z.ZodTypeAny, {
478
+ command: string;
479
+ when: "always" | "on_pr" | "on_commit" | "on_review" | "scheduled" | "manual" | "on_plan_approved";
480
+ }, {
481
+ command: string;
482
+ when?: "always" | "on_pr" | "on_commit" | "on_review" | "scheduled" | "manual" | "on_plan_approved" | undefined;
483
+ }>;
484
+ declare const SkillStepSchema: z.ZodObject<{
485
+ skill: z.ZodString;
486
+ when: z.ZodDefault<z.ZodEnum<["always", "on_pr", "on_commit", "on_review", "scheduled", "manual", "on_plan_approved"]>>;
487
+ output: z.ZodDefault<z.ZodEnum<["inline", "artifact", "auto"]>>;
488
+ }, "strip", z.ZodTypeAny, {
489
+ when: "always" | "on_pr" | "on_commit" | "on_review" | "scheduled" | "manual" | "on_plan_approved";
490
+ skill: string;
491
+ output: "inline" | "artifact" | "auto";
492
+ }, {
493
+ skill: string;
494
+ when?: "always" | "on_pr" | "on_commit" | "on_review" | "scheduled" | "manual" | "on_plan_approved" | undefined;
495
+ output?: "inline" | "artifact" | "auto" | undefined;
496
+ }>;
497
+ declare const StepSchema: z.ZodUnion<[z.ZodObject<{
498
+ command: z.ZodString;
499
+ when: z.ZodDefault<z.ZodEnum<["always", "on_pr", "on_commit", "on_review", "scheduled", "manual", "on_plan_approved"]>>;
500
+ }, "strip", z.ZodTypeAny, {
501
+ command: string;
502
+ when: "always" | "on_pr" | "on_commit" | "on_review" | "scheduled" | "manual" | "on_plan_approved";
503
+ }, {
504
+ command: string;
505
+ when?: "always" | "on_pr" | "on_commit" | "on_review" | "scheduled" | "manual" | "on_plan_approved" | undefined;
506
+ }>, z.ZodObject<{
507
+ skill: z.ZodString;
508
+ when: z.ZodDefault<z.ZodEnum<["always", "on_pr", "on_commit", "on_review", "scheduled", "manual", "on_plan_approved"]>>;
509
+ output: z.ZodDefault<z.ZodEnum<["inline", "artifact", "auto"]>>;
510
+ }, "strip", z.ZodTypeAny, {
511
+ when: "always" | "on_pr" | "on_commit" | "on_review" | "scheduled" | "manual" | "on_plan_approved";
512
+ skill: string;
513
+ output: "inline" | "artifact" | "auto";
514
+ }, {
515
+ skill: string;
516
+ when?: "always" | "on_pr" | "on_commit" | "on_review" | "scheduled" | "manual" | "on_plan_approved" | undefined;
517
+ output?: "inline" | "artifact" | "auto" | undefined;
518
+ }>]>;
519
+ type CommandStep = z.infer<typeof CommandStepSchema>;
520
+ type SkillStep = z.infer<typeof SkillStepSchema>;
521
+ type Step = z.infer<typeof StepSchema>;
522
+ declare const PersonaTriggerSchema: z.ZodDiscriminatedUnion<"event", [z.ZodObject<{
523
+ event: z.ZodLiteral<"on_pr">;
524
+ conditions: z.ZodOptional<z.ZodObject<{
525
+ paths: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
526
+ min_files: z.ZodOptional<z.ZodNumber>;
493
527
  }, "strip", z.ZodTypeAny, {
494
- timeout: number;
495
- autoFix: boolean;
496
- severity: "error" | "warning";
528
+ paths?: string[] | undefined;
529
+ min_files?: number | undefined;
497
530
  }, {
498
- timeout?: number | undefined;
499
- autoFix?: boolean | undefined;
500
- severity?: "error" | "warning" | undefined;
531
+ paths?: string[] | undefined;
532
+ min_files?: number | undefined;
501
533
  }>>;
502
- outputs: z.ZodDefault<z.ZodObject<{
503
- 'agents-md': z.ZodDefault<z.ZodBoolean>;
504
- 'ci-workflow': z.ZodDefault<z.ZodBoolean>;
505
- 'runtime-config': z.ZodDefault<z.ZodBoolean>;
534
+ }, "strip", z.ZodTypeAny, {
535
+ event: "on_pr";
536
+ conditions?: {
537
+ paths?: string[] | undefined;
538
+ min_files?: number | undefined;
539
+ } | undefined;
540
+ }, {
541
+ event: "on_pr";
542
+ conditions?: {
543
+ paths?: string[] | undefined;
544
+ min_files?: number | undefined;
545
+ } | undefined;
546
+ }>, z.ZodObject<{
547
+ event: z.ZodLiteral<"on_commit">;
548
+ conditions: z.ZodOptional<z.ZodObject<{
549
+ branches: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
506
550
  }, "strip", z.ZodTypeAny, {
507
- 'agents-md': boolean;
508
- 'ci-workflow': boolean;
509
- 'runtime-config': boolean;
551
+ branches?: string[] | undefined;
510
552
  }, {
511
- 'agents-md'?: boolean | undefined;
512
- 'ci-workflow'?: boolean | undefined;
513
- 'runtime-config'?: boolean | undefined;
553
+ branches?: string[] | undefined;
514
554
  }>>;
515
555
  }, "strip", z.ZodTypeAny, {
516
- name: string;
517
- skills: string[];
518
- version: 1;
519
- description: string;
520
- role: string;
521
- commands: string[];
522
- triggers: ({
523
- event: "on_pr";
524
- conditions?: {
525
- paths?: string[] | undefined;
526
- } | undefined;
527
- } | {
528
- event: "on_commit";
529
- conditions?: {
530
- branches?: string[] | undefined;
531
- } | undefined;
532
- } | {
533
- event: "scheduled";
534
- cron: string;
535
- })[];
536
- config: {
537
- timeout: number;
538
- autoFix: boolean;
539
- severity: "error" | "warning";
540
- };
541
- outputs: {
542
- 'agents-md': boolean;
543
- 'ci-workflow': boolean;
544
- 'runtime-config': boolean;
545
- };
556
+ event: "on_commit";
557
+ conditions?: {
558
+ branches?: string[] | undefined;
559
+ } | undefined;
560
+ }, {
561
+ event: "on_commit";
562
+ conditions?: {
563
+ branches?: string[] | undefined;
564
+ } | undefined;
565
+ }>, z.ZodObject<{
566
+ event: z.ZodLiteral<"scheduled">;
567
+ cron: z.ZodString;
568
+ }, "strip", z.ZodTypeAny, {
569
+ event: "scheduled";
570
+ cron: string;
571
+ }, {
572
+ event: "scheduled";
573
+ cron: string;
574
+ }>, z.ZodObject<{
575
+ event: z.ZodLiteral<"manual">;
576
+ }, "strip", z.ZodTypeAny, {
577
+ event: "manual";
578
+ }, {
579
+ event: "manual";
580
+ }>]>;
581
+ declare const PersonaConfigSchema: z.ZodObject<{
582
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning"]>>;
583
+ autoFix: z.ZodDefault<z.ZodBoolean>;
584
+ timeout: z.ZodDefault<z.ZodNumber>;
585
+ }, "strip", z.ZodTypeAny, {
586
+ timeout: number;
587
+ autoFix: boolean;
588
+ severity: "error" | "warning";
589
+ }, {
590
+ timeout?: number | undefined;
591
+ autoFix?: boolean | undefined;
592
+ severity?: "error" | "warning" | undefined;
593
+ }>;
594
+ declare const PersonaOutputsSchema: z.ZodObject<{
595
+ 'agents-md': z.ZodDefault<z.ZodBoolean>;
596
+ 'ci-workflow': z.ZodDefault<z.ZodBoolean>;
597
+ 'runtime-config': z.ZodDefault<z.ZodBoolean>;
598
+ }, "strip", z.ZodTypeAny, {
599
+ 'agents-md': boolean;
600
+ 'ci-workflow': boolean;
601
+ 'runtime-config': boolean;
546
602
  }, {
603
+ 'agents-md'?: boolean | undefined;
604
+ 'ci-workflow'?: boolean | undefined;
605
+ 'runtime-config'?: boolean | undefined;
606
+ }>;
607
+ interface Persona {
608
+ version: 1 | 2;
547
609
  name: string;
548
- skills: string[];
549
- version: 1;
550
610
  description: string;
551
611
  role: string;
552
- commands: string[];
553
- triggers: ({
554
- event: "on_pr";
555
- conditions?: {
556
- paths?: string[] | undefined;
557
- } | undefined;
558
- } | {
559
- event: "on_commit";
560
- conditions?: {
561
- branches?: string[] | undefined;
562
- } | undefined;
563
- } | {
564
- event: "scheduled";
565
- cron: string;
566
- })[];
567
- config?: {
568
- timeout?: number | undefined;
569
- autoFix?: boolean | undefined;
570
- severity?: "error" | "warning" | undefined;
571
- } | undefined;
572
- outputs?: {
573
- 'agents-md'?: boolean | undefined;
574
- 'ci-workflow'?: boolean | undefined;
575
- 'runtime-config'?: boolean | undefined;
576
- } | undefined;
577
- }>;
578
- type Persona = z.infer<typeof PersonaSchema>;
612
+ skills: string[];
613
+ steps: Step[];
614
+ commands?: string[];
615
+ triggers: z.infer<typeof PersonaTriggerSchema>[];
616
+ config: z.infer<typeof PersonaConfigSchema>;
617
+ outputs: z.infer<typeof PersonaOutputsSchema>;
618
+ }
579
619
 
580
620
  interface PersonaMetadata {
581
621
  name: string;
@@ -591,21 +631,103 @@ declare function generateAgentsMd(persona: Persona): Result<string, Error>;
591
631
 
592
632
  declare function generateCIWorkflow(persona: Persona, platform: 'github' | 'gitlab'): Result<string, Error>;
593
633
 
634
+ interface HandoffContext {
635
+ fromSkill: string;
636
+ summary: string;
637
+ pending: string[];
638
+ planPath?: string;
639
+ }
640
+ interface TriggerDetectionResult {
641
+ trigger: TriggerContext;
642
+ handoff?: HandoffContext;
643
+ }
644
+ /**
645
+ * Detect the appropriate trigger context by inspecting project state.
646
+ * Returns `on_plan_approved` when a planning handoff with pending tasks exists.
647
+ * Falls back to `manual` otherwise.
648
+ */
649
+ declare function detectTrigger(projectPath: string): TriggerDetectionResult;
650
+
651
+ interface SkillExecutionContext {
652
+ trigger: TriggerContext;
653
+ projectPath: string;
654
+ outputMode: 'inline' | 'artifact' | 'auto';
655
+ baseSha?: string;
656
+ headSha?: string;
657
+ handoff?: HandoffContext;
658
+ }
659
+ interface SkillExecutionResult {
660
+ status: 'pass' | 'fail';
661
+ output: string;
662
+ artifactPath?: string;
663
+ durationMs: number;
664
+ }
665
+ declare function executeSkill(skillName: string, context: SkillExecutionContext): Promise<SkillExecutionResult>;
666
+
667
+ interface StepReport {
668
+ name: string;
669
+ type: 'command' | 'skill';
670
+ status: 'pass' | 'fail' | 'skipped';
671
+ result?: unknown;
672
+ artifactPath?: string;
673
+ error?: string;
674
+ durationMs: number;
675
+ }
594
676
  interface PersonaRunReport {
595
677
  persona: string;
596
678
  status: 'pass' | 'fail' | 'partial';
597
- commands: Array<{
598
- name: string;
599
- status: 'pass' | 'fail' | 'skipped';
600
- result?: unknown;
601
- error?: string;
602
- durationMs: number;
603
- }>;
679
+ steps: StepReport[];
604
680
  totalDurationMs: number;
605
681
  }
606
682
  type CommandExecutor = (command: string) => Promise<Result<unknown, Error>>;
607
- declare function runPersona(persona: Persona, executor: CommandExecutor): Promise<PersonaRunReport>;
683
+ type SkillExecutor = (skillName: string, context: SkillExecutionContext) => Promise<SkillExecutionResult>;
684
+ interface StepExecutionContext {
685
+ trigger: TriggerContext | 'auto';
686
+ commandExecutor: CommandExecutor;
687
+ skillExecutor: SkillExecutor;
688
+ projectPath: string;
689
+ handoff?: HandoffContext;
690
+ }
691
+ declare function runPersona(persona: Persona, context: StepExecutionContext): Promise<PersonaRunReport>;
692
+
693
+ /**
694
+ * Commands that the persona runner is allowed to execute via shell.
695
+ * Shared between CLI agent run command and MCP handler.
696
+ */
697
+ declare const ALLOWED_PERSONA_COMMANDS: Set<string>;
698
+
699
+ interface GenerateAgentDefsOptions {
700
+ platforms: Platform[];
701
+ global: boolean;
702
+ output?: string;
703
+ dryRun: boolean;
704
+ }
705
+ interface GenerateAgentDefsResult {
706
+ platform: string;
707
+ added: string[];
708
+ updated: string[];
709
+ removed: string[];
710
+ unchanged: string[];
711
+ outputDir: string;
712
+ }
713
+ declare function generateAgentDefinitions(opts: GenerateAgentDefsOptions): GenerateAgentDefsResult[];
714
+
715
+ interface AgentDefinition {
716
+ name: string;
717
+ description: string;
718
+ tools: string[];
719
+ role: string;
720
+ skills: string[];
721
+ steps: Step[];
722
+ methodology: string;
723
+ }
724
+ declare const AGENT_DESCRIPTIONS: Record<string, string>;
725
+ declare function generateAgentDefinition(persona: Persona, skillContents: Map<string, string>): AgentDefinition;
726
+
727
+ declare function renderClaudeCodeAgent(def: AgentDefinition): string;
728
+
729
+ declare function renderGeminiAgent(def: AgentDefinition): string;
608
730
 
609
731
  declare function createProgram(): Command;
610
732
 
611
- export { CLIError, type CommandExecutor, type CreateSkillOptions, ExitCode, type GenerateResult, type HarnessConfig, OutputFormatter, OutputMode, type Persona, type PersonaMetadata, type PersonaRunReport, type RenderedFiles, type TemplateContext, TemplateEngine, buildPreamble, createProgram, findConfigFile, generateAgentsMd, generateCIWorkflow, generateRuntime, generateSkillFiles, generateSlashCommands, handleError, listPersonas, loadConfig, loadPersona, logger, resolveConfig, runCheckPhaseGate, runCrossCheck, runPersona };
733
+ export { AGENT_DESCRIPTIONS, ALLOWED_PERSONA_COMMANDS, type AgentDefinition, CLIError, type CommandExecutor, type CommandStep, type CreateSkillOptions, ExitCode, type GenerateAgentDefsOptions, type GenerateAgentDefsResult, type GenerateResult, type HandoffContext, type HarnessConfig, OutputFormatter, OutputMode, type Persona, type PersonaMetadata, type PersonaRunReport, type RenderedFiles, type SkillExecutionContext, type SkillExecutionResult, type SkillExecutor, type SkillSource, type SkillStep, type Step, type StepExecutionContext, type StepReport, type TemplateContext, TemplateEngine, type TriggerContext, type TriggerDetectionResult, buildPreamble, createProgram, detectTrigger, executeSkill, findConfigFile, generateAgentDefinition, generateAgentDefinitions, generateAgentsMd, generateCIWorkflow, generateRuntime, generateSkillFiles, generateSlashCommands, handleError, listPersonas, loadConfig, loadPersona, logger, renderClaudeCodeAgent, renderGeminiAgent, resolveConfig, runCheckPhaseGate, runCrossCheck, runGraphExport, runGraphStatus, runIngest, runPersona, runQuery, runScan };
package/dist/index.js CHANGED
@@ -1,10 +1,16 @@
1
1
  import {
2
+ AGENT_DESCRIPTIONS,
3
+ ALLOWED_PERSONA_COMMANDS,
2
4
  OutputFormatter,
3
5
  OutputMode,
4
6
  TemplateEngine,
5
7
  buildPreamble,
6
8
  createProgram,
9
+ detectTrigger,
10
+ executeSkill,
7
11
  findConfigFile,
12
+ generateAgentDefinition,
13
+ generateAgentDefinitions,
8
14
  generateAgentsMd,
9
15
  generateCIWorkflow,
10
16
  generateRuntime,
@@ -12,10 +18,17 @@ import {
12
18
  listPersonas,
13
19
  loadConfig,
14
20
  loadPersona,
21
+ renderClaudeCodeAgent,
22
+ renderGeminiAgent,
15
23
  resolveConfig,
16
24
  runCheckPhaseGate,
17
- runPersona
18
- } from "./chunk-APYEWOCR.js";
25
+ runGraphExport,
26
+ runGraphStatus,
27
+ runIngest,
28
+ runPersona,
29
+ runQuery,
30
+ runScan
31
+ } from "./chunk-VS4OTOKZ.js";
19
32
  import {
20
33
  runCrossCheck
21
34
  } from "./chunk-3U5VZYR7.js";
@@ -25,8 +38,10 @@ import {
25
38
  generateSkillFiles,
26
39
  handleError,
27
40
  logger
28
- } from "./chunk-EFZOLZFB.js";
41
+ } from "./chunk-ACMDUQJG.js";
29
42
  export {
43
+ AGENT_DESCRIPTIONS,
44
+ ALLOWED_PERSONA_COMMANDS,
30
45
  CLIError,
31
46
  ExitCode,
32
47
  OutputFormatter,
@@ -34,7 +49,11 @@ export {
34
49
  TemplateEngine,
35
50
  buildPreamble,
36
51
  createProgram,
52
+ detectTrigger,
53
+ executeSkill,
37
54
  findConfigFile,
55
+ generateAgentDefinition,
56
+ generateAgentDefinitions,
38
57
  generateAgentsMd,
39
58
  generateCIWorkflow,
40
59
  generateRuntime,
@@ -45,8 +64,15 @@ export {
45
64
  loadConfig,
46
65
  loadPersona,
47
66
  logger,
67
+ renderClaudeCodeAgent,
68
+ renderGeminiAgent,
48
69
  resolveConfig,
49
70
  runCheckPhaseGate,
50
71
  runCrossCheck,
51
- runPersona
72
+ runGraphExport,
73
+ runGraphStatus,
74
+ runIngest,
75
+ runPersona,
76
+ runQuery,
77
+ runScan
52
78
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harness-engineering/cli",
3
- "version": "1.3.0",
3
+ "version": "1.6.0",
4
4
  "description": "CLI for Harness Engineering toolkit",
5
5
  "type": "module",
6
6
  "bin": {
@@ -26,7 +26,8 @@
26
26
  "handlebars": "^4.7.0",
27
27
  "yaml": "^2.3.0",
28
28
  "zod": "^3.22.0",
29
- "@harness-engineering/core": "0.7.0",
29
+ "@harness-engineering/core": "0.8.0",
30
+ "@harness-engineering/graph": "0.2.0",
30
31
  "@harness-engineering/linter-gen": "0.1.0"
31
32
  },
32
33
  "devDependencies": {