agentic-forge 0.0.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +31 -21
  3. package/dist/checkpoints/manager.d.ts +5 -0
  4. package/dist/checkpoints/manager.js +87 -0
  5. package/dist/checkpoints/manager.js.map +1 -0
  6. package/{src → dist}/claude/.claude/skills/analyze/SKILL.md +1 -1
  7. package/{src → dist}/claude/.claude/skills/create-checkpoint/SKILL.md +1 -1
  8. package/{src → dist}/claude/.claude/skills/create-log/SKILL.md +1 -1
  9. package/{src → dist}/claude/.claude/skills/fix-analyze/SKILL.md +1 -1
  10. package/{src → dist}/claude/.claude/skills/git-branch/SKILL.md +1 -1
  11. package/{src → dist}/claude/.claude/skills/git-commit/SKILL.md +1 -1
  12. package/{src → dist}/claude/.claude/skills/git-pr/SKILL.md +1 -1
  13. package/{src → dist}/claude/.claude/skills/sdlc-plan/SKILL.md +1 -1
  14. package/{src → dist}/claude/.claude/skills/sdlc-review/SKILL.md +1 -1
  15. package/{src → dist}/claude/.claude/skills/workflow-builder/SKILL.md +1 -1
  16. package/dist/cli.d.ts +3 -0
  17. package/dist/cli.js +155 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/commands/config-cmd.d.ts +2 -0
  20. package/dist/commands/config-cmd.js +30 -0
  21. package/dist/commands/config-cmd.js.map +1 -0
  22. package/{src/commands/index.ts → dist/commands/index.d.ts} +1 -10
  23. package/dist/commands/index.js +13 -0
  24. package/dist/commands/index.js.map +1 -0
  25. package/dist/commands/init.d.ts +6 -0
  26. package/dist/commands/init.js +83 -0
  27. package/dist/commands/init.js.map +1 -0
  28. package/dist/commands/release-notes.d.ts +5 -0
  29. package/dist/commands/release-notes.js +68 -0
  30. package/dist/commands/release-notes.js.map +1 -0
  31. package/dist/commands/resume.d.ts +5 -0
  32. package/dist/commands/resume.js +79 -0
  33. package/dist/commands/resume.js.map +1 -0
  34. package/dist/commands/run.d.ts +14 -0
  35. package/dist/commands/run.js +193 -0
  36. package/dist/commands/run.js.map +1 -0
  37. package/dist/commands/shortcuts.d.ts +2 -0
  38. package/dist/commands/shortcuts.js +11 -0
  39. package/dist/commands/shortcuts.js.map +1 -0
  40. package/dist/commands/skills-dir.d.ts +2 -0
  41. package/dist/commands/skills-dir.js +9 -0
  42. package/dist/commands/skills-dir.js.map +1 -0
  43. package/dist/commands/status.d.ts +4 -0
  44. package/dist/commands/status.js +99 -0
  45. package/dist/commands/status.js.map +1 -0
  46. package/dist/commands/update.d.ts +4 -0
  47. package/dist/commands/update.js +65 -0
  48. package/dist/commands/update.js.map +1 -0
  49. package/dist/commands/version.d.ts +3 -0
  50. package/dist/commands/version.js +26 -0
  51. package/dist/commands/version.js.map +1 -0
  52. package/dist/commands/workflows.d.ts +4 -0
  53. package/dist/commands/workflows.js +109 -0
  54. package/dist/commands/workflows.js.map +1 -0
  55. package/dist/config.d.ts +8 -0
  56. package/dist/config.js +110 -0
  57. package/dist/config.js.map +1 -0
  58. package/dist/console.d.ts +103 -0
  59. package/dist/console.js +670 -0
  60. package/dist/console.js.map +1 -0
  61. package/dist/executor.d.ts +27 -0
  62. package/dist/executor.js +236 -0
  63. package/dist/executor.js.map +1 -0
  64. package/dist/git/worktree.d.ts +23 -0
  65. package/dist/git/worktree.js +170 -0
  66. package/dist/git/worktree.js.map +1 -0
  67. package/dist/logging/logger.d.ts +27 -0
  68. package/dist/logging/logger.js +69 -0
  69. package/dist/logging/logger.js.map +1 -0
  70. package/dist/orchestrator.d.ts +44 -0
  71. package/dist/orchestrator.js +587 -0
  72. package/dist/orchestrator.js.map +1 -0
  73. package/dist/parser.d.ts +17 -0
  74. package/dist/parser.js +184 -0
  75. package/dist/parser.js.map +1 -0
  76. package/dist/progress.d.ts +29 -0
  77. package/dist/progress.js +275 -0
  78. package/dist/progress.js.map +1 -0
  79. package/dist/ralph-loop.d.ts +26 -0
  80. package/dist/ralph-loop.js +194 -0
  81. package/dist/ralph-loop.js.map +1 -0
  82. package/dist/renderer.d.ts +15 -0
  83. package/dist/renderer.js +123 -0
  84. package/dist/renderer.js.map +1 -0
  85. package/dist/runner.d.ts +84 -0
  86. package/dist/runner.js +529 -0
  87. package/dist/runner.js.map +1 -0
  88. package/dist/signal-manager.d.ts +16 -0
  89. package/dist/signal-manager.js +50 -0
  90. package/dist/signal-manager.js.map +1 -0
  91. package/dist/steps/base.d.ts +28 -0
  92. package/dist/steps/base.js +23 -0
  93. package/dist/steps/base.js.map +1 -0
  94. package/dist/steps/conditional-step.d.ts +12 -0
  95. package/dist/steps/conditional-step.js +106 -0
  96. package/dist/steps/conditional-step.js.map +1 -0
  97. package/{src/steps/index.ts → dist/steps/index.d.ts} +1 -9
  98. package/dist/steps/index.js +8 -0
  99. package/dist/steps/index.js.map +1 -0
  100. package/dist/steps/parallel-step.d.ts +11 -0
  101. package/dist/steps/parallel-step.js +166 -0
  102. package/dist/steps/parallel-step.js.map +1 -0
  103. package/dist/steps/prompt-step.d.ts +8 -0
  104. package/dist/steps/prompt-step.js +94 -0
  105. package/dist/steps/prompt-step.js.map +1 -0
  106. package/dist/steps/ralph-loop-step.d.ts +8 -0
  107. package/dist/steps/ralph-loop-step.js +132 -0
  108. package/dist/steps/ralph-loop-step.js.map +1 -0
  109. package/dist/steps/serial-step.d.ts +10 -0
  110. package/dist/steps/serial-step.js +57 -0
  111. package/dist/steps/serial-step.js.map +1 -0
  112. package/dist/types.d.ts +118 -0
  113. package/dist/types.js +10 -0
  114. package/dist/types.js.map +1 -0
  115. package/package.json +56 -2
  116. package/.gitattributes +0 -24
  117. package/.github/workflows/ci.yml +0 -70
  118. package/.markdownlint-cli2.jsonc +0 -16
  119. package/.prettierignore +0 -3
  120. package/.prettierrc +0 -6
  121. package/.vscode/agentic-forge.code-workspace +0 -26
  122. package/CHANGELOG.md +0 -100
  123. package/CLAUDE.md +0 -158
  124. package/CONTRIBUTING.md +0 -152
  125. package/biome.json +0 -21
  126. package/scripts/copy-assets.js +0 -21
  127. package/src/checkpoints/manager.ts +0 -119
  128. package/src/cli.ts +0 -182
  129. package/src/commands/config-cmd.ts +0 -28
  130. package/src/commands/init.ts +0 -96
  131. package/src/commands/release-notes.ts +0 -85
  132. package/src/commands/resume.ts +0 -103
  133. package/src/commands/run.ts +0 -234
  134. package/src/commands/shortcuts.ts +0 -11
  135. package/src/commands/skills-dir.ts +0 -11
  136. package/src/commands/status.ts +0 -112
  137. package/src/commands/update.ts +0 -64
  138. package/src/commands/version.ts +0 -27
  139. package/src/commands/workflows.ts +0 -129
  140. package/src/config.ts +0 -129
  141. package/src/console.ts +0 -790
  142. package/src/executor.ts +0 -354
  143. package/src/git/worktree.ts +0 -236
  144. package/src/logging/logger.ts +0 -95
  145. package/src/orchestrator.ts +0 -815
  146. package/src/parser.ts +0 -225
  147. package/src/progress.ts +0 -306
  148. package/src/ralph-loop.ts +0 -260
  149. package/src/renderer.ts +0 -164
  150. package/src/runner.ts +0 -634
  151. package/src/signal-manager.ts +0 -55
  152. package/src/steps/base.ts +0 -71
  153. package/src/steps/conditional-step.ts +0 -144
  154. package/src/steps/parallel-step.ts +0 -213
  155. package/src/steps/prompt-step.ts +0 -121
  156. package/src/steps/ralph-loop-step.ts +0 -186
  157. package/src/steps/serial-step.ts +0 -84
  158. package/src/types.ts +0 -141
  159. package/tests/config.test.ts +0 -219
  160. package/tests/console.test.ts +0 -506
  161. package/tests/executor.test.ts +0 -339
  162. package/tests/init.test.ts +0 -86
  163. package/tests/logger.test.ts +0 -110
  164. package/tests/parser.test.ts +0 -290
  165. package/tests/progress.test.ts +0 -345
  166. package/tests/ralph-loop.test.ts +0 -418
  167. package/tests/renderer.test.ts +0 -350
  168. package/tests/runner.test.ts +0 -497
  169. package/tests/setup.test.ts +0 -7
  170. package/tests/signal-manager.test.ts +0 -26
  171. package/tests/steps.test.ts +0 -412
  172. package/tests/worktree.test.ts +0 -411
  173. package/tsconfig.json +0 -18
  174. package/vitest.config.ts +0 -8
  175. /package/{src → dist}/agents/explorer.md +0 -0
  176. /package/{src → dist}/agents/reviewer.md +0 -0
  177. /package/{src → dist}/claude/.claude/skills/analyze/references/bug.md +0 -0
  178. /package/{src → dist}/claude/.claude/skills/analyze/references/debt.md +0 -0
  179. /package/{src → dist}/claude/.claude/skills/analyze/references/doc.md +0 -0
  180. /package/{src → dist}/claude/.claude/skills/analyze/references/security.md +0 -0
  181. /package/{src → dist}/claude/.claude/skills/analyze/references/style.md +0 -0
  182. /package/{src → dist}/claude/.claude/skills/orchestrate/SKILL.md +0 -0
  183. /package/{src → dist}/claude/.claude/skills/sdlc-plan/references/bug.md +0 -0
  184. /package/{src → dist}/claude/.claude/skills/sdlc-plan/references/chore.md +0 -0
  185. /package/{src → dist}/claude/.claude/skills/sdlc-plan/references/feature.md +0 -0
  186. /package/{src → dist}/claude/.claude/skills/workflow-builder/references/REFERENCE.md +0 -0
  187. /package/{src → dist}/claude/.claude/skills/workflow-builder/references/workflow-example.yaml +0 -0
  188. /package/{src → dist}/prompts/agentic-system.md +0 -0
  189. /package/{src → dist}/templates/analysis/bug.md.j2 +0 -0
  190. /package/{src → dist}/templates/analysis/debt.md.j2 +0 -0
  191. /package/{src → dist}/templates/analysis/doc.md.j2 +0 -0
  192. /package/{src → dist}/templates/analysis/security.md.j2 +0 -0
  193. /package/{src → dist}/templates/analysis/style.md.j2 +0 -0
  194. /package/{src → dist}/templates/analysis-summary.md.j2 +0 -0
  195. /package/{src → dist}/templates/checkpoint.md.j2 +0 -0
  196. /package/{src → dist}/templates/implementation-report.md.j2 +0 -0
  197. /package/{src → dist}/templates/memory.md.j2 +0 -0
  198. /package/{src → dist}/templates/plan-bug.md.j2 +0 -0
  199. /package/{src → dist}/templates/plan-chore.md.j2 +0 -0
  200. /package/{src → dist}/templates/plan-feature.md.j2 +0 -0
  201. /package/{src → dist}/templates/progress.json.j2 +0 -0
  202. /package/{src → dist}/templates/ralph-report.md.j2 +0 -0
  203. /package/{src → dist}/workflows/analyze-codebase-merge.yaml +0 -0
  204. /package/{src → dist}/workflows/analyze-codebase.yaml +0 -0
  205. /package/{src → dist}/workflows/analyze-single.yaml +0 -0
  206. /package/{src → dist}/workflows/demo.yaml +0 -0
  207. /package/{src → dist}/workflows/one-shot.yaml +0 -0
  208. /package/{src → dist}/workflows/plan-build-review.yaml +0 -0
  209. /package/{src → dist}/workflows/ralph-loop.yaml +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ralph-loop-step.js","sourceRoot":"","sources":["../../src/steps/ralph-loop-step.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /** Serial step executor. */
2
+ import type { ConsoleOutput } from "../console.js";
3
+ import type { WorkflowLogger } from "../logging/logger.js";
4
+ import type { StepDefinition, WorkflowProgress } from "../types.js";
5
+ import { type BranchStepExecutor, type StepContext, StepExecutor, type StepResult } from "./base.js";
6
+ export declare class SerialStepExecutor extends StepExecutor {
7
+ private branchExecutor;
8
+ constructor(branchExecutor: BranchStepExecutor);
9
+ execute(step: StepDefinition, progress: WorkflowProgress, context: StepContext, logger: WorkflowLogger, console: ConsoleOutput): Promise<StepResult>;
10
+ }
@@ -0,0 +1,57 @@
1
+ /** Serial step executor. */
2
+ import { WORKFLOW_STATUS, updateStepCompleted, updateStepFailed } from "../progress.js";
3
+ import { StepExecutor, } from "./base.js";
4
+ export class SerialStepExecutor extends StepExecutor {
5
+ branchExecutor;
6
+ constructor(branchExecutor) {
7
+ super();
8
+ this.branchExecutor = branchExecutor;
9
+ }
10
+ async execute(step, progress, context, logger, console) {
11
+ if (!step.steps || step.steps.length === 0) {
12
+ logger.warning(step.name, "Serial step has no sub-steps");
13
+ updateStepCompleted(progress, step.name, "No sub-steps to execute");
14
+ console.stepComplete(step.name, "No sub-steps to execute");
15
+ return { success: true, outputSummary: "No sub-steps to execute" };
16
+ }
17
+ logger.info(step.name, `Starting serial execution of ${step.steps.length} steps`);
18
+ console.info(`Serial: executing ${step.steps.length} steps in sequence`);
19
+ let completedCount = 0;
20
+ for (const subStep of step.steps) {
21
+ try {
22
+ const result = await this.branchExecutor(subStep, progress, context, logger, console);
23
+ if (!result.success) {
24
+ logger.warning(step.name, `Serial block stopped at step '${subStep.name}' due to failure`);
25
+ const errorMsg = `Step '${subStep.name}' failed: ${result.error}`;
26
+ updateStepFailed(progress, step.name, errorMsg);
27
+ console.stepFailed(step.name, `Step '${subStep.name}' failed`);
28
+ progress.status = WORKFLOW_STATUS.FAILED;
29
+ return { success: false, error: errorMsg };
30
+ }
31
+ completedCount++;
32
+ if (progress.status === WORKFLOW_STATUS.FAILED) {
33
+ logger.warning(step.name, `Serial block stopped at step '${subStep.name}' due to failure`);
34
+ break;
35
+ }
36
+ }
37
+ catch (e) {
38
+ const errStr = e instanceof Error ? e.message : String(e);
39
+ logger.error(subStep.name, `Step failed in serial block: ${errStr}`);
40
+ const errorMsg = `Step '${subStep.name}' failed: ${errStr}`;
41
+ updateStepFailed(progress, step.name, errorMsg);
42
+ console.stepFailed(step.name, `Step '${subStep.name}' failed`);
43
+ progress.status = WORKFLOW_STATUS.FAILED;
44
+ return { success: false, error: errorMsg };
45
+ }
46
+ }
47
+ if (progress.status !== WORKFLOW_STATUS.FAILED) {
48
+ const outputSummary = `Completed ${completedCount}/${step.steps.length} steps`;
49
+ updateStepCompleted(progress, step.name, outputSummary);
50
+ console.stepComplete(step.name, outputSummary);
51
+ logger.info(step.name, outputSummary);
52
+ return { success: true, outputSummary };
53
+ }
54
+ return { success: false, error: "Serial execution failed" };
55
+ }
56
+ }
57
+ //# sourceMappingURL=serial-step.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serial-step.js","sourceRoot":"","sources":["../../src/steps/serial-step.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ /** Core types for agentic-forge workflow engine. */
2
+ export type StepType = "prompt" | "parallel" | "serial" | "conditional" | "ralph-loop" | "wait-for-human";
3
+ export declare const VALID_STEP_TYPES: StepType[];
4
+ export interface Variable {
5
+ name: string;
6
+ type: string;
7
+ required: boolean;
8
+ default?: unknown;
9
+ description?: string;
10
+ }
11
+ export interface GitSettings {
12
+ enabled: boolean;
13
+ worktree: boolean;
14
+ autoCommit: boolean;
15
+ autoPr: boolean;
16
+ branchPrefix: string;
17
+ }
18
+ export interface StepGitSettings {
19
+ worktree: boolean;
20
+ autoPr: boolean;
21
+ branchPrefix: string;
22
+ }
23
+ export interface WorkflowSettings {
24
+ maxRetry: number;
25
+ timeoutMinutes: number;
26
+ trackProgress: boolean;
27
+ autofix: string;
28
+ terminalOutput: string;
29
+ bypassPermissions: boolean;
30
+ strictMode: boolean;
31
+ model: string | null;
32
+ requiredTools: string[];
33
+ git: GitSettings;
34
+ }
35
+ export interface StepDefinition {
36
+ name: string;
37
+ type: StepType;
38
+ prompt?: string | null;
39
+ agent?: string | null;
40
+ steps: StepDefinition[];
41
+ mergeStrategy: string;
42
+ mergeMode: string;
43
+ condition?: string | null;
44
+ thenSteps: StepDefinition[];
45
+ elseSteps: StepDefinition[];
46
+ maxIterations: number | string;
47
+ completionPromise?: string | null;
48
+ message?: string | null;
49
+ pollingInterval: number;
50
+ onTimeout: string;
51
+ model?: string | null;
52
+ stepTimeoutMinutes?: number | null;
53
+ stepMaxRetry?: number | null;
54
+ onError: string;
55
+ checkpoint: boolean;
56
+ dependsOn?: string | null;
57
+ git?: StepGitSettings | null;
58
+ }
59
+ export interface OutputDefinition {
60
+ name: string;
61
+ template: string;
62
+ path: string;
63
+ when: string;
64
+ }
65
+ export interface WorkflowDefinition {
66
+ name: string;
67
+ version: string;
68
+ description: string;
69
+ settings: WorkflowSettings;
70
+ variables: Variable[];
71
+ steps: StepDefinition[];
72
+ outputs: OutputDefinition[];
73
+ }
74
+ export type WorkflowStatus = "pending" | "running" | "completed" | "failed" | "paused" | "canceled";
75
+ export type StepStatus = "pending" | "running" | "completed" | "failed" | "skipped";
76
+ export interface StepProgress {
77
+ name: string;
78
+ status: string;
79
+ startedAt: string | null;
80
+ completedAt: string | null;
81
+ retryCount: number;
82
+ outputSummary: string;
83
+ error: string | null;
84
+ humanInput: string | null;
85
+ }
86
+ export interface ParallelBranch {
87
+ branchId: string;
88
+ status: string;
89
+ worktreePath: string;
90
+ progressFile: string;
91
+ }
92
+ export interface CurrentStepInfo {
93
+ name: string;
94
+ retryCount: number;
95
+ startedAt: string;
96
+ type?: string;
97
+ message?: string | null;
98
+ timeoutMinutes?: number;
99
+ onTimeout?: string;
100
+ humanInput?: string | null;
101
+ }
102
+ export interface WorkflowProgress {
103
+ schemaVersion: string;
104
+ workflowId: string;
105
+ workflowName: string;
106
+ status: string;
107
+ startedAt: string | null;
108
+ completedAt: string | null;
109
+ currentStep: CurrentStepInfo | null;
110
+ completedSteps: StepProgress[];
111
+ pendingSteps: string[];
112
+ runningSteps: string[];
113
+ parallelBranches: ParallelBranch[];
114
+ errors: Record<string, unknown>[];
115
+ variables: Record<string, unknown>;
116
+ stepOutputs: Record<string, unknown>;
117
+ workflowFile: string;
118
+ }
package/dist/types.js ADDED
@@ -0,0 +1,10 @@
1
+ /** Core types for agentic-forge workflow engine. */
2
+ export const VALID_STEP_TYPES = [
3
+ "prompt",
4
+ "parallel",
5
+ "serial",
6
+ "conditional",
7
+ "ralph-loop",
8
+ "wait-for-human",
9
+ ];
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAYpD,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC3C,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,aAAa;IACb,YAAY;IACZ,gBAAgB;CAChB,CAAC"}
package/package.json CHANGED
@@ -1,5 +1,59 @@
1
1
  {
2
2
  "name": "agentic-forge",
3
- "version": "0.0.0",
4
- "description": "YAML-based agentic workflow engine with multi-step execution, parallel orchestration, error recovery, and support for short and long-running operations"
3
+ "version": "0.7.0",
4
+ "description": "YAML-based agentic workflow engine with multi-step execution, parallel orchestration, error recovery, and support for short and long-running operations",
5
+ "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/e-stpierre/agentic-forge.git"
9
+ },
10
+ "bin": {
11
+ "agentic-forge": "dist/cli.js",
12
+ "af": "dist/cli.js"
13
+ },
14
+ "publishConfig": {
15
+ "access": "public",
16
+ "registry": "https://registry.npmjs.org"
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "agentic-forge-banner.png"
21
+ ],
22
+ "scripts": {
23
+ "build": "tsc && node scripts/copy-assets.js",
24
+ "test": "vitest run",
25
+ "test:watch": "vitest",
26
+ "check": "biome check . && prettier --check . && markdownlint-cli2",
27
+ "fix": "biome check --fix . && prettier --write . && markdownlint-cli2 --fix",
28
+ "dev": "tsc --watch",
29
+ "updates": "node scripts/check-updates.js check",
30
+ "updates:fix": "node scripts/check-updates.js fix"
31
+ },
32
+ "dependencies": {
33
+ "commander": "^14.0.3",
34
+ "js-yaml": "^4.1.1",
35
+ "nunjucks": "^3.2.4",
36
+ "proper-lockfile": "^4.1.2"
37
+ },
38
+ "devDependencies": {
39
+ "@biomejs/biome": "^1.9.4",
40
+ "@types/js-yaml": "^4.0.9",
41
+ "@types/node": "^22.13.0",
42
+ "@types/nunjucks": "^3.2.6",
43
+ "@types/proper-lockfile": "^4.1.4",
44
+ "@vitest/coverage-v8": "^4.1.2",
45
+ "markdownlint-cli2": "^0.22.0",
46
+ "prettier": "^3.5.0",
47
+ "typescript": "^5.7.0",
48
+ "vitest": "^4.1.2"
49
+ },
50
+ "engines": {
51
+ "node": ">=20"
52
+ },
53
+ "pnpm": {
54
+ "onlyBuiltDependencies": [
55
+ "@biomejs/biome",
56
+ "esbuild"
57
+ ]
58
+ }
5
59
  }
package/.gitattributes DELETED
@@ -1,24 +0,0 @@
1
- # Enforce LF line endings for all text files
2
- * text=auto eol=lf
3
-
4
- # Explicitly set common file types
5
- *.md text eol=lf
6
- *.txt text eol=lf
7
- *.json text eol=lf
8
- *.yaml text eol=lf
9
- *.yml text eol=lf
10
- *.toml text eol=lf
11
- *.sh text eol=lf
12
- *.js text eol=lf
13
- *.ts text eol=lf
14
- *.html text eol=lf
15
- *.css text eol=lf
16
- *.xml text eol=lf
17
-
18
- # Keep binary files as-is
19
- *.png binary
20
- *.jpg binary
21
- *.jpeg binary
22
- *.gif binary
23
- *.ico binary
24
- *.pdf binary
@@ -1,70 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- pull_request:
5
- branches: [main]
6
-
7
- concurrency:
8
- group: ci-${{ github.event.pull_request.number }}
9
- cancel-in-progress: true
10
-
11
- jobs:
12
- lint-and-format:
13
- name: Lint & Format
14
- runs-on: ubuntu-latest
15
- permissions:
16
- contents: read
17
-
18
- steps:
19
- - name: Checkout repository
20
- uses: actions/checkout@v4
21
-
22
- - name: Setup Node.js
23
- uses: actions/setup-node@v4
24
- with:
25
- node-version: "20"
26
-
27
- - name: Setup pnpm
28
- uses: pnpm/action-setup@v4
29
- with:
30
- version: 9
31
-
32
- - name: Install dependencies
33
- run: pnpm install --frozen-lockfile
34
-
35
- - name: Lint and format check
36
- run: pnpm check
37
-
38
- test:
39
- name: Tests (Node ${{ matrix.node-version }}, ${{ matrix.os }})
40
- runs-on: ${{ matrix.os }}
41
- permissions:
42
- contents: read
43
- strategy:
44
- matrix:
45
- os: [ubuntu-latest, windows-latest]
46
- node-version: ["20", "22"]
47
- fail-fast: false
48
-
49
- steps:
50
- - name: Checkout repository
51
- uses: actions/checkout@v4
52
-
53
- - name: Setup Node.js ${{ matrix.node-version }}
54
- uses: actions/setup-node@v4
55
- with:
56
- node-version: ${{ matrix.node-version }}
57
-
58
- - name: Setup pnpm
59
- uses: pnpm/action-setup@v4
60
- with:
61
- version: 9
62
-
63
- - name: Install dependencies
64
- run: pnpm install --frozen-lockfile
65
-
66
- - name: Build
67
- run: pnpm build
68
-
69
- - name: Run tests with coverage
70
- run: pnpm test -- --coverage
@@ -1,16 +0,0 @@
1
- {
2
- "config": {
3
- "default": true,
4
- "MD013": false, // Line length
5
- "MD024": {
6
- "siblings_only": true // Multiple headings with the same content
7
- },
8
- "MD025": {
9
- "front_matter_title": "" // Don't treat frontmatter title as an h1
10
- },
11
- "MD033": false, // Inline HTML (used in README badges/layout)
12
- "MD041": false // First line heading (not applicable to all .md files)
13
- },
14
- "globs": ["**/*.md"],
15
- "ignores": ["agentic", "**/node_modules", ".git", "dist", "build"]
16
- }
package/.prettierignore DELETED
@@ -1,3 +0,0 @@
1
- node_modules
2
- pnpm-lock.yaml
3
- .git
package/.prettierrc DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "proseWrap": "preserve",
3
- "tabWidth": 2,
4
- "useTabs": false,
5
- "trailingComma": "none"
6
- }
@@ -1,26 +0,0 @@
1
- {
2
- "folders": [
3
- {
4
- "path": ".."
5
- }
6
- ],
7
- "settings": {
8
- "editor.defaultFormatter": "esbenp.prettier-vscode",
9
- "editor.formatOnSave": true,
10
- "editor.wordWrap": "on",
11
- "files.exclude": {
12
- "**/.git": true
13
- },
14
- "search.exclude": {
15
- "**/.git": true
16
- },
17
- "markdownlint.run": "onSave",
18
- "prettier.resolveGlobalModules": false
19
- },
20
- "extensions": {
21
- "recommendations": [
22
- "esbenp.prettier-vscode",
23
- "davidanson.vscode-markdownlint"
24
- ]
25
- }
26
- }
package/CHANGELOG.md DELETED
@@ -1,100 +0,0 @@
1
- # Changelog
2
-
3
- ## 0.7.0 - 2026-04-04
4
-
5
- - **Breaking:** Full rewrite from Python to TypeScript/Node.js
6
- - **Breaking:** Renamed package from `agentic-sdlc` to `agentic-forge` (CLI command also renamed)
7
- - **Breaking:** Removed Claude Code marketplace dependency; skills now loaded via `--add-dir`
8
- - **Breaking:** Replaced Jinja2 templates with Nunjucks for template rendering
9
- - **Breaking:** Distribution changed from PyPI (`uv tool install`) to npm (`npm i -g agentic-forge`)
10
- - Ported all 14 CLI command handlers to TypeScript with Commander.js
11
- - Ported workflow executor, orchestrator, and checkpoint manager to TypeScript
12
- - Ported all step executors (prompt, serial, parallel, conditional, ralph-loop) with shared base class
13
- - Ported runner module with Claude CLI subprocess management and stream-JSON parsing
14
- - Ported progress tracking, signal management, and workflow logger
15
- - Ported parallel step executor with git worktree management
16
- - Added `skills-dir` command to print bundled skills path for `--add-dir` integration
17
- - Skills, agents, and prompts bundled as npm package data
18
- - Repository restructured: flat layout at root instead of `plugins/agentic-sdlc/`
19
- - Added Biome for TypeScript/JSON linting and formatting
20
- - Added markdownlint-cli2 for Markdown linting
21
- - Added Vitest test suite
22
- - CI updated from Python (pytest, uv) to Node.js (pnpm, vitest, biome)
23
- - Fixed wait-for-human progress state and parallel concurrency cap
24
- - Fixed 5 major correctness issues from code review
25
-
26
- ## 0.6.0 - 2026-02-15
27
-
28
- - Added `workflow-builder` skill for creating, updating, explaining, validating, and debugging workflows
29
- - Added parallel branch display in terminal with multi-branch status updates (BASE mode)
30
- - Added queue-based message streaming for parallel steps (ALL mode)
31
- - Added stream-JSON parsing for real-time Claude output processing
32
- - Added model name detection and display in step headers (e.g., `sonnet-4.5`)
33
- - Added `strict-mode` setting for failing on undefined template variables
34
- - Added config file copy during `init` command
35
- - Added comprehensive test coverage for console, runner, init, parser, and step modules
36
- - Rewrote console output module with `ParallelOutputHandler` for parallel execution display
37
- - Increased default `max_iterations` from 5-10 to 25 across all workflows
38
- - Changed `create_pr` default to `false` across all workflows
39
- - Changed `bypass-permissions` default to `false` in ralph-loop workflow
40
- - Set `terminal-output: base` as explicit default in plan-build-review and ralph-loop workflows
41
- - Consolidated workflow documentation from `docs/` into `workflow-builder` skill references
42
- - Fixed workflow resume losing state on re-run
43
- - Fixed fix-issues step in plan-build-review reading wrong file for review output
44
- - Fixed JSON template placeholders in fix-issues step replaced with proper syntax
45
-
46
- ## 0.5.0 - 2026-01-25
47
-
48
- - Converted all CLI commands to skills for consistency and reusability
49
- - Added `create-skill` skill for generating new skills from templates
50
- - Renamed `validate` command to `sdlc-review` skill
51
- - Prefixed plan and review skills with `sdlc-` to avoid naming conflicts with Claude Code built-ins
52
- - Added workflow-id argument support across skills
53
- - Fixed step output and reference handling between workflow steps
54
- - Fixed full skill name usage in workflows to avoid command conflicts
55
-
56
- ## 0.4.0 - 2026-01-25
57
-
58
- - Added `fix-analysis` skill for iteratively fixing issues from analysis documents
59
- - Added `workflows` CLI command to list available workflows with descriptions
60
- - Removed `/build`, `one-shot`, and `analyze` CLI commands in favor of workflow-based execution
61
- - Refactored analyze workflows to use the new `fix-analysis` skill
62
- - Removed experimental-plugins directory
63
- - Fixed `git-pr` command to fetch and compare against remote base branch to avoid stale local branch issues
64
-
65
- ## 0.3.0 - 2026-01-24
66
-
67
- - Standardized US English spelling across all code, commands, and documentation (e.g., `analyse` to `analyze`)
68
- - Renamed workflow files from `analyse-*.yaml` to `analyze-*.yaml` and `demo-workflow.yaml` to `demo.yaml`
69
- - Removed interactive-sdlc plugin
70
-
71
- ## 0.2.0 - 2026-01-21
72
-
73
- - Added `version` command to display installed version
74
- - Added `release-notes` command to display release notes from CHANGELOG.md
75
- - Added `update` command for self-updating from local marketplace
76
- - Added `add-improvement` command for tracking improvement suggestions
77
- - Added workflow auto-discovery with search order: project-local, user-global, bundled
78
- - Added `--list` flag for `run` command to list all available workflows
79
- - Added demo workflow for showcasing capabilities
80
- - Fixed `list` command to correctly find workflow progress files in `agentic/outputs/`
81
- - Fixed workflow logging to capture agent messages in both base and terminal-output modes
82
- - Fixed ralph-loop first iteration template evaluation
83
- - Fixed plan output when used in workflow context
84
- - Fixed plan-build-validate build step failures and ralph failure handling
85
-
86
- ## 0.1.0 - 2026-01-20
87
-
88
- - Initial release of agentic-sdlc
89
- - YAML-based workflow orchestration with sequential, parallel, and Ralph loop step types
90
- - Checkpoint manager for session state tracking
91
- - Python CLI for workflow management (`run`, `init`)
92
- - Core commands: plan, build, validate, analyze, orchestrate
93
- - Git commands: git-branch, git-commit, git-pr
94
- - Explorer and reviewer agents for specialized tasks
95
- - Jinja2 templates for plans, reports, and analysis outputs
96
- - Git worktree support for parallel step execution
97
- - Console output module for workflow progress display
98
- - Plugin discovery and download system with marketplace structure
99
- - Claude GitHub Actions for CI
100
- - NuGet vulnerability detection and security analysis commands