@harness-engineering/cli 1.4.0 → 1.6.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/architecture-enforcer.yaml +1 -0
- package/dist/agents/personas/code-reviewer.yaml +43 -0
- package/dist/agents/personas/codebase-health-analyst.yaml +32 -0
- package/dist/agents/personas/documentation-maintainer.yaml +2 -0
- package/dist/agents/personas/entropy-cleaner.yaml +3 -0
- package/dist/agents/personas/graph-maintainer.yaml +27 -0
- package/dist/agents/personas/parallel-coordinator.yaml +29 -0
- package/dist/agents/personas/performance-guardian.yaml +26 -0
- package/dist/agents/personas/security-reviewer.yaml +35 -0
- package/dist/agents/personas/task-executor.yaml +41 -0
- package/dist/agents/skills/README.md +8 -0
- package/dist/agents/skills/claude-code/add-harness-component/SKILL.md +10 -0
- package/dist/agents/skills/claude-code/align-documentation/SKILL.md +19 -0
- package/dist/agents/skills/claude-code/cleanup-dead-code/SKILL.md +19 -0
- package/dist/agents/skills/claude-code/detect-doc-drift/SKILL.md +8 -0
- package/dist/agents/skills/claude-code/enforce-architecture/SKILL.md +9 -0
- package/dist/agents/skills/claude-code/harness-architecture-advisor/SKILL.md +9 -0
- package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +494 -0
- package/dist/agents/skills/claude-code/harness-autopilot/skill.yaml +52 -0
- package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +25 -0
- package/dist/agents/skills/claude-code/harness-debugging/SKILL.md +10 -0
- package/dist/agents/skills/claude-code/harness-dependency-health/SKILL.md +150 -0
- package/dist/agents/skills/claude-code/harness-dependency-health/skill.yaml +41 -0
- package/dist/agents/skills/claude-code/harness-execution/SKILL.md +19 -0
- package/dist/agents/skills/claude-code/harness-hotspot-detector/SKILL.md +135 -0
- package/dist/agents/skills/claude-code/harness-hotspot-detector/skill.yaml +44 -0
- package/dist/agents/skills/claude-code/harness-impact-analysis/SKILL.md +139 -0
- package/dist/agents/skills/claude-code/harness-impact-analysis/skill.yaml +44 -0
- package/dist/agents/skills/claude-code/harness-integrity/SKILL.md +20 -6
- package/dist/agents/skills/claude-code/harness-knowledge-mapper/SKILL.md +154 -0
- package/dist/agents/skills/claude-code/harness-knowledge-mapper/skill.yaml +49 -0
- package/dist/agents/skills/claude-code/harness-onboarding/SKILL.md +10 -0
- package/dist/agents/skills/claude-code/harness-parallel-agents/SKILL.md +9 -0
- package/dist/agents/skills/claude-code/harness-perf/SKILL.md +231 -0
- package/dist/agents/skills/claude-code/harness-perf/skill.yaml +47 -0
- package/dist/agents/skills/claude-code/harness-perf-tdd/SKILL.md +236 -0
- package/dist/agents/skills/claude-code/harness-perf-tdd/skill.yaml +47 -0
- package/dist/agents/skills/claude-code/harness-planning/SKILL.md +9 -0
- package/dist/agents/skills/claude-code/harness-pre-commit-review/SKILL.md +33 -2
- package/dist/agents/skills/claude-code/harness-refactoring/SKILL.md +19 -0
- package/dist/agents/skills/claude-code/harness-release-readiness/SKILL.md +657 -0
- package/dist/agents/skills/claude-code/harness-release-readiness/skill.yaml +57 -0
- package/dist/agents/skills/claude-code/harness-security-review/SKILL.md +206 -0
- package/dist/agents/skills/claude-code/harness-security-review/skill.yaml +50 -0
- package/dist/agents/skills/claude-code/harness-security-scan/SKILL.md +102 -0
- package/dist/agents/skills/claude-code/harness-security-scan/skill.yaml +41 -0
- package/dist/agents/skills/claude-code/harness-state-management/SKILL.md +22 -8
- package/dist/agents/skills/claude-code/harness-tdd/SKILL.md +10 -0
- package/dist/agents/skills/claude-code/harness-test-advisor/SKILL.md +131 -0
- package/dist/agents/skills/claude-code/harness-test-advisor/skill.yaml +44 -0
- package/dist/agents/skills/claude-code/initialize-harness-project/SKILL.md +10 -0
- package/dist/agents/skills/claude-code/validate-context-engineering/SKILL.md +9 -0
- package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +494 -0
- package/dist/agents/skills/gemini-cli/harness-autopilot/skill.yaml +52 -0
- package/dist/agents/skills/gemini-cli/harness-dependency-health/SKILL.md +150 -0
- package/dist/agents/skills/gemini-cli/harness-dependency-health/skill.yaml +41 -0
- package/dist/agents/skills/gemini-cli/harness-hotspot-detector/SKILL.md +135 -0
- package/dist/agents/skills/gemini-cli/harness-hotspot-detector/skill.yaml +44 -0
- package/dist/agents/skills/gemini-cli/harness-impact-analysis/SKILL.md +139 -0
- package/dist/agents/skills/gemini-cli/harness-impact-analysis/skill.yaml +44 -0
- package/dist/agents/skills/gemini-cli/harness-knowledge-mapper/SKILL.md +154 -0
- package/dist/agents/skills/gemini-cli/harness-knowledge-mapper/skill.yaml +49 -0
- package/dist/agents/skills/gemini-cli/harness-perf/SKILL.md +231 -0
- package/dist/agents/skills/gemini-cli/harness-perf/skill.yaml +47 -0
- package/dist/agents/skills/gemini-cli/harness-perf-tdd/SKILL.md +236 -0
- package/dist/agents/skills/gemini-cli/harness-perf-tdd/skill.yaml +47 -0
- package/dist/agents/skills/gemini-cli/harness-release-readiness/SKILL.md +657 -0
- package/dist/agents/skills/gemini-cli/harness-release-readiness/skill.yaml +57 -0
- package/dist/agents/skills/gemini-cli/harness-security-review/skill.yaml +50 -0
- package/dist/agents/skills/gemini-cli/harness-security-scan/SKILL.md +102 -0
- package/dist/agents/skills/gemini-cli/harness-security-scan/skill.yaml +41 -0
- package/dist/agents/skills/gemini-cli/harness-test-advisor/SKILL.md +131 -0
- package/dist/agents/skills/gemini-cli/harness-test-advisor/skill.yaml +44 -0
- package/dist/agents/skills/tests/platform-parity.test.ts +131 -0
- package/dist/agents/skills/tests/schema.ts +2 -0
- package/dist/bin/harness.js +2 -2
- package/dist/{chunk-EFZOLZFB.js → chunk-ACMDUQJG.js} +4 -2
- package/dist/{chunk-C3J2HW4Y.js → chunk-O6NEKDYP.js} +2002 -487
- package/dist/{create-skill-4GKJZB5R.js → create-skill-NZDLMMR6.js} +1 -1
- package/dist/index.d.ts +265 -143
- package/dist/index.js +30 -4
- package/package.json +3 -2
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
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
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
|
-
|
|
495
|
-
|
|
496
|
-
severity: "error" | "warning";
|
|
528
|
+
paths?: string[] | undefined;
|
|
529
|
+
min_files?: number | undefined;
|
|
497
530
|
}, {
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
severity?: "error" | "warning" | undefined;
|
|
531
|
+
paths?: string[] | undefined;
|
|
532
|
+
min_files?: number | undefined;
|
|
501
533
|
}>>;
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
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
|
-
|
|
508
|
-
'ci-workflow': boolean;
|
|
509
|
-
'runtime-config': boolean;
|
|
551
|
+
branches?: string[] | undefined;
|
|
510
552
|
}, {
|
|
511
|
-
|
|
512
|
-
'ci-workflow'?: boolean | undefined;
|
|
513
|
-
'runtime-config'?: boolean | undefined;
|
|
553
|
+
branches?: string[] | undefined;
|
|
514
554
|
}>>;
|
|
515
555
|
}, "strip", z.ZodTypeAny, {
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
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
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
18
|
-
|
|
25
|
+
runGraphExport,
|
|
26
|
+
runGraphStatus,
|
|
27
|
+
runIngest,
|
|
28
|
+
runPersona,
|
|
29
|
+
runQuery,
|
|
30
|
+
runScan
|
|
31
|
+
} from "./chunk-O6NEKDYP.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-
|
|
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
|
-
|
|
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
|
+
"version": "1.6.1",
|
|
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.
|
|
29
|
+
"@harness-engineering/core": "0.8.0",
|
|
30
|
+
"@harness-engineering/graph": "0.2.1",
|
|
30
31
|
"@harness-engineering/linter-gen": "0.1.0"
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|