@harness-engineering/cli 1.9.0 → 1.11.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/enforce-architecture/SKILL.md +4 -0
- package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +7 -2
- package/dist/agents/skills/claude-code/harness-brainstorming/SKILL.md +10 -1
- package/dist/agents/skills/claude-code/harness-execution/SKILL.md +2 -2
- package/dist/agents/skills/claude-code/harness-parallel-agents/SKILL.md +105 -20
- package/dist/agents/skills/claude-code/harness-pre-commit-review/SKILL.md +37 -0
- package/dist/agents/skills/gemini-cli/enforce-architecture/SKILL.md +4 -0
- package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +7 -2
- package/dist/agents/skills/gemini-cli/harness-brainstorming/SKILL.md +10 -1
- package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +2 -2
- package/dist/agents/skills/gemini-cli/harness-parallel-agents/SKILL.md +105 -20
- package/dist/agents/skills/gemini-cli/harness-pre-commit-review/SKILL.md +37 -0
- package/dist/agents-md-ZFV6RR5J.js +8 -0
- package/dist/architecture-EXNUMH5R.js +13 -0
- package/dist/bin/harness-mcp.d.ts +1 -0
- package/dist/bin/harness-mcp.js +28 -0
- package/dist/bin/harness.js +42 -8
- package/dist/check-phase-gate-VZFOY2PO.js +12 -0
- package/dist/chunk-2NCIKJES.js +470 -0
- package/dist/chunk-2YPZKGAG.js +62 -0
- package/dist/{chunk-CGSHUJES.js → chunk-2YSQOUHO.js} +4484 -2688
- package/dist/chunk-3WGJMBKH.js +45 -0
- package/dist/{chunk-ULSRSP53.js → chunk-6N4R6FVX.js} +11 -112
- package/dist/{chunk-6JIT7CEM.js → chunk-72GHBOL2.js} +1 -1
- package/dist/chunk-BM3PWGXQ.js +14 -0
- package/dist/chunk-C2ERUR3L.js +255 -0
- package/dist/chunk-EBJQ6N4M.js +39 -0
- package/dist/chunk-GNGELAXY.js +293 -0
- package/dist/chunk-GSIVNYVJ.js +187 -0
- package/dist/chunk-HD4IBGLA.js +80 -0
- package/dist/chunk-I6JZYEGT.js +4361 -0
- package/dist/chunk-IDZNPTYD.js +16 -0
- package/dist/chunk-JSTQ3AWB.js +31 -0
- package/dist/chunk-K6XAPGML.js +27 -0
- package/dist/chunk-KET4QQZB.js +8 -0
- package/dist/chunk-L2KLU56K.js +125 -0
- package/dist/chunk-MHBMTPW7.js +29 -0
- package/dist/chunk-NC6PXVWT.js +116 -0
- package/dist/chunk-NKDM3FMH.js +52 -0
- package/dist/chunk-PA2XHK75.js +248 -0
- package/dist/chunk-Q6AB7W5Z.js +135 -0
- package/dist/chunk-QPEH2QPG.js +347 -0
- package/dist/chunk-TEFCFC4H.js +15 -0
- package/dist/chunk-TI4TGEX6.js +85 -0
- package/dist/chunk-TRAPF4IX.js +185 -0
- package/dist/chunk-VRFZWGMS.js +68 -0
- package/dist/chunk-VUCPTQ6G.js +67 -0
- package/dist/chunk-W6Y7ZW3Y.js +13 -0
- package/dist/chunk-WJZDO6OY.js +103 -0
- package/dist/chunk-WUJTCNOU.js +122 -0
- package/dist/chunk-X3MN5UQJ.js +89 -0
- package/dist/chunk-Z75JC6I2.js +189 -0
- package/dist/chunk-ZOAWBDWU.js +72 -0
- package/dist/{chunk-RTPHUDZS.js → chunk-ZWC3MN5E.js} +1944 -2779
- package/dist/ci-workflow-K5RCRNYR.js +8 -0
- package/dist/constants-5JGUXPEK.js +6 -0
- package/dist/create-skill-WPXHSLX2.js +11 -0
- package/dist/dist-D4RYGUZE.js +14 -0
- package/dist/{dist-C5PYIQPF.js → dist-JVZ2MKBC.js} +108 -6
- package/dist/dist-L7LAAQAS.js +18 -0
- package/dist/{dist-I7DB5VKB.js → dist-M6BQODWC.js} +1145 -0
- package/dist/docs-PWCUVYWU.js +12 -0
- package/dist/engine-6XUP6GAK.js +8 -0
- package/dist/entropy-4I6JEYAC.js +12 -0
- package/dist/feedback-TNIW534S.js +18 -0
- package/dist/generate-agent-definitions-MWKEA5NU.js +15 -0
- package/dist/glob-helper-5OHBUQAI.js +52 -0
- package/dist/graph-loader-KO4GJ5N2.js +8 -0
- package/dist/index.d.ts +328 -12
- package/dist/index.js +93 -34
- package/dist/loader-4FIPIFII.js +10 -0
- package/dist/mcp-MOKLYNZL.js +34 -0
- package/dist/performance-BTOJCPXU.js +24 -0
- package/dist/review-pipeline-3YTW3463.js +9 -0
- package/dist/runner-VMYLHWOC.js +6 -0
- package/dist/runtime-GO7K2PJE.js +9 -0
- package/dist/security-4P2GGFF6.js +9 -0
- package/dist/skill-executor-RG45LUO5.js +8 -0
- package/dist/templates/orchestrator/WORKFLOW.md +48 -0
- package/dist/templates/orchestrator/template.json +6 -0
- package/dist/validate-JN44D2Q7.js +12 -0
- package/dist/validate-cross-check-DB7RIFFF.js +8 -0
- package/dist/version-KFFPOQAX.js +6 -0
- package/package.json +13 -7
- package/dist/create-skill-UZOHMXRU.js +0 -8
- package/dist/validate-cross-check-VG573VZO.js +0 -7
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { ContextQLResult, IngestResult } from '@harness-engineering/graph';
|
|
3
|
-
import { Result } from '@harness-engineering/core';
|
|
3
|
+
import { Result, Violation } from '@harness-engineering/core';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
5
6
|
|
|
6
7
|
interface Phase {
|
|
7
8
|
name: string;
|
|
@@ -51,23 +52,40 @@ declare function runGraphStatus(projectPath: string): Promise<GraphStatusResult>
|
|
|
51
52
|
declare function runGraphExport(projectPath: string, format: string): Promise<string>;
|
|
52
53
|
|
|
53
54
|
/**
|
|
54
|
-
*
|
|
55
|
+
* Standard exit codes for the Harness CLI.
|
|
55
56
|
*/
|
|
56
57
|
declare const ExitCode: {
|
|
58
|
+
/** Command completed successfully */
|
|
57
59
|
readonly SUCCESS: 0;
|
|
60
|
+
/** Command failed because of a validation error (e.g. check-docs found issues) */
|
|
58
61
|
readonly VALIDATION_FAILED: 1;
|
|
62
|
+
/** Command failed because of an unexpected error or misconfiguration */
|
|
59
63
|
readonly ERROR: 2;
|
|
60
64
|
};
|
|
65
|
+
/**
|
|
66
|
+
* Type representing one of the supported exit codes.
|
|
67
|
+
*/
|
|
61
68
|
type ExitCodeType = (typeof ExitCode)[keyof typeof ExitCode];
|
|
62
69
|
/**
|
|
63
|
-
*
|
|
70
|
+
* Custom error class for CLI-specific failures.
|
|
71
|
+
* Includes an exit code that should be used when terminating the process.
|
|
64
72
|
*/
|
|
65
73
|
declare class CLIError extends Error {
|
|
74
|
+
/** The exit code associated with this error */
|
|
66
75
|
readonly exitCode: ExitCodeType;
|
|
76
|
+
/**
|
|
77
|
+
* Creates a new CLIError.
|
|
78
|
+
*
|
|
79
|
+
* @param message - Human-readable error message.
|
|
80
|
+
* @param exitCode - Exit code to use when process terminates. Defaults to ExitCode.ERROR.
|
|
81
|
+
*/
|
|
67
82
|
constructor(message: string, exitCode?: ExitCodeType);
|
|
68
83
|
}
|
|
69
84
|
/**
|
|
70
|
-
*
|
|
85
|
+
* Handles an error by logging it to stderr and exiting the process with the appropriate code.
|
|
86
|
+
*
|
|
87
|
+
* @param error - The error to handle.
|
|
88
|
+
* @throws Never returns, as it terminates the process.
|
|
71
89
|
*/
|
|
72
90
|
declare function handleError(error: unknown): never;
|
|
73
91
|
|
|
@@ -142,59 +160,138 @@ declare function generateSlashCommands(opts: GenerateOptions): GenerateResult[];
|
|
|
142
160
|
|
|
143
161
|
interface SkillSource {
|
|
144
162
|
dir: string;
|
|
145
|
-
source: 'project' | 'global';
|
|
163
|
+
source: 'project' | 'community' | 'global';
|
|
146
164
|
}
|
|
147
165
|
|
|
166
|
+
/**
|
|
167
|
+
* Supported output modes for the CLI.
|
|
168
|
+
*/
|
|
148
169
|
declare const OutputMode: {
|
|
170
|
+
/** Output as formatted JSON */
|
|
149
171
|
readonly JSON: "json";
|
|
172
|
+
/** Output as human-readable text */
|
|
150
173
|
readonly TEXT: "text";
|
|
174
|
+
/** Minimal output, only errors and successes */
|
|
151
175
|
readonly QUIET: "quiet";
|
|
176
|
+
/** Full output with detailed context and suggestions */
|
|
152
177
|
readonly VERBOSE: "verbose";
|
|
153
178
|
};
|
|
179
|
+
/**
|
|
180
|
+
* Type representing one of the supported output modes.
|
|
181
|
+
*/
|
|
154
182
|
type OutputModeType = (typeof OutputMode)[keyof typeof OutputMode];
|
|
183
|
+
/**
|
|
184
|
+
* Represents a single issue discovered during validation.
|
|
185
|
+
*/
|
|
155
186
|
interface ValidationIssue {
|
|
187
|
+
/** The file where the issue was found */
|
|
156
188
|
file?: string;
|
|
189
|
+
/** A human-readable description of the issue */
|
|
157
190
|
message: string;
|
|
191
|
+
/** The line number where the issue occurs */
|
|
158
192
|
line?: number;
|
|
193
|
+
/** A suggested fix or next step */
|
|
159
194
|
suggestion?: string;
|
|
160
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* The result of a validation operation.
|
|
198
|
+
*/
|
|
161
199
|
interface ValidationResult {
|
|
200
|
+
/** Whether the validation passed overall */
|
|
162
201
|
valid: boolean;
|
|
202
|
+
/** A list of issues found during validation */
|
|
163
203
|
issues: ValidationIssue[];
|
|
164
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* Formats data and results for CLI output based on the selected mode.
|
|
207
|
+
*/
|
|
165
208
|
declare class OutputFormatter {
|
|
166
209
|
private mode;
|
|
210
|
+
/**
|
|
211
|
+
* Creates a new OutputFormatter.
|
|
212
|
+
*
|
|
213
|
+
* @param mode - The output mode to use. Defaults to TEXT.
|
|
214
|
+
*/
|
|
167
215
|
constructor(mode?: OutputModeType);
|
|
168
216
|
/**
|
|
169
|
-
*
|
|
217
|
+
* Formats raw data for output.
|
|
218
|
+
*
|
|
219
|
+
* @param data - The data to format.
|
|
220
|
+
* @returns A string representation of the data based on the current mode.
|
|
170
221
|
*/
|
|
171
222
|
format(data: unknown): string;
|
|
172
223
|
/**
|
|
173
|
-
*
|
|
224
|
+
* Formats a validation result into a user-friendly string.
|
|
225
|
+
*
|
|
226
|
+
* @param result - The validation result to format.
|
|
227
|
+
* @returns A formatted string containing the validation status and any issues.
|
|
174
228
|
*/
|
|
175
229
|
formatValidation(result: ValidationResult): string;
|
|
176
230
|
/**
|
|
177
|
-
*
|
|
231
|
+
* Formats a summary line with a success/failure icon and label.
|
|
232
|
+
*
|
|
233
|
+
* @param label - The name of the field to summarize.
|
|
234
|
+
* @param value - The value to display.
|
|
235
|
+
* @param success - Whether the summary represents a success or failure state.
|
|
236
|
+
* @returns A formatted summary string, or an empty string in JSON or QUIET modes.
|
|
178
237
|
*/
|
|
179
238
|
formatSummary(label: string, value: string | number, success: boolean): string;
|
|
180
239
|
}
|
|
181
240
|
|
|
241
|
+
/**
|
|
242
|
+
* Simple logger for CLI output with color-coded icons.
|
|
243
|
+
*/
|
|
182
244
|
declare const logger: {
|
|
245
|
+
/**
|
|
246
|
+
* Logs an informational message with a blue 'i' icon.
|
|
247
|
+
* @param message - The message to log.
|
|
248
|
+
*/
|
|
183
249
|
info: (message: string) => void;
|
|
250
|
+
/**
|
|
251
|
+
* Logs a success message with a green 'v' icon.
|
|
252
|
+
* @param message - The message to log.
|
|
253
|
+
*/
|
|
184
254
|
success: (message: string) => void;
|
|
255
|
+
/**
|
|
256
|
+
* Logs a warning message with a yellow '!' icon.
|
|
257
|
+
* @param message - The message to log.
|
|
258
|
+
*/
|
|
185
259
|
warn: (message: string) => void;
|
|
260
|
+
/**
|
|
261
|
+
* Logs an error message with a red 'x' icon to stderr.
|
|
262
|
+
* @param message - The message to log.
|
|
263
|
+
*/
|
|
186
264
|
error: (message: string) => void;
|
|
265
|
+
/**
|
|
266
|
+
* Logs a dimmed message.
|
|
267
|
+
* @param message - The message to log.
|
|
268
|
+
*/
|
|
187
269
|
dim: (message: string) => void;
|
|
270
|
+
/**
|
|
271
|
+
* Logs raw data as a formatted JSON string.
|
|
272
|
+
* Useful for JSON output mode.
|
|
273
|
+
* @param data - The data to log.
|
|
274
|
+
*/
|
|
188
275
|
raw: (data: unknown) => void;
|
|
189
276
|
};
|
|
190
277
|
|
|
278
|
+
/**
|
|
279
|
+
* The main Harness configuration schema.
|
|
280
|
+
*/
|
|
191
281
|
declare const HarnessConfigSchema: z.ZodObject<{
|
|
282
|
+
/** Configuration schema version */
|
|
192
283
|
version: z.ZodLiteral<1>;
|
|
284
|
+
/** Human-readable name of the project */
|
|
193
285
|
name: z.ZodOptional<z.ZodString>;
|
|
286
|
+
/** Root directory of the project, relative to the config file */
|
|
194
287
|
rootDir: z.ZodDefault<z.ZodString>;
|
|
288
|
+
/** Layered architecture definitions */
|
|
195
289
|
layers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
290
|
+
/** Human-readable name of the layer */
|
|
196
291
|
name: z.ZodString;
|
|
292
|
+
/** Glob pattern matching files in this layer */
|
|
197
293
|
pattern: z.ZodString;
|
|
294
|
+
/** Names of other layers this layer is allowed to import from */
|
|
198
295
|
allowedDependencies: z.ZodArray<z.ZodString, "many">;
|
|
199
296
|
}, "strip", z.ZodTypeAny, {
|
|
200
297
|
name: string;
|
|
@@ -205,9 +302,13 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
205
302
|
pattern: string;
|
|
206
303
|
allowedDependencies: string[];
|
|
207
304
|
}>, "many">>;
|
|
305
|
+
/** Rules for forbidden cross-module imports */
|
|
208
306
|
forbiddenImports: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
307
|
+
/** Glob pattern matching source files this rule applies to */
|
|
209
308
|
from: z.ZodString;
|
|
309
|
+
/** List of modules or patterns that are not allowed to be imported */
|
|
210
310
|
disallow: z.ZodArray<z.ZodString, "many">;
|
|
311
|
+
/** Optional custom message to display on violation */
|
|
211
312
|
message: z.ZodOptional<z.ZodString>;
|
|
212
313
|
}, "strip", z.ZodTypeAny, {
|
|
213
314
|
from: string;
|
|
@@ -218,18 +319,26 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
218
319
|
disallow: string[];
|
|
219
320
|
message?: string | undefined;
|
|
220
321
|
}>, "many">>;
|
|
322
|
+
/** Boundary enforcement settings */
|
|
221
323
|
boundaries: z.ZodOptional<z.ZodObject<{
|
|
324
|
+
/** List of globs where files MUST have a corresponding schema/definition */
|
|
222
325
|
requireSchema: z.ZodArray<z.ZodString, "many">;
|
|
223
326
|
}, "strip", z.ZodTypeAny, {
|
|
224
327
|
requireSchema: string[];
|
|
225
328
|
}, {
|
|
226
329
|
requireSchema: string[];
|
|
227
330
|
}>>;
|
|
331
|
+
/** Path to the project's knowledge map (AGENTS.md) */
|
|
228
332
|
agentsMapPath: z.ZodDefault<z.ZodString>;
|
|
333
|
+
/** Directory containing project documentation */
|
|
229
334
|
docsDir: z.ZodDefault<z.ZodString>;
|
|
335
|
+
/** Agent orchestration settings */
|
|
230
336
|
agent: z.ZodOptional<z.ZodObject<{
|
|
337
|
+
/** The execution environment for agents */
|
|
231
338
|
executor: z.ZodDefault<z.ZodEnum<["subprocess", "cloud", "noop"]>>;
|
|
339
|
+
/** Maximum execution time in milliseconds */
|
|
232
340
|
timeout: z.ZodDefault<z.ZodNumber>;
|
|
341
|
+
/** Optional list of skill IDs pre-authorized for the agent */
|
|
233
342
|
skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
234
343
|
}, "strip", z.ZodTypeAny, {
|
|
235
344
|
executor: "subprocess" | "cloud" | "noop";
|
|
@@ -240,8 +349,11 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
240
349
|
timeout?: number | undefined;
|
|
241
350
|
skills?: string[] | undefined;
|
|
242
351
|
}>>;
|
|
352
|
+
/** Drift and stale code management settings */
|
|
243
353
|
entropy: z.ZodOptional<z.ZodObject<{
|
|
354
|
+
/** Patterns to exclude from entropy analysis */
|
|
244
355
|
excludePatterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
356
|
+
/** Whether to automatically attempt to fix simple entropy issues */
|
|
245
357
|
autoFix: z.ZodDefault<z.ZodBoolean>;
|
|
246
358
|
}, "strip", z.ZodTypeAny, {
|
|
247
359
|
excludePatterns: string[];
|
|
@@ -250,38 +362,65 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
250
362
|
excludePatterns?: string[] | undefined;
|
|
251
363
|
autoFix?: boolean | undefined;
|
|
252
364
|
}>>;
|
|
365
|
+
/** Security scanning configuration */
|
|
253
366
|
security: z.ZodOptional<z.ZodObject<{
|
|
367
|
+
/** Whether security scanning is enabled */
|
|
254
368
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
369
|
+
/** Whether to fail on any security warning */
|
|
255
370
|
strict: z.ZodDefault<z.ZodBoolean>;
|
|
371
|
+
/** Rule-specific severity overrides */
|
|
256
372
|
rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["off", "error", "warning", "info"]>>>;
|
|
373
|
+
/** Patterns to exclude from security scans */
|
|
257
374
|
exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
258
375
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
376
|
+
/** Whether security scanning is enabled */
|
|
259
377
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
378
|
+
/** Whether to fail on any security warning */
|
|
260
379
|
strict: z.ZodDefault<z.ZodBoolean>;
|
|
380
|
+
/** Rule-specific severity overrides */
|
|
261
381
|
rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["off", "error", "warning", "info"]>>>;
|
|
382
|
+
/** Patterns to exclude from security scans */
|
|
262
383
|
exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
263
384
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
385
|
+
/** Whether security scanning is enabled */
|
|
264
386
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
387
|
+
/** Whether to fail on any security warning */
|
|
265
388
|
strict: z.ZodDefault<z.ZodBoolean>;
|
|
389
|
+
/** Rule-specific severity overrides */
|
|
266
390
|
rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["off", "error", "warning", "info"]>>>;
|
|
391
|
+
/** Patterns to exclude from security scans */
|
|
267
392
|
exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
268
393
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
394
|
+
/** Performance and complexity budget settings */
|
|
269
395
|
performance: z.ZodOptional<z.ZodObject<{
|
|
396
|
+
/** Complexity thresholds per module or pattern */
|
|
270
397
|
complexity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
398
|
+
/** Coupling limits between modules */
|
|
271
399
|
coupling: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
400
|
+
/** Size budget for bundles or directories */
|
|
272
401
|
sizeBudget: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
273
402
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
403
|
+
/** Complexity thresholds per module or pattern */
|
|
274
404
|
complexity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
405
|
+
/** Coupling limits between modules */
|
|
275
406
|
coupling: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
407
|
+
/** Size budget for bundles or directories */
|
|
276
408
|
sizeBudget: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
277
409
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
410
|
+
/** Complexity thresholds per module or pattern */
|
|
278
411
|
complexity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
412
|
+
/** Coupling limits between modules */
|
|
279
413
|
coupling: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
414
|
+
/** Size budget for bundles or directories */
|
|
280
415
|
sizeBudget: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
281
416
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
417
|
+
/** Project template settings (used by 'harness init') */
|
|
282
418
|
template: z.ZodOptional<z.ZodObject<{
|
|
419
|
+
/** Complexity level of the template */
|
|
283
420
|
level: z.ZodEnum<["basic", "intermediate", "advanced"]>;
|
|
421
|
+
/** Primary technology framework */
|
|
284
422
|
framework: z.ZodOptional<z.ZodString>;
|
|
423
|
+
/** Template version */
|
|
285
424
|
version: z.ZodNumber;
|
|
286
425
|
}, "strip", z.ZodTypeAny, {
|
|
287
426
|
version: number;
|
|
@@ -292,11 +431,17 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
292
431
|
level: "basic" | "intermediate" | "advanced";
|
|
293
432
|
framework?: string | undefined;
|
|
294
433
|
}>>;
|
|
434
|
+
/** Phase gate and readiness check configuration */
|
|
295
435
|
phaseGates: z.ZodOptional<z.ZodObject<{
|
|
436
|
+
/** Whether phase gate checks are enabled */
|
|
296
437
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
438
|
+
/** Severity level when a phase gate check fails */
|
|
297
439
|
severity: z.ZodDefault<z.ZodEnum<["error", "warning"]>>;
|
|
440
|
+
/** List of implementation-to-spec mappings */
|
|
298
441
|
mappings: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
442
|
+
/** Pattern for implementation files */
|
|
299
443
|
implPattern: z.ZodString;
|
|
444
|
+
/** Pattern for corresponding specification files */
|
|
300
445
|
specPattern: z.ZodString;
|
|
301
446
|
}, "strip", z.ZodTypeAny, {
|
|
302
447
|
implPattern: string;
|
|
@@ -320,10 +465,15 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
320
465
|
specPattern: string;
|
|
321
466
|
}[] | undefined;
|
|
322
467
|
}>>;
|
|
468
|
+
/** Design system consistency settings */
|
|
323
469
|
design: z.ZodOptional<z.ZodObject<{
|
|
470
|
+
/** Strictness of design system enforcement */
|
|
324
471
|
strictness: z.ZodDefault<z.ZodEnum<["strict", "standard", "permissive"]>>;
|
|
472
|
+
/** Supported target platforms */
|
|
325
473
|
platforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["web", "mobile"]>, "many">>;
|
|
474
|
+
/** Path to design tokens (e.g. JSON or CSS) */
|
|
326
475
|
tokenPath: z.ZodOptional<z.ZodString>;
|
|
476
|
+
/** Brief description of the intended aesthetic direction */
|
|
327
477
|
aestheticIntent: z.ZodOptional<z.ZodString>;
|
|
328
478
|
}, "strip", z.ZodTypeAny, {
|
|
329
479
|
strictness: "strict" | "standard" | "permissive";
|
|
@@ -336,21 +486,37 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
336
486
|
tokenPath?: string | undefined;
|
|
337
487
|
aestheticIntent?: string | undefined;
|
|
338
488
|
}>>;
|
|
489
|
+
/** Internationalization (i18n) settings */
|
|
339
490
|
i18n: z.ZodOptional<z.ZodObject<{
|
|
491
|
+
/** Whether i18n management is enabled */
|
|
340
492
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
493
|
+
/** Strictness of i18n rule enforcement */
|
|
341
494
|
strictness: z.ZodDefault<z.ZodEnum<["strict", "standard", "permissive"]>>;
|
|
495
|
+
/** The primary language used for development */
|
|
342
496
|
sourceLocale: z.ZodDefault<z.ZodString>;
|
|
497
|
+
/** List of locales that translations are required for */
|
|
343
498
|
targetLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
499
|
+
/** The i18n framework in use */
|
|
344
500
|
framework: z.ZodDefault<z.ZodEnum<["auto", "i18next", "react-intl", "vue-i18n", "flutter-intl", "apple", "android", "custom"]>>;
|
|
501
|
+
/** Storage format for translation files */
|
|
345
502
|
format: z.ZodDefault<z.ZodString>;
|
|
503
|
+
/** Syntax used for message formatting */
|
|
346
504
|
messageFormat: z.ZodDefault<z.ZodEnum<["icu", "i18next", "custom"]>>;
|
|
505
|
+
/** Convention for translation keys */
|
|
347
506
|
keyConvention: z.ZodDefault<z.ZodEnum<["dot-notation", "snake_case", "camelCase", "custom"]>>;
|
|
507
|
+
/** Mapping of locales to their file paths */
|
|
348
508
|
translationPaths: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
509
|
+
/** Platforms targeted by this configuration */
|
|
349
510
|
platforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["web", "mobile", "backend"]>, "many">>;
|
|
511
|
+
/** Industry vertical (for contextual translations) */
|
|
350
512
|
industry: z.ZodOptional<z.ZodString>;
|
|
513
|
+
/** Translation coverage requirements */
|
|
351
514
|
coverage: z.ZodOptional<z.ZodObject<{
|
|
515
|
+
/** Minimum required translation percentage */
|
|
352
516
|
minimumPercent: z.ZodDefault<z.ZodNumber>;
|
|
517
|
+
/** Whether plural forms are required for all keys */
|
|
353
518
|
requirePlurals: z.ZodDefault<z.ZodBoolean>;
|
|
519
|
+
/** Whether to detect untranslated strings in source code */
|
|
354
520
|
detectUntranslated: z.ZodDefault<z.ZodBoolean>;
|
|
355
521
|
}, "strip", z.ZodTypeAny, {
|
|
356
522
|
minimumPercent: number;
|
|
@@ -361,9 +527,13 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
361
527
|
requirePlurals?: boolean | undefined;
|
|
362
528
|
detectUntranslated?: boolean | undefined;
|
|
363
529
|
}>>;
|
|
530
|
+
/** Locale used for pseudo-localization testing */
|
|
364
531
|
pseudoLocale: z.ZodOptional<z.ZodString>;
|
|
532
|
+
/** MCP server for AI-assisted translation */
|
|
365
533
|
mcp: z.ZodOptional<z.ZodObject<{
|
|
534
|
+
/** Name or URL of the MCP server */
|
|
366
535
|
server: z.ZodString;
|
|
536
|
+
/** Project ID on the remote i18n platform */
|
|
367
537
|
projectId: z.ZodOptional<z.ZodString>;
|
|
368
538
|
}, "strip", z.ZodTypeAny, {
|
|
369
539
|
server: string;
|
|
@@ -417,10 +587,15 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
417
587
|
projectId?: string | undefined;
|
|
418
588
|
} | undefined;
|
|
419
589
|
}>>;
|
|
590
|
+
/** Code review settings */
|
|
420
591
|
review: z.ZodOptional<z.ZodObject<{
|
|
592
|
+
/** Custom model tier mappings for reviewers */
|
|
421
593
|
model_tiers: z.ZodOptional<z.ZodObject<{
|
|
594
|
+
/** Model ID to use for fast/cheap operations */
|
|
422
595
|
fast: z.ZodOptional<z.ZodString>;
|
|
596
|
+
/** Model ID to use for standard reasoning tasks */
|
|
423
597
|
standard: z.ZodOptional<z.ZodString>;
|
|
598
|
+
/** Model ID to use for complex/critical analysis */
|
|
424
599
|
strong: z.ZodOptional<z.ZodString>;
|
|
425
600
|
}, "strip", z.ZodTypeAny, {
|
|
426
601
|
standard?: string | undefined;
|
|
@@ -444,6 +619,24 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
444
619
|
strong?: string | undefined;
|
|
445
620
|
} | undefined;
|
|
446
621
|
}>>;
|
|
622
|
+
/** General architectural enforcement settings */
|
|
623
|
+
architecture: z.ZodOptional<z.ZodObject<{
|
|
624
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
625
|
+
baselinePath: z.ZodDefault<z.ZodString>;
|
|
626
|
+
thresholds: z.ZodDefault<z.ZodRecord<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>, z.ZodUnion<[z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodNumber>]>>>;
|
|
627
|
+
modules: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>, z.ZodUnion<[z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodNumber>]>>>>;
|
|
628
|
+
}, "strip", z.ZodTypeAny, {
|
|
629
|
+
thresholds: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>;
|
|
630
|
+
modules: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>>;
|
|
631
|
+
enabled: boolean;
|
|
632
|
+
baselinePath: string;
|
|
633
|
+
}, {
|
|
634
|
+
thresholds?: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>> | undefined;
|
|
635
|
+
modules?: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>> | undefined;
|
|
636
|
+
enabled?: boolean | undefined;
|
|
637
|
+
baselinePath?: string | undefined;
|
|
638
|
+
}>>;
|
|
639
|
+
/** How often (in ms) to check for CLI updates */
|
|
447
640
|
updateCheckInterval: z.ZodOptional<z.ZodNumber>;
|
|
448
641
|
}, "strip", z.ZodTypeAny, {
|
|
449
642
|
version: 1;
|
|
@@ -474,14 +667,21 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
474
667
|
autoFix: boolean;
|
|
475
668
|
} | undefined;
|
|
476
669
|
security?: z.objectOutputType<{
|
|
670
|
+
/** Whether security scanning is enabled */
|
|
477
671
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
672
|
+
/** Whether to fail on any security warning */
|
|
478
673
|
strict: z.ZodDefault<z.ZodBoolean>;
|
|
674
|
+
/** Rule-specific severity overrides */
|
|
479
675
|
rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["off", "error", "warning", "info"]>>>;
|
|
676
|
+
/** Patterns to exclude from security scans */
|
|
480
677
|
exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
481
678
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
482
679
|
performance?: z.objectOutputType<{
|
|
680
|
+
/** Complexity thresholds per module or pattern */
|
|
483
681
|
complexity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
682
|
+
/** Coupling limits between modules */
|
|
484
683
|
coupling: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
684
|
+
/** Size budget for bundles or directories */
|
|
485
685
|
sizeBudget: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
486
686
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
487
687
|
template?: {
|
|
@@ -533,6 +733,12 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
533
733
|
strong?: string | undefined;
|
|
534
734
|
} | undefined;
|
|
535
735
|
} | undefined;
|
|
736
|
+
architecture?: {
|
|
737
|
+
thresholds: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>;
|
|
738
|
+
modules: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>>;
|
|
739
|
+
enabled: boolean;
|
|
740
|
+
baselinePath: string;
|
|
741
|
+
} | undefined;
|
|
536
742
|
updateCheckInterval?: number | undefined;
|
|
537
743
|
}, {
|
|
538
744
|
version: 1;
|
|
@@ -563,14 +769,21 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
563
769
|
autoFix?: boolean | undefined;
|
|
564
770
|
} | undefined;
|
|
565
771
|
security?: z.objectInputType<{
|
|
772
|
+
/** Whether security scanning is enabled */
|
|
566
773
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
774
|
+
/** Whether to fail on any security warning */
|
|
567
775
|
strict: z.ZodDefault<z.ZodBoolean>;
|
|
776
|
+
/** Rule-specific severity overrides */
|
|
568
777
|
rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["off", "error", "warning", "info"]>>>;
|
|
778
|
+
/** Patterns to exclude from security scans */
|
|
569
779
|
exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
570
780
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
571
781
|
performance?: z.objectInputType<{
|
|
782
|
+
/** Complexity thresholds per module or pattern */
|
|
572
783
|
complexity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
784
|
+
/** Coupling limits between modules */
|
|
573
785
|
coupling: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
786
|
+
/** Size budget for bundles or directories */
|
|
574
787
|
sizeBudget: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
575
788
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
576
789
|
template?: {
|
|
@@ -622,20 +835,40 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
622
835
|
strong?: string | undefined;
|
|
623
836
|
} | undefined;
|
|
624
837
|
} | undefined;
|
|
838
|
+
architecture?: {
|
|
839
|
+
thresholds?: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>> | undefined;
|
|
840
|
+
modules?: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>> | undefined;
|
|
841
|
+
enabled?: boolean | undefined;
|
|
842
|
+
baselinePath?: string | undefined;
|
|
843
|
+
} | undefined;
|
|
625
844
|
updateCheckInterval?: number | undefined;
|
|
626
845
|
}>;
|
|
846
|
+
/**
|
|
847
|
+
* Type representing the full Harness configuration.
|
|
848
|
+
*/
|
|
627
849
|
type HarnessConfig = z.infer<typeof HarnessConfigSchema>;
|
|
628
850
|
|
|
629
851
|
/**
|
|
630
|
-
*
|
|
852
|
+
* Searches for a Harness configuration file starting from the given directory
|
|
853
|
+
* and moving up the directory tree until the root is reached.
|
|
854
|
+
*
|
|
855
|
+
* @param startDir - The directory to start searching from. Defaults to current working directory.
|
|
856
|
+
* @returns An Ok result containing the absolute path to the config file, or an Err with a CLIError if not found.
|
|
631
857
|
*/
|
|
632
858
|
declare function findConfigFile(startDir?: string): Result<string, CLIError>;
|
|
633
859
|
/**
|
|
634
|
-
*
|
|
860
|
+
* Loads and validates a Harness configuration from a JSON file.
|
|
861
|
+
*
|
|
862
|
+
* @param configPath - The path to the configuration file.
|
|
863
|
+
* @returns An Ok result with the validated HarnessConfig, or an Err with a CLIError if loading or validation fails.
|
|
635
864
|
*/
|
|
636
865
|
declare function loadConfig(configPath: string): Result<HarnessConfig, CLIError>;
|
|
637
866
|
/**
|
|
638
|
-
*
|
|
867
|
+
* Resolves the Harness configuration by either loading from a specified path
|
|
868
|
+
* or searching for the default config file in the current directory tree.
|
|
869
|
+
*
|
|
870
|
+
* @param configPath - Optional path to a specific configuration file.
|
|
871
|
+
* @returns An Ok result with the resolved configuration, or an Err with a CLIError.
|
|
639
872
|
*/
|
|
640
873
|
declare function resolveConfig(configPath?: string): Result<HarnessConfig, CLIError>;
|
|
641
874
|
|
|
@@ -987,6 +1220,89 @@ declare function renderClaudeCodeAgent(def: AgentDefinition): string;
|
|
|
987
1220
|
|
|
988
1221
|
declare function renderGeminiAgent(def: AgentDefinition): string;
|
|
989
1222
|
|
|
1223
|
+
interface ImpactPreviewOptions {
|
|
1224
|
+
detailed?: boolean;
|
|
1225
|
+
perFile?: boolean;
|
|
1226
|
+
path?: string;
|
|
1227
|
+
}
|
|
1228
|
+
declare function runImpactPreview(options: ImpactPreviewOptions): Promise<string>;
|
|
1229
|
+
|
|
1230
|
+
interface CheckArchOptions {
|
|
1231
|
+
cwd?: string;
|
|
1232
|
+
configPath?: string;
|
|
1233
|
+
updateBaseline?: boolean;
|
|
1234
|
+
json?: boolean;
|
|
1235
|
+
module?: string;
|
|
1236
|
+
}
|
|
1237
|
+
interface CheckArchResult {
|
|
1238
|
+
passed: boolean;
|
|
1239
|
+
mode: 'baseline' | 'threshold-only';
|
|
1240
|
+
totalViolations: number;
|
|
1241
|
+
newViolations: Violation[];
|
|
1242
|
+
resolvedViolations: string[];
|
|
1243
|
+
preExisting: string[];
|
|
1244
|
+
regressions: Array<{
|
|
1245
|
+
category: string;
|
|
1246
|
+
baselineValue: number;
|
|
1247
|
+
currentValue: number;
|
|
1248
|
+
delta: number;
|
|
1249
|
+
}>;
|
|
1250
|
+
thresholdViolations: Violation[];
|
|
1251
|
+
baselineUpdated?: boolean;
|
|
1252
|
+
warning?: string;
|
|
1253
|
+
}
|
|
1254
|
+
declare function runCheckArch(options: CheckArchOptions): Promise<Result<CheckArchResult, CLIError>>;
|
|
1255
|
+
|
|
1256
|
+
type ToolDefinition = {
|
|
1257
|
+
name: string;
|
|
1258
|
+
description: string;
|
|
1259
|
+
inputSchema: Record<string, unknown>;
|
|
1260
|
+
};
|
|
1261
|
+
declare function getToolDefinitions(): ToolDefinition[];
|
|
1262
|
+
declare function createHarnessServer(projectRoot?: string): Server;
|
|
1263
|
+
declare function startServer(): Promise<void>;
|
|
1264
|
+
|
|
1265
|
+
interface InstallOptions {
|
|
1266
|
+
version?: string;
|
|
1267
|
+
force?: boolean;
|
|
1268
|
+
}
|
|
1269
|
+
interface InstallResult {
|
|
1270
|
+
installed: boolean;
|
|
1271
|
+
skipped?: boolean;
|
|
1272
|
+
upgraded?: boolean;
|
|
1273
|
+
name: string;
|
|
1274
|
+
version: string;
|
|
1275
|
+
previousVersion?: string;
|
|
1276
|
+
warnings?: string[];
|
|
1277
|
+
}
|
|
1278
|
+
declare function runInstall(skillName: string, options: InstallOptions): Promise<InstallResult>;
|
|
1279
|
+
|
|
1280
|
+
interface UninstallOptions {
|
|
1281
|
+
force?: boolean;
|
|
1282
|
+
}
|
|
1283
|
+
interface UninstallResult {
|
|
1284
|
+
removed: boolean;
|
|
1285
|
+
name: string;
|
|
1286
|
+
version: string;
|
|
1287
|
+
warnings?: string[];
|
|
1288
|
+
}
|
|
1289
|
+
declare function runUninstall(skillName: string, options: UninstallOptions): Promise<UninstallResult>;
|
|
1290
|
+
|
|
1291
|
+
/**
|
|
1292
|
+
* @harness-engineering/cli
|
|
1293
|
+
*
|
|
1294
|
+
* Command-line interface for the Harness Engineering toolkit.
|
|
1295
|
+
*
|
|
1296
|
+
* This package provides a unified `harness` command with subcommands for
|
|
1297
|
+
* validation, documentation management, dependency checking, and agent
|
|
1298
|
+
* orchestration.
|
|
1299
|
+
*/
|
|
1300
|
+
|
|
1301
|
+
/**
|
|
1302
|
+
* Creates and configures the main Harness CLI program.
|
|
1303
|
+
*
|
|
1304
|
+
* @returns A Commander instance with all subcommands registered.
|
|
1305
|
+
*/
|
|
990
1306
|
declare function createProgram(): Command;
|
|
991
1307
|
|
|
992
|
-
export { AGENT_DESCRIPTIONS, ALLOWED_PERSONA_COMMANDS, type AgentDefinition, CLIError, type CommandExecutor, type CommandStep, type CreateSkillOptions, DEFAULT_TOOLS, ExitCode, GEMINI_TOOL_MAP, 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 };
|
|
1308
|
+
export { AGENT_DESCRIPTIONS, ALLOWED_PERSONA_COMMANDS, type AgentDefinition, CLIError, type CheckArchResult, type CommandExecutor, type CommandStep, type CreateSkillOptions, DEFAULT_TOOLS, ExitCode, GEMINI_TOOL_MAP, type GenerateAgentDefsOptions, type GenerateAgentDefsResult, type GenerateResult, type HandoffContext, type HarnessConfig, type InstallResult, 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, type UninstallResult, buildPreamble, createHarnessServer, createProgram, detectTrigger, executeSkill, findConfigFile, generateAgentDefinition, generateAgentDefinitions, generateAgentsMd, generateCIWorkflow, generateRuntime, generateSkillFiles, generateSlashCommands, getToolDefinitions, handleError, listPersonas, loadConfig, loadPersona, logger, renderClaudeCodeAgent, renderGeminiAgent, resolveConfig, runCheckArch, runCheckPhaseGate, runCrossCheck, runGraphExport, runGraphStatus, runImpactPreview, runIngest, runInstall, runPersona, runQuery, runScan, runUninstall, startServer };
|