agentic-forge 0.7.0 → 0.8.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 (67) hide show
  1. package/README.md +21 -81
  2. package/dist/{claude → authoring}/.claude/skills/workflow-builder/SKILL.md +3 -3
  3. package/dist/{claude → authoring}/.claude/skills/workflow-builder/references/REFERENCE.md +25 -17
  4. package/dist/{claude → authoring}/.claude/skills/workflow-builder/references/workflow-example.yaml +29 -22
  5. package/dist/checkpoints/manager.d.ts +4 -4
  6. package/dist/checkpoints/manager.js +9 -10
  7. package/dist/checkpoints/manager.js.map +1 -1
  8. package/dist/claude/.claude/skills/orchestrate/SKILL.md +2 -2
  9. package/dist/cli.js +51 -7
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/authoring-dir.d.ts +2 -0
  12. package/dist/commands/authoring-dir.js +9 -0
  13. package/dist/commands/authoring-dir.js.map +1 -0
  14. package/dist/commands/config-cmd.d.ts +1 -1
  15. package/dist/commands/config-cmd.js +2 -2
  16. package/dist/commands/config-cmd.js.map +1 -1
  17. package/dist/commands/index.d.ts +3 -1
  18. package/dist/commands/index.js +3 -1
  19. package/dist/commands/index.js.map +1 -1
  20. package/dist/commands/init.d.ts +8 -2
  21. package/dist/commands/init.js +64 -30
  22. package/dist/commands/init.js.map +1 -1
  23. package/dist/commands/paths.d.ts +2 -0
  24. package/dist/commands/paths.js +36 -0
  25. package/dist/commands/paths.js.map +1 -0
  26. package/dist/commands/resume.js +8 -2
  27. package/dist/commands/resume.js.map +1 -1
  28. package/dist/commands/run.d.ts +14 -0
  29. package/dist/commands/run.js +81 -36
  30. package/dist/commands/run.js.map +1 -1
  31. package/dist/commands/status.js +83 -22
  32. package/dist/commands/status.js.map +1 -1
  33. package/dist/commands/workflows.js +14 -12
  34. package/dist/commands/workflows.js.map +1 -1
  35. package/dist/config.d.ts +19 -2
  36. package/dist/config.js +79 -15
  37. package/dist/config.js.map +1 -1
  38. package/dist/executor.d.ts +2 -1
  39. package/dist/executor.js +19 -9
  40. package/dist/executor.js.map +1 -1
  41. package/dist/logging/logger.d.ts +3 -3
  42. package/dist/logging/logger.js +6 -8
  43. package/dist/logging/logger.js.map +1 -1
  44. package/dist/orchestrator.js +35 -16
  45. package/dist/orchestrator.js.map +1 -1
  46. package/dist/paths.d.ts +64 -0
  47. package/dist/paths.js +167 -0
  48. package/dist/paths.js.map +1 -0
  49. package/dist/progress.d.ts +5 -5
  50. package/dist/progress.js +15 -9
  51. package/dist/progress.js.map +1 -1
  52. package/dist/ralph-loop.d.ts +6 -6
  53. package/dist/ralph-loop.js +16 -16
  54. package/dist/ralph-loop.js.map +1 -1
  55. package/dist/runner.d.ts +1 -0
  56. package/dist/runner.js +5 -1
  57. package/dist/runner.js.map +1 -1
  58. package/dist/steps/base.d.ts +1 -0
  59. package/dist/steps/base.js +1 -0
  60. package/dist/steps/base.js.map +1 -1
  61. package/dist/steps/prompt-step.js +2 -1
  62. package/dist/steps/prompt-step.js.map +1 -1
  63. package/dist/steps/ralph-loop-step.js +11 -8
  64. package/dist/steps/ralph-loop-step.js.map +1 -1
  65. package/dist/types.d.ts +2 -0
  66. package/dist/workflows/plan-build-review.yaml +6 -6
  67. package/package.json +4 -1
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** Authoring-dir command handler. */
2
+ export declare function cmdAuthoringDir(): void;
@@ -0,0 +1,9 @@
1
+ /** Authoring-dir command handler. */
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
+ export function cmdAuthoringDir() {
6
+ const authoringDir = path.resolve(path.join(__dirname, "..", "authoring"));
7
+ process.stdout.write(`${authoringDir}\n`);
8
+ }
9
+ //# sourceMappingURL=authoring-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoring-dir.js","sourceRoot":"","sources":["../../src/commands/authoring-dir.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,UAAU,eAAe;IAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,IAAI,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,2 +1,2 @@
1
1
  /** Config command handler. */
2
- export declare function cmdConfig(configCommand: string, key: string, value?: string): void;
2
+ export declare function cmdConfig(configCommand: string, key: string, value?: string, scope?: "global" | "local"): void;
@@ -1,6 +1,6 @@
1
1
  /** Config command handler. */
2
2
  import { getConfigValue, setConfigValue } from "../config.js";
3
- export function cmdConfig(configCommand, key, value) {
3
+ export function cmdConfig(configCommand, key, value, scope) {
4
4
  if (configCommand === "get") {
5
5
  const result = getConfigValue(key);
6
6
  if (result === null) {
@@ -19,7 +19,7 @@ export function cmdConfig(configCommand, key, value) {
19
19
  process.stderr.write("Usage: agentic-forge config set <key> <value>\n");
20
20
  process.exit(1);
21
21
  }
22
- setConfigValue(key, value);
22
+ setConfigValue(key, value, scope);
23
23
  process.stdout.write(`Set ${key} = ${value}\n`);
24
24
  }
25
25
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"config-cmd.js","sourceRoot":"","sources":["../../src/commands/config-cmd.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,UAAU,SAAS,CAAC,aAAqB,EAAE,GAAW,EAAE,KAAc;IAC3E,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;SAAM,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"config-cmd.js","sourceRoot":"","sources":["../../src/commands/config-cmd.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,UAAU,SAAS,CACxB,aAAqB,EACrB,GAAW,EACX,KAAc,EACd,KAA0B;IAE1B,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;SAAM,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC"}
@@ -1,12 +1,14 @@
1
1
  /** Command handler exports. */
2
- export { cmdRun, discoverWorkflow, listAvailableWorkflows, resolveWorkflowPath, getBundledWorkflowsDir, getUserWorkflowsDir, getProjectWorkflowsDir, } from "./run.js";
2
+ export { CliExitError, cmdRun, discoverWorkflow, listAvailableWorkflows, resolveWorkflowPath, getBundledWorkflowsDir, getUserWorkflowsDir, getProjectWorkflowsDir, } from "./run.js";
3
3
  export { cmdResume } from "./resume.js";
4
4
  export { cmdStatus, cmdCancel, cmdList } from "./status.js";
5
5
  export { cmdInit, cmdConfigure } from "./init.js";
6
+ export { cmdPaths } from "./paths.js";
6
7
  export { cmdConfig } from "./config-cmd.js";
7
8
  export { cmdVersion, getVersion } from "./version.js";
8
9
  export { cmdUpdate } from "./update.js";
9
10
  export { cmdReleaseNotes } from "./release-notes.js";
10
11
  export { cmdSkillsDir } from "./skills-dir.js";
12
+ export { cmdAuthoringDir } from "./authoring-dir.js";
11
13
  export { cmdWorkflows } from "./workflows.js";
12
14
  export { cmdInput } from "./shortcuts.js";
@@ -1,13 +1,15 @@
1
1
  /** Command handler exports. */
2
- export { cmdRun, discoverWorkflow, listAvailableWorkflows, resolveWorkflowPath, getBundledWorkflowsDir, getUserWorkflowsDir, getProjectWorkflowsDir, } from "./run.js";
2
+ export { CliExitError, cmdRun, discoverWorkflow, listAvailableWorkflows, resolveWorkflowPath, getBundledWorkflowsDir, getUserWorkflowsDir, getProjectWorkflowsDir, } from "./run.js";
3
3
  export { cmdResume } from "./resume.js";
4
4
  export { cmdStatus, cmdCancel, cmdList } from "./status.js";
5
5
  export { cmdInit, cmdConfigure } from "./init.js";
6
+ export { cmdPaths } from "./paths.js";
6
7
  export { cmdConfig } from "./config-cmd.js";
7
8
  export { cmdVersion, getVersion } from "./version.js";
8
9
  export { cmdUpdate } from "./update.js";
9
10
  export { cmdReleaseNotes } from "./release-notes.js";
10
11
  export { cmdSkillsDir } from "./skills-dir.js";
12
+ export { cmdAuthoringDir } from "./authoring-dir.js";
11
13
  export { cmdWorkflows } from "./workflows.js";
12
14
  export { cmdInput } from "./shortcuts.js";
13
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,OAAO,EACN,MAAM,EACN,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,OAAO,EACN,YAAY,EACZ,MAAM,EACN,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,6 +1,12 @@
1
1
  /** Init and configure command handlers. */
2
- export declare function cmdInit(options: {
2
+ export interface InitOptions {
3
3
  force?: boolean;
4
4
  listOnly?: boolean;
5
- }): void;
5
+ local?: boolean;
6
+ global?: boolean;
7
+ configOnly?: boolean;
8
+ workflowsOnly?: boolean;
9
+ workflow?: string;
10
+ }
11
+ export declare function cmdInit(options: InitOptions): void;
6
12
  export declare function cmdConfigure(): void;
@@ -2,6 +2,7 @@
2
2
  import { copyFileSync, existsSync, mkdirSync, readdirSync, writeFileSync } from "node:fs";
3
3
  import path from "node:path";
4
4
  import { getDefaultConfig, loadConfig } from "../config.js";
5
+ import { getGlobalRoot } from "../paths.js";
5
6
  import { getBundledWorkflowsDir } from "./run.js";
6
7
  export function cmdInit(options) {
7
8
  const bundledDir = getBundledWorkflowsDir();
@@ -22,45 +23,75 @@ export function cmdInit(options) {
22
23
  for (const wf of bundledWorkflows) {
23
24
  process.stdout.write(` ${wf}\n`);
24
25
  }
25
- process.stdout.write("\nUse 'agentic-forge init' to copy these to agentic/workflows/\n");
26
+ process.stdout.write("\nUse 'agentic-forge init' to copy these to the global directory\n");
27
+ process.stdout.write("Use 'agentic-forge init --local' to copy to the project-local directory\n");
26
28
  return;
27
29
  }
28
- // Copy workflows to local directory
29
- const targetDir = path.join(process.cwd(), "agentic", "workflows");
30
- mkdirSync(targetDir, { recursive: true });
31
- const copied = [];
32
- const skipped = [];
33
- for (const wf of bundledWorkflows) {
34
- const targetPath = path.join(targetDir, wf);
35
- if (existsSync(targetPath) && !options.force) {
36
- skipped.push(wf);
30
+ // Determine target scope: --local flag selects project-local; default is global
31
+ const isLocal = options.local === true;
32
+ let targetDir;
33
+ if (isLocal) {
34
+ targetDir = path.join(process.cwd(), "agentic");
35
+ }
36
+ else {
37
+ targetDir = getGlobalRoot();
38
+ }
39
+ // Ensure target directory structure
40
+ mkdirSync(path.join(targetDir, "workflows"), { recursive: true });
41
+ mkdirSync(path.join(targetDir, "outputs"), { recursive: true });
42
+ const locationLabel = isLocal ? `local: ${targetDir}` : `global: ${targetDir}`;
43
+ // Copy workflows (unless --config-only)
44
+ if (!options.configOnly) {
45
+ let workflowsToCopy = bundledWorkflows;
46
+ // Filter to a named workflow if --workflow <name> is provided
47
+ if (options.workflow) {
48
+ const named = options.workflow.endsWith(".yaml")
49
+ ? options.workflow
50
+ : `${options.workflow}.yaml`;
51
+ workflowsToCopy = bundledWorkflows.filter((f) => f === named);
52
+ if (workflowsToCopy.length === 0) {
53
+ process.stderr.write(`Error: Workflow '${options.workflow}' not found in bundled workflows.\n`);
54
+ process.stderr.write("Use 'agentic-forge init --list' to see available bundled workflows.\n");
55
+ process.exit(1);
56
+ }
37
57
  }
38
- else {
39
- copyFileSync(path.join(bundledDir, wf), targetPath);
40
- copied.push(wf);
58
+ const workflowsTargetDir = path.join(targetDir, "workflows");
59
+ mkdirSync(workflowsTargetDir, { recursive: true });
60
+ const copied = [];
61
+ const skipped = [];
62
+ for (const wf of workflowsToCopy) {
63
+ const targetPath = path.join(workflowsTargetDir, wf);
64
+ if (existsSync(targetPath) && !options.force) {
65
+ skipped.push(wf);
66
+ }
67
+ else {
68
+ copyFileSync(path.join(bundledDir, wf), targetPath);
69
+ copied.push(wf);
70
+ }
41
71
  }
42
- }
43
- if (copied.length > 0) {
44
- process.stdout.write(`Copied ${copied.length} workflow(s) to ${targetDir}/\n`);
45
- for (const name of copied) {
46
- process.stdout.write(` + ${name}\n`);
72
+ if (copied.length > 0) {
73
+ process.stdout.write(`Copied ${copied.length} workflow(s) to ${workflowsTargetDir}/\n`);
74
+ for (const name of copied) {
75
+ process.stdout.write(` + ${name}\n`);
76
+ }
47
77
  }
48
- }
49
- if (skipped.length > 0) {
50
- process.stdout.write(`\nSkipped ${skipped.length} existing workflow(s):\n`);
51
- for (const name of skipped) {
52
- process.stdout.write(` - ${name}\n`);
78
+ if (skipped.length > 0) {
79
+ process.stdout.write(`\nSkipped ${skipped.length} existing workflow(s):\n`);
80
+ for (const name of skipped) {
81
+ process.stdout.write(` - ${name}\n`);
82
+ }
83
+ process.stdout.write("\nUse --force to overwrite existing files.\n");
53
84
  }
54
- process.stdout.write("\nUse --force to overwrite existing files.\n");
55
85
  }
56
- // Create config.json next to workflows
57
- initConfig(path.join(process.cwd(), "agentic"), options.force ?? false);
58
- if (copied.length > 0) {
59
- process.stdout.write("\nYou can now run workflows with:\n");
60
- process.stdout.write(" agentic-forge run agentic/workflows/<workflow>.yaml\n");
86
+ // Create config.json (unless --workflows-only)
87
+ if (!options.workflowsOnly) {
88
+ initConfig(targetDir, options.force ?? false, isLocal);
61
89
  }
90
+ process.stdout.write(`\nInitialized ${locationLabel}\n`);
91
+ process.stdout.write("You can now run workflows with:\n");
92
+ process.stdout.write(" agentic-forge run <workflow-name>\n");
62
93
  }
63
- function initConfig(agenticDir, force) {
94
+ function initConfig(agenticDir, force, isLocal) {
64
95
  const configPath = path.join(agenticDir, "config.json");
65
96
  if (existsSync(configPath) && !force) {
66
97
  process.stdout.write(`\nConfig already exists: ${configPath}\n`);
@@ -68,6 +99,9 @@ function initConfig(agenticDir, force) {
68
99
  }
69
100
  mkdirSync(agenticDir, { recursive: true });
70
101
  const config = getDefaultConfig();
102
+ if (isLocal) {
103
+ config.outputDirectory = "local";
104
+ }
71
105
  writeFileSync(configPath, JSON.stringify(config, null, 2), "utf-8");
72
106
  process.stdout.write(`\nCreated config: ${configPath}\n`);
73
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** Paths command - display resolved path configuration. */
2
+ export declare function cmdPaths(): void;
@@ -0,0 +1,36 @@
1
+ /** Paths command - display resolved path configuration. */
2
+ import { existsSync } from "node:fs";
3
+ import path from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ import { loadConfig } from "../config.js";
6
+ import { getConfigPaths, getGlobalRoot, getOutputRoot, slugifyCwdName } from "../paths.js";
7
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
8
+ function fmtPath(p, status) {
9
+ return `${p} [${status ? "exists" : "not found"}]`;
10
+ }
11
+ export function cmdPaths() {
12
+ const cwd = process.cwd();
13
+ const globalRoot = getGlobalRoot();
14
+ const configPaths = getConfigPaths(cwd);
15
+ const config = loadConfig(cwd);
16
+ const globalConfigPath = configPaths.global;
17
+ const globalWorkflowsPath = path.join(globalRoot, "workflows");
18
+ const globalOutputsPath = path.join(globalRoot, "outputs", slugifyCwdName(cwd));
19
+ const localConfigPath = configPaths.local ?? path.join(cwd, "agentic", "config.json");
20
+ const localWorkflowsPath = path.join(cwd, "agentic", "workflows");
21
+ const localOutputsPath = path.join(cwd, "agentic", "outputs");
22
+ const bundledWorkflowsPath = path.join(__dirname, "..", "workflows");
23
+ const outputRoot = getOutputRoot(config, cwd);
24
+ const outputSource = config.outputDirectory === "local" || config.outputDirectory === "agentic"
25
+ ? "local config"
26
+ : "global config";
27
+ process.stdout.write(`Global config: ${fmtPath(globalConfigPath, existsSync(globalConfigPath))}\n`);
28
+ process.stdout.write(`Global workflows: ${fmtPath(globalWorkflowsPath, existsSync(globalWorkflowsPath))}\n`);
29
+ process.stdout.write(`Global outputs: ${fmtPath(globalOutputsPath, existsSync(globalOutputsPath))}\n`);
30
+ process.stdout.write(`Local config: ${fmtPath(localConfigPath, existsSync(localConfigPath))}\n`);
31
+ process.stdout.write(`Local workflows: ${fmtPath(localWorkflowsPath, existsSync(localWorkflowsPath))}\n`);
32
+ process.stdout.write(`Local outputs: ${fmtPath(localOutputsPath, existsSync(localOutputsPath))}\n`);
33
+ process.stdout.write(`Bundled workflows: ${bundledWorkflowsPath}\n`);
34
+ process.stdout.write(`Output directory: ${outputRoot} (source: ${outputSource})\n`);
35
+ }
36
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/commands/paths.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,18 @@
1
1
  /** Resume command handler. */
2
2
  import { existsSync } from "node:fs";
3
3
  import path from "node:path";
4
+ import { findOutputDir } from "../paths.js";
4
5
  import { WORKFLOW_STATUS, loadProgress, prepareForResume, saveProgress } from "../progress.js";
5
6
  import { discoverWorkflow } from "./run.js";
6
7
  export async function cmdResume(options) {
7
8
  const { WorkflowExecutor } = await import("../executor.js");
8
9
  const { WorkflowParser, WorkflowParseError } = await import("../parser.js");
9
- const progress = loadProgress(options.workflowId);
10
+ const outputDir = findOutputDir(options.workflowId, process.cwd());
11
+ if (outputDir === null) {
12
+ process.stderr.write(`Error: Workflow not found: ${options.workflowId}\n`);
13
+ process.exit(1);
14
+ }
15
+ const progress = loadProgress(options.workflowId, outputDir);
10
16
  if (progress === null) {
11
17
  process.stderr.write(`Error: Workflow not found: ${options.workflowId}\n`);
12
18
  process.exit(1);
@@ -50,7 +56,7 @@ export async function cmdResume(options) {
50
56
  }
51
57
  // Normalize state for resume
52
58
  prepareForResume(progress);
53
- saveProgress(progress);
59
+ saveProgress(progress, outputDir);
54
60
  // Execute with resume
55
61
  const executor = new WorkflowExecutor();
56
62
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,28 @@
1
1
  /** Run and resume command handlers with workflow discovery. */
2
+ /** Error that signals the CLI should exit with a specific code. */
3
+ export declare class CliExitError extends Error {
4
+ readonly exitCode: number;
5
+ constructor(message: string, exitCode?: number);
6
+ }
2
7
  export declare function getBundledWorkflowsDir(): string;
3
8
  export declare function getUserWorkflowsDir(): string;
4
9
  export declare function getProjectWorkflowsDir(): string;
5
10
  export declare function discoverWorkflow(name: string): [string | null, string];
6
11
  export declare function listAvailableWorkflows(): [string, string, string][];
7
12
  export declare function resolveWorkflowPath(workflowArg: string): [string, string];
13
+ /**
14
+ * Parse bare key=value strings and --var flag strings into a variables record.
15
+ * Bare args are processed first; --var flags override them for the same key.
16
+ * Throws an Error with a human-readable message on invalid format.
17
+ */
18
+ export declare function parseVars(bareVars?: string[], vars?: string[]): Record<string, string>;
8
19
  export declare function cmdRun(options: {
9
20
  workflow?: string;
10
21
  listWorkflows?: boolean;
11
22
  vars?: string[];
23
+ bareVars?: string[];
12
24
  fromStep?: string;
25
+ interactive?: boolean;
13
26
  terminalOutput?: string;
27
+ slug?: string;
14
28
  }): Promise<void>;
@@ -1,19 +1,25 @@
1
1
  /** Run and resume command handlers with workflow discovery. */
2
2
  import { existsSync, readdirSync } from "node:fs";
3
- import { homedir } from "node:os";
4
3
  import path from "node:path";
5
4
  import { fileURLToPath } from "node:url";
5
+ import confirm from "@inquirer/confirm";
6
+ import input from "@inquirer/input";
7
+ import { getGlobalRoot } from "../paths.js";
6
8
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
9
+ /** Error that signals the CLI should exit with a specific code. */
10
+ export class CliExitError extends Error {
11
+ exitCode;
12
+ constructor(message, exitCode = 1) {
13
+ super(message);
14
+ this.exitCode = exitCode;
15
+ this.name = "CliExitError";
16
+ }
17
+ }
7
18
  export function getBundledWorkflowsDir() {
8
19
  return path.join(__dirname, "..", "workflows");
9
20
  }
10
21
  export function getUserWorkflowsDir() {
11
- if (process.platform === "win32") {
12
- const base = process.env.APPDATA ?? path.join(homedir(), "AppData", "Roaming");
13
- return path.join(base, "agentic-forge", "workflows");
14
- }
15
- const base = process.env.XDG_CONFIG_HOME ?? path.join(homedir(), ".config");
16
- return path.join(base, "agentic-forge", "workflows");
22
+ return path.join(getGlobalRoot(), "workflows");
17
23
  }
18
24
  export function getProjectWorkflowsDir() {
19
25
  return path.join(process.cwd(), "agentic", "workflows");
@@ -73,6 +79,28 @@ export function resolveWorkflowPath(workflowArg) {
73
79
  // Fallback: return the resolved path (will fail with appropriate error)
74
80
  return [path.resolve(workflowArg), "not found"];
75
81
  }
82
+ /**
83
+ * Parse bare key=value strings and --var flag strings into a variables record.
84
+ * Bare args are processed first; --var flags override them for the same key.
85
+ * Throws an Error with a human-readable message on invalid format.
86
+ */
87
+ export function parseVars(bareVars, vars) {
88
+ const variables = {};
89
+ function parseOne(v) {
90
+ if (!v.includes("=")) {
91
+ throw new CliExitError(`Error: Invalid variable format: ${v}\nExpected format: key=value`);
92
+ }
93
+ const eqIndex = v.indexOf("=");
94
+ variables[v.slice(0, eqIndex)] = v.slice(eqIndex + 1);
95
+ }
96
+ if (bareVars)
97
+ for (const v of bareVars)
98
+ parseOne(v);
99
+ if (vars)
100
+ for (const v of vars)
101
+ parseOne(v);
102
+ return variables;
103
+ }
76
104
  export async function cmdRun(options) {
77
105
  // Handle --list flag
78
106
  if (options.listWorkflows) {
@@ -105,54 +133,40 @@ export async function cmdRun(options) {
105
133
  }
106
134
  }
107
135
  process.stdout.write(`Total: ${workflows.length} workflow(s)\n`);
108
- process.stdout.write("\nUsage: agentic-forge run <workflow-name>\n");
136
+ process.stdout.write("\nUsage: agentic-forge run <workflow> [key=value ...]\n");
109
137
  return;
110
138
  }
111
139
  // Validate workflow argument is provided
112
140
  if (!options.workflow) {
113
- process.stderr.write("Error: workflow name or path is required\n");
114
- process.stderr.write("Use 'agentic-forge run --list' to see available workflows\n");
115
- process.exit(1);
141
+ throw new CliExitError("Error: workflow name or path is required\nUse 'agentic-forge run --list' to see available workflows");
116
142
  }
117
143
  const { WorkflowExecutor } = await import("../executor.js");
118
144
  const { WorkflowParser, WorkflowParseError } = await import("../parser.js");
119
145
  const [workflowPath, locationType] = resolveWorkflowPath(options.workflow);
120
146
  if (!existsSync(workflowPath)) {
121
- process.stderr.write(`Error: Workflow not found: ${options.workflow}\n`);
122
- process.stderr.write("\nAvailable workflows:\n");
147
+ const lines = [`Error: Workflow not found: ${options.workflow}`, "", "Available workflows:"];
123
148
  const workflows = listAvailableWorkflows();
124
149
  if (workflows.length > 0) {
125
150
  for (const [name, , location] of workflows.slice(0, 10)) {
126
- process.stderr.write(` ${name} (${location})\n`);
151
+ lines.push(` ${name} (${location})`);
127
152
  }
128
153
  if (workflows.length > 10) {
129
- process.stderr.write(` ... and ${workflows.length - 10} more\n`);
154
+ lines.push(` ... and ${workflows.length - 10} more`);
130
155
  }
131
156
  }
132
157
  else {
133
- process.stderr.write(" (no workflows found)\n");
158
+ lines.push(" (no workflows found)");
134
159
  }
135
- process.stderr.write("\nUse 'agentic-forge run --list' to see all workflows.\n");
136
- process.stderr.write("Use 'agentic-forge init' to copy bundled workflows locally.\n");
137
- process.exit(1);
160
+ lines.push("", "Use 'agentic-forge run --list' to see all workflows.");
161
+ lines.push("Use 'agentic-forge init' to copy bundled workflows locally.");
162
+ throw new CliExitError(lines.join("\n"));
138
163
  }
139
164
  // Show which workflow is being used
140
165
  if (["project-local", "user-global", "bundled"].includes(locationType)) {
141
166
  process.stdout.write(`Using ${locationType} workflow: ${path.basename(workflowPath)}\n`);
142
167
  }
143
168
  // Parse variables
144
- const variables = {};
145
- if (options.vars) {
146
- for (const v of options.vars) {
147
- if (!v.includes("=")) {
148
- process.stderr.write(`Error: Invalid variable format: ${v}\n`);
149
- process.stderr.write("Expected format: KEY=VALUE\n");
150
- process.exit(1);
151
- }
152
- const eqIndex = v.indexOf("=");
153
- variables[v.slice(0, eqIndex)] = v.slice(eqIndex + 1);
154
- }
155
- }
169
+ const variables = parseVars(options.bareVars, options.vars);
156
170
  let workflow;
157
171
  try {
158
172
  const parser = new WorkflowParser();
@@ -160,11 +174,43 @@ export async function cmdRun(options) {
160
174
  }
161
175
  catch (e) {
162
176
  if (e instanceof WorkflowParseError) {
163
- process.stderr.write(`Error parsing workflow: ${e.message}\n`);
164
- process.exit(1);
177
+ throw new CliExitError(`Error parsing workflow: ${e.message}`);
165
178
  }
166
179
  throw e;
167
180
  }
181
+ // Prompt for missing required variables (interactive mode only)
182
+ const isInteractive = options.interactive !== false && process.stdin.isTTY;
183
+ for (const v of workflow.variables) {
184
+ if (v.name in variables)
185
+ continue;
186
+ if (!v.required)
187
+ continue;
188
+ if (v.default !== undefined)
189
+ continue;
190
+ // Required variable is missing
191
+ if (!isInteractive) {
192
+ const lines = [`Error: Missing required variable: ${v.name}`];
193
+ if (v.description) {
194
+ lines.push(` Description: ${v.description}`);
195
+ }
196
+ lines.push(` Usage: agentic-forge run ${options.workflow} ${v.name}="<value>"`);
197
+ throw new CliExitError(lines.join("\n"));
198
+ }
199
+ const label = v.description || v.name;
200
+ if (v.type === "boolean") {
201
+ const answer = await confirm({
202
+ message: `${label}:`,
203
+ default: false,
204
+ });
205
+ variables[v.name] = String(answer);
206
+ }
207
+ else {
208
+ const answer = await input({
209
+ message: `${label}:`,
210
+ });
211
+ variables[v.name] = answer;
212
+ }
213
+ }
168
214
  const executor = new WorkflowExecutor();
169
215
  try {
170
216
  // Resolve terminal_output: CLI override > workflow settings > default "base"
@@ -175,7 +221,7 @@ export async function cmdRun(options) {
175
221
  else if (workflow.settings?.terminalOutput) {
176
222
  terminalOutput = workflow.settings.terminalOutput;
177
223
  }
178
- const progress = await executor.run(workflow, variables, options.fromStep ?? null, terminalOutput, path.resolve(workflowPath));
224
+ const progress = await executor.run(workflow, variables, options.fromStep ?? null, terminalOutput, path.resolve(workflowPath), null, options.slug);
179
225
  process.stdout.write(`\nWorkflow ${progress.status}: ${progress.workflowId}\n`);
180
226
  if (progress.errors && progress.errors.length > 0) {
181
227
  process.stdout.write("\nErrors:\n");
@@ -186,8 +232,7 @@ export async function cmdRun(options) {
186
232
  }
187
233
  catch (e) {
188
234
  const msg = e instanceof Error ? e.message : String(e);
189
- process.stderr.write(`Error running workflow: ${msg}\n`);
190
- process.exit(1);
235
+ throw new CliExitError(`Error running workflow: ${msg}`);
191
236
  }
192
237
  }
193
238
  //# sourceMappingURL=run.js.map