@entelligentsia/forgecli 0.6.6 → 0.7.7

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 (187) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/README.md +99 -190
  3. package/dist/bin/forge.js +20 -0
  4. package/dist/bin/forge.js.map +1 -1
  5. package/dist/extensions/forgecli/approve.d.ts +24 -0
  6. package/dist/extensions/forgecli/approve.js +202 -0
  7. package/dist/extensions/forgecli/approve.js.map +1 -0
  8. package/dist/extensions/forgecli/audience-gate.d.ts +4 -0
  9. package/dist/extensions/forgecli/audience-gate.js +8 -5
  10. package/dist/extensions/forgecli/audience-gate.js.map +1 -1
  11. package/dist/extensions/forgecli/collate.d.ts +24 -0
  12. package/dist/extensions/forgecli/collate.js +199 -0
  13. package/dist/extensions/forgecli/collate.js.map +1 -0
  14. package/dist/extensions/forgecli/commit.d.ts +24 -0
  15. package/dist/extensions/forgecli/commit.js +202 -0
  16. package/dist/extensions/forgecli/commit.js.map +1 -0
  17. package/dist/extensions/forgecli/fix-bug.d.ts +75 -0
  18. package/dist/extensions/forgecli/fix-bug.js +1133 -0
  19. package/dist/extensions/forgecli/fix-bug.js.map +1 -0
  20. package/dist/extensions/forgecli/forge-commands.js +7 -0
  21. package/dist/extensions/forgecli/forge-commands.js.map +1 -1
  22. package/dist/extensions/forgecli/forge-header.js +10 -4
  23. package/dist/extensions/forgecli/forge-header.js.map +1 -1
  24. package/dist/extensions/forgecli/forge-init.js +16 -8
  25. package/dist/extensions/forgecli/forge-init.js.map +1 -1
  26. package/dist/extensions/forgecli/forge-subagent.d.ts +29 -0
  27. package/dist/extensions/forgecli/forge-subagent.js +14 -1
  28. package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
  29. package/dist/extensions/forgecli/hook-dispatcher.d.ts +53 -1
  30. package/dist/extensions/forgecli/hook-dispatcher.js +47 -1
  31. package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
  32. package/dist/extensions/forgecli/hooks/post-init-hook.d.ts +15 -0
  33. package/dist/extensions/forgecli/hooks/post-init-hook.js +127 -0
  34. package/dist/extensions/forgecli/hooks/post-init-hook.js.map +1 -0
  35. package/dist/extensions/forgecli/hooks/post-sprint-hook.d.ts +37 -0
  36. package/dist/extensions/forgecli/hooks/post-sprint-hook.js +166 -0
  37. package/dist/extensions/forgecli/hooks/post-sprint-hook.js.map +1 -0
  38. package/dist/extensions/forgecli/index.js +56 -5
  39. package/dist/extensions/forgecli/index.js.map +1 -1
  40. package/dist/extensions/forgecli/review-code.d.ts +24 -0
  41. package/dist/extensions/forgecli/review-code.js +202 -0
  42. package/dist/extensions/forgecli/review-code.js.map +1 -0
  43. package/dist/extensions/forgecli/review-plan.d.ts +24 -0
  44. package/dist/extensions/forgecli/review-plan.js +203 -0
  45. package/dist/extensions/forgecli/review-plan.js.map +1 -0
  46. package/dist/extensions/forgecli/run-sprint.d.ts +18 -0
  47. package/dist/extensions/forgecli/run-sprint.js +33 -1
  48. package/dist/extensions/forgecli/run-sprint.js.map +1 -1
  49. package/dist/extensions/forgecli/run-task.d.ts +21 -2
  50. package/dist/extensions/forgecli/run-task.js +33 -9
  51. package/dist/extensions/forgecli/run-task.js.map +1 -1
  52. package/dist/extensions/forgecli/session-registry.d.ts +10 -0
  53. package/dist/extensions/forgecli/session-registry.js +9 -0
  54. package/dist/extensions/forgecli/session-registry.js.map +1 -1
  55. package/dist/extensions/forgecli/validate.d.ts +24 -0
  56. package/dist/extensions/forgecli/validate.js +202 -0
  57. package/dist/extensions/forgecli/validate.js.map +1 -0
  58. package/dist/extensions/forgecli/wf-engine/engine.d.ts +23 -0
  59. package/dist/extensions/forgecli/wf-engine/engine.js +384 -0
  60. package/dist/extensions/forgecli/wf-engine/engine.js.map +1 -0
  61. package/dist/extensions/forgecli/wf-engine/event-parser.d.ts +6 -0
  62. package/dist/extensions/forgecli/wf-engine/event-parser.js +29 -0
  63. package/dist/extensions/forgecli/wf-engine/event-parser.js.map +1 -0
  64. package/dist/extensions/forgecli/wf-engine/id-gen.d.ts +6 -0
  65. package/dist/extensions/forgecli/wf-engine/id-gen.js +17 -0
  66. package/dist/extensions/forgecli/wf-engine/id-gen.js.map +1 -0
  67. package/dist/extensions/forgecli/wf-engine/loader.d.ts +2 -0
  68. package/dist/extensions/forgecli/wf-engine/loader.js +100 -0
  69. package/dist/extensions/forgecli/wf-engine/loader.js.map +1 -0
  70. package/dist/extensions/forgecli/wf-engine/predicate.d.ts +7 -0
  71. package/dist/extensions/forgecli/wf-engine/predicate.js +36 -0
  72. package/dist/extensions/forgecli/wf-engine/predicate.js.map +1 -0
  73. package/dist/extensions/forgecli/wf-engine/prompt-compiler.d.ts +15 -0
  74. package/dist/extensions/forgecli/wf-engine/prompt-compiler.js +23 -0
  75. package/dist/extensions/forgecli/wf-engine/prompt-compiler.js.map +1 -0
  76. package/dist/extensions/forgecli/wf-engine/register.d.ts +9 -0
  77. package/dist/extensions/forgecli/wf-engine/register.js +59 -0
  78. package/dist/extensions/forgecli/wf-engine/register.js.map +1 -0
  79. package/dist/extensions/forgecli/wf-engine/remit-check.d.ts +6 -0
  80. package/dist/extensions/forgecli/wf-engine/remit-check.js +42 -0
  81. package/dist/extensions/forgecli/wf-engine/remit-check.js.map +1 -0
  82. package/dist/extensions/forgecli/wf-engine/state-store.d.ts +13 -0
  83. package/dist/extensions/forgecli/wf-engine/state-store.js +43 -0
  84. package/dist/extensions/forgecli/wf-engine/state-store.js.map +1 -0
  85. package/dist/extensions/forgecli/wf-engine/types.d.ts +66 -0
  86. package/dist/extensions/forgecli/wf-engine/types.js +2 -0
  87. package/dist/extensions/forgecli/wf-engine/types.js.map +1 -0
  88. package/dist/extensions/forgecli/wf-engine/worker.d.ts +11 -0
  89. package/dist/extensions/forgecli/wf-engine/worker.js +50 -0
  90. package/dist/extensions/forgecli/wf-engine/worker.js.map +1 -0
  91. package/dist/forge-payload/.base-pack/workflows/_fragments/context-injection.md +10 -4
  92. package/dist/forge-payload/.base-pack/workflows/fix_bug.md +12 -0
  93. package/dist/forge-payload/.schemas/bug.schema.json +4 -2
  94. package/dist/forge-payload/.schemas/event.schema.json +22 -3
  95. package/dist/forge-payload/commands/add-pipeline.md +342 -0
  96. package/dist/forge-payload/commands/add-task.md +269 -0
  97. package/dist/forge-payload/commands/ask.md +43 -0
  98. package/dist/forge-payload/commands/calibrate.md +356 -0
  99. package/dist/forge-payload/commands/config.md +202 -0
  100. package/dist/forge-payload/commands/enhance.md +38 -0
  101. package/dist/forge-payload/commands/health.md +225 -0
  102. package/dist/forge-payload/commands/init.md +165 -0
  103. package/dist/forge-payload/commands/materialize.md +119 -0
  104. package/dist/forge-payload/commands/migrate.md +160 -0
  105. package/dist/forge-payload/commands/quiz-agent.md +38 -0
  106. package/dist/forge-payload/commands/regenerate.md +673 -0
  107. package/dist/forge-payload/commands/remove.md +174 -0
  108. package/dist/forge-payload/commands/report-bug.md +191 -0
  109. package/dist/forge-payload/commands/store-query.md +73 -0
  110. package/dist/forge-payload/commands/store-repair.md +187 -0
  111. package/dist/forge-payload/commands/update-tools.md +56 -0
  112. package/dist/forge-payload/commands/update.md +1376 -0
  113. package/dist/forge-payload/tools/preflight-gate.cjs +2 -1
  114. package/dist/forge-payload/tools/read-verdict.cjs +41 -8
  115. package/dist/forge-payload/tools/store-cli.cjs +4 -3
  116. package/node_modules/argparse/CHANGELOG.md +216 -0
  117. package/node_modules/argparse/LICENSE +254 -0
  118. package/node_modules/argparse/README.md +84 -0
  119. package/node_modules/argparse/argparse.js +3707 -0
  120. package/node_modules/argparse/lib/sub.js +67 -0
  121. package/node_modules/argparse/lib/textwrap.js +440 -0
  122. package/node_modules/argparse/package.json +31 -0
  123. package/node_modules/cliui/CHANGELOG.md +121 -0
  124. package/node_modules/color-convert/CHANGELOG.md +54 -0
  125. package/node_modules/esprima/ChangeLog +235 -0
  126. package/node_modules/js-yaml/LICENSE +21 -0
  127. package/node_modules/js-yaml/README.md +247 -0
  128. package/node_modules/js-yaml/bin/js-yaml.js +126 -0
  129. package/node_modules/js-yaml/dist/js-yaml.js +3880 -0
  130. package/node_modules/js-yaml/dist/js-yaml.min.js +2 -0
  131. package/node_modules/js-yaml/dist/js-yaml.mjs +3856 -0
  132. package/node_modules/js-yaml/index.js +47 -0
  133. package/node_modules/js-yaml/lib/common.js +59 -0
  134. package/node_modules/js-yaml/lib/dumper.js +965 -0
  135. package/node_modules/js-yaml/lib/exception.js +55 -0
  136. package/node_modules/js-yaml/lib/loader.js +1733 -0
  137. package/node_modules/js-yaml/lib/schema/core.js +11 -0
  138. package/node_modules/js-yaml/lib/schema/default.js +22 -0
  139. package/node_modules/js-yaml/lib/schema/failsafe.js +17 -0
  140. package/node_modules/js-yaml/lib/schema/json.js +19 -0
  141. package/node_modules/js-yaml/lib/schema.js +121 -0
  142. package/node_modules/js-yaml/lib/snippet.js +101 -0
  143. package/node_modules/js-yaml/lib/type/binary.js +125 -0
  144. package/node_modules/js-yaml/lib/type/bool.js +35 -0
  145. package/node_modules/js-yaml/lib/type/float.js +97 -0
  146. package/node_modules/js-yaml/lib/type/int.js +156 -0
  147. package/node_modules/js-yaml/lib/type/map.js +8 -0
  148. package/node_modules/js-yaml/lib/type/merge.js +12 -0
  149. package/node_modules/js-yaml/lib/type/null.js +35 -0
  150. package/node_modules/js-yaml/lib/type/omap.js +44 -0
  151. package/node_modules/js-yaml/lib/type/pairs.js +53 -0
  152. package/node_modules/js-yaml/lib/type/seq.js +8 -0
  153. package/node_modules/js-yaml/lib/type/set.js +29 -0
  154. package/node_modules/js-yaml/lib/type/str.js +8 -0
  155. package/node_modules/js-yaml/lib/type/timestamp.js +88 -0
  156. package/node_modules/js-yaml/lib/type.js +66 -0
  157. package/node_modules/js-yaml/package.json +66 -0
  158. package/node_modules/mz/HISTORY.md +66 -0
  159. package/node_modules/proper-lockfile/CHANGELOG.md +108 -0
  160. package/node_modules/source-map/CHANGELOG.md +301 -0
  161. package/node_modules/thenify/History.md +11 -0
  162. package/node_modules/thenify-all/History.md +11 -0
  163. package/node_modules/y18n/CHANGELOG.md +100 -0
  164. package/node_modules/yargs/CHANGELOG.md +88 -0
  165. package/node_modules/yargs-parser/CHANGELOG.md +263 -0
  166. package/package.json +6 -2
  167. package/themes/forge-matrix.json +89 -0
  168. package/themes/forge-mono.json +86 -0
  169. package/workflows/lead-qualifier/prompts/digest.md +44 -0
  170. package/workflows/lead-qualifier/prompts/draft-outreach.md +44 -0
  171. package/workflows/lead-qualifier/prompts/enrich.md +52 -0
  172. package/workflows/lead-qualifier/prompts/intake.md +48 -0
  173. package/workflows/lead-qualifier/prompts/mark-cold.md +38 -0
  174. package/workflows/lead-qualifier/prompts/score.md +45 -0
  175. package/workflows/lead-qualifier/workflow.yaml +95 -0
  176. package/workflows/research-brief/prompts/brief-synthesize.md +43 -0
  177. package/workflows/research-brief/prompts/intake.md +51 -0
  178. package/workflows/research-brief/prompts/source-critique.md +38 -0
  179. package/workflows/research-brief/prompts/source-score.md +38 -0
  180. package/workflows/research-brief/prompts/source-summarize.md +54 -0
  181. package/workflows/research-brief/workflow.yaml +66 -0
  182. package/dist/extensions/forgecli/session-monitor-widget.d.ts +0 -37
  183. package/dist/extensions/forgecli/session-monitor-widget.js +0 -320
  184. package/dist/extensions/forgecli/session-monitor-widget.js.map +0 -1
  185. package/dist/extensions/forgecli/session-monitor.d.ts +0 -2
  186. package/dist/extensions/forgecli/session-monitor.js +0 -135
  187. package/dist/extensions/forgecli/session-monitor.js.map +0 -1
@@ -0,0 +1,263 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
+
5
+ ### [20.2.9](https://www.github.com/yargs/yargs-parser/compare/yargs-parser-v20.2.8...yargs-parser-v20.2.9) (2021-06-20)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **build:** fixed automated release pipeline ([1fe9135](https://www.github.com/yargs/yargs-parser/commit/1fe9135884790a083615419b2861683e2597dac3))
11
+
12
+ ### [20.2.8](https://www.github.com/yargs/yargs-parser/compare/yargs-parser-v20.2.7...yargs-parser-v20.2.8) (2021-06-20)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **locale:** Turkish camelize and decamelize issues with toLocaleLowerCase/toLocaleUpperCase ([2617303](https://www.github.com/yargs/yargs-parser/commit/261730383e02448562f737b94bbd1f164aed5143))
18
+ * **perf:** address slow parse when using unknown-options-as-args ([#394](https://www.github.com/yargs/yargs-parser/issues/394)) ([441f059](https://www.github.com/yargs/yargs-parser/commit/441f059d585d446551068ad213db79ac91daf83a))
19
+ * **string-utils:** detect [0,1] ranged values as numbers ([#388](https://www.github.com/yargs/yargs-parser/issues/388)) ([efcc32c](https://www.github.com/yargs/yargs-parser/commit/efcc32c2d6b09aba31abfa2db9bd947befe5586b))
20
+
21
+ ### [20.2.7](https://www.github.com/yargs/yargs-parser/compare/v20.2.6...v20.2.7) (2021-03-10)
22
+
23
+
24
+ ### Bug Fixes
25
+
26
+ * **deno:** force release for Deno ([6687c97](https://www.github.com/yargs/yargs-parser/commit/6687c972d0f3ca7865a97908dde3080b05f8b026))
27
+
28
+ ### [20.2.6](https://www.github.com/yargs/yargs-parser/compare/v20.2.5...v20.2.6) (2021-02-22)
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * **populate--:** -- should always be array ([#354](https://www.github.com/yargs/yargs-parser/issues/354)) ([585ae8f](https://www.github.com/yargs/yargs-parser/commit/585ae8ffad74cc02974f92d788e750137fd65146))
34
+
35
+ ### [20.2.5](https://www.github.com/yargs/yargs-parser/compare/v20.2.4...v20.2.5) (2021-02-13)
36
+
37
+
38
+ ### Bug Fixes
39
+
40
+ * do not lowercase camel cased string ([#348](https://www.github.com/yargs/yargs-parser/issues/348)) ([5f4da1f](https://www.github.com/yargs/yargs-parser/commit/5f4da1f17d9d50542d2aaa206c9806ce3e320335))
41
+
42
+ ### [20.2.4](https://www.github.com/yargs/yargs-parser/compare/v20.2.3...v20.2.4) (2020-11-09)
43
+
44
+
45
+ ### Bug Fixes
46
+
47
+ * **deno:** address import issues in Deno ([#339](https://www.github.com/yargs/yargs-parser/issues/339)) ([3b54e5e](https://www.github.com/yargs/yargs-parser/commit/3b54e5eef6e9a7b7c6eec7c12bab3ba3b8ba8306))
48
+
49
+ ### [20.2.3](https://www.github.com/yargs/yargs-parser/compare/v20.2.2...v20.2.3) (2020-10-16)
50
+
51
+
52
+ ### Bug Fixes
53
+
54
+ * **exports:** node 13.0 and 13.1 require the dotted object form _with_ a string fallback ([#336](https://www.github.com/yargs/yargs-parser/issues/336)) ([3ae7242](https://www.github.com/yargs/yargs-parser/commit/3ae7242040ff876d28dabded60ac226e00150c88))
55
+
56
+ ### [20.2.2](https://www.github.com/yargs/yargs-parser/compare/v20.2.1...v20.2.2) (2020-10-14)
57
+
58
+
59
+ ### Bug Fixes
60
+
61
+ * **exports:** node 13.0-13.6 require a string fallback ([#333](https://www.github.com/yargs/yargs-parser/issues/333)) ([291aeda](https://www.github.com/yargs/yargs-parser/commit/291aeda06b685b7a015d83bdf2558e180b37388d))
62
+
63
+ ### [20.2.1](https://www.github.com/yargs/yargs-parser/compare/v20.2.0...v20.2.1) (2020-10-01)
64
+
65
+
66
+ ### Bug Fixes
67
+
68
+ * **deno:** update types for deno ^1.4.0 ([#330](https://www.github.com/yargs/yargs-parser/issues/330)) ([0ab92e5](https://www.github.com/yargs/yargs-parser/commit/0ab92e50b090f11196334c048c9c92cecaddaf56))
69
+
70
+ ## [20.2.0](https://www.github.com/yargs/yargs-parser/compare/v20.1.0...v20.2.0) (2020-09-21)
71
+
72
+
73
+ ### Features
74
+
75
+ * **string-utils:** export looksLikeNumber helper ([#324](https://www.github.com/yargs/yargs-parser/issues/324)) ([c8580a2](https://www.github.com/yargs/yargs-parser/commit/c8580a2327b55f6342acecb6e72b62963d506750))
76
+
77
+
78
+ ### Bug Fixes
79
+
80
+ * **unknown-options-as-args:** convert positionals that look like numbers ([#326](https://www.github.com/yargs/yargs-parser/issues/326)) ([f85ebb4](https://www.github.com/yargs/yargs-parser/commit/f85ebb4face9d4b0f56147659404cbe0002f3dad))
81
+
82
+ ## [20.1.0](https://www.github.com/yargs/yargs-parser/compare/v20.0.0...v20.1.0) (2020-09-20)
83
+
84
+
85
+ ### Features
86
+
87
+ * adds parse-positional-numbers configuration ([#321](https://www.github.com/yargs/yargs-parser/issues/321)) ([9cec00a](https://www.github.com/yargs/yargs-parser/commit/9cec00a622251292ffb7dce6f78f5353afaa0d4c))
88
+
89
+
90
+ ### Bug Fixes
91
+
92
+ * **build:** update release-please; make labels kick off builds ([#323](https://www.github.com/yargs/yargs-parser/issues/323)) ([09f448b](https://www.github.com/yargs/yargs-parser/commit/09f448b4cd66e25d2872544718df46dab8af062a))
93
+
94
+ ## [20.0.0](https://www.github.com/yargs/yargs-parser/compare/v19.0.4...v20.0.0) (2020-09-09)
95
+
96
+
97
+ ### ⚠ BREAKING CHANGES
98
+
99
+ * do not ship type definitions (#318)
100
+
101
+ ### Bug Fixes
102
+
103
+ * only strip camel case if hyphenated ([#316](https://www.github.com/yargs/yargs-parser/issues/316)) ([95a9e78](https://www.github.com/yargs/yargs-parser/commit/95a9e785127b9bbf2d1db1f1f808ca1fb100e82a)), closes [#315](https://www.github.com/yargs/yargs-parser/issues/315)
104
+
105
+
106
+ ### Code Refactoring
107
+
108
+ * do not ship type definitions ([#318](https://www.github.com/yargs/yargs-parser/issues/318)) ([8fbd56f](https://www.github.com/yargs/yargs-parser/commit/8fbd56f1d0b6c44c30fca62708812151ca0ce330))
109
+
110
+ ### [19.0.4](https://www.github.com/yargs/yargs-parser/compare/v19.0.3...v19.0.4) (2020-08-27)
111
+
112
+
113
+ ### Bug Fixes
114
+
115
+ * **build:** fixing publication ([#310](https://www.github.com/yargs/yargs-parser/issues/310)) ([5d3c6c2](https://www.github.com/yargs/yargs-parser/commit/5d3c6c29a9126248ba601920d9cf87c78e161ff5))
116
+
117
+ ### [19.0.3](https://www.github.com/yargs/yargs-parser/compare/v19.0.2...v19.0.3) (2020-08-27)
118
+
119
+
120
+ ### Bug Fixes
121
+
122
+ * **build:** switch to action for publish ([#308](https://www.github.com/yargs/yargs-parser/issues/308)) ([5c2f305](https://www.github.com/yargs/yargs-parser/commit/5c2f30585342bcd8aaf926407c863099d256d174))
123
+
124
+ ### [19.0.2](https://www.github.com/yargs/yargs-parser/compare/v19.0.1...v19.0.2) (2020-08-27)
125
+
126
+
127
+ ### Bug Fixes
128
+
129
+ * **types:** envPrefix should be optional ([#305](https://www.github.com/yargs/yargs-parser/issues/305)) ([ae3f180](https://www.github.com/yargs/yargs-parser/commit/ae3f180e14df2de2fd962145f4518f9aa0e76523))
130
+
131
+ ### [19.0.1](https://www.github.com/yargs/yargs-parser/compare/v19.0.0...v19.0.1) (2020-08-09)
132
+
133
+
134
+ ### Bug Fixes
135
+
136
+ * **build:** push tag created for deno ([2186a14](https://www.github.com/yargs/yargs-parser/commit/2186a14989749887d56189867602e39e6679f8b0))
137
+
138
+ ## [19.0.0](https://www.github.com/yargs/yargs-parser/compare/v18.1.3...v19.0.0) (2020-08-09)
139
+
140
+
141
+ ### ⚠ BREAKING CHANGES
142
+
143
+ * adds support for ESM and Deno (#295)
144
+ * **ts:** projects using `@types/yargs-parser` may see variations in type definitions.
145
+ * drops Node 6. begin following Node.js LTS schedule (#278)
146
+
147
+ ### Features
148
+
149
+ * adds support for ESM and Deno ([#295](https://www.github.com/yargs/yargs-parser/issues/295)) ([195bc4a](https://www.github.com/yargs/yargs-parser/commit/195bc4a7f20c2a8f8e33fbb6ba96ef6e9a0120a1))
150
+ * expose camelCase and decamelize helpers ([#296](https://www.github.com/yargs/yargs-parser/issues/296)) ([39154ce](https://www.github.com/yargs/yargs-parser/commit/39154ceb5bdcf76b5f59a9219b34cedb79b67f26))
151
+ * **deps:** update to latest camelcase/decamelize ([#281](https://www.github.com/yargs/yargs-parser/issues/281)) ([8931ab0](https://www.github.com/yargs/yargs-parser/commit/8931ab08f686cc55286f33a95a83537da2be5516))
152
+
153
+
154
+ ### Bug Fixes
155
+
156
+ * boolean numeric short option ([#294](https://www.github.com/yargs/yargs-parser/issues/294)) ([f600082](https://www.github.com/yargs/yargs-parser/commit/f600082c959e092076caf420bbbc9d7a231e2418))
157
+ * raise permission error for Deno if config load fails ([#298](https://www.github.com/yargs/yargs-parser/issues/298)) ([1174e2b](https://www.github.com/yargs/yargs-parser/commit/1174e2b3f0c845a1cd64e14ffc3703e730567a84))
158
+ * **deps:** update dependency decamelize to v3 ([#274](https://www.github.com/yargs/yargs-parser/issues/274)) ([4d98698](https://www.github.com/yargs/yargs-parser/commit/4d98698bc6767e84ec54a0842908191739be73b7))
159
+ * **types:** switch back to using Partial types ([#293](https://www.github.com/yargs/yargs-parser/issues/293)) ([bdc80ba](https://www.github.com/yargs/yargs-parser/commit/bdc80ba59fa13bc3025ce0a85e8bad9f9da24ea7))
160
+
161
+
162
+ ### Build System
163
+
164
+ * drops Node 6. begin following Node.js LTS schedule ([#278](https://www.github.com/yargs/yargs-parser/issues/278)) ([9014ed7](https://www.github.com/yargs/yargs-parser/commit/9014ed722a32768b96b829e65a31705db5c1458a))
165
+
166
+
167
+ ### Code Refactoring
168
+
169
+ * **ts:** move index.js to TypeScript ([#292](https://www.github.com/yargs/yargs-parser/issues/292)) ([f78d2b9](https://www.github.com/yargs/yargs-parser/commit/f78d2b97567ac4828624406e420b4047c710b789))
170
+
171
+ ### [18.1.3](https://www.github.com/yargs/yargs-parser/compare/v18.1.2...v18.1.3) (2020-04-16)
172
+
173
+
174
+ ### Bug Fixes
175
+
176
+ * **setArg:** options using camel-case and dot-notation populated twice ([#268](https://www.github.com/yargs/yargs-parser/issues/268)) ([f7e15b9](https://www.github.com/yargs/yargs-parser/commit/f7e15b9800900b9856acac1a830a5f35847be73e))
177
+
178
+ ### [18.1.2](https://www.github.com/yargs/yargs-parser/compare/v18.1.1...v18.1.2) (2020-03-26)
179
+
180
+
181
+ ### Bug Fixes
182
+
183
+ * **array, nargs:** support -o=--value and --option=--value format ([#262](https://www.github.com/yargs/yargs-parser/issues/262)) ([41d3f81](https://www.github.com/yargs/yargs-parser/commit/41d3f8139e116706b28de9b0de3433feb08d2f13))
184
+
185
+ ### [18.1.1](https://www.github.com/yargs/yargs-parser/compare/v18.1.0...v18.1.1) (2020-03-16)
186
+
187
+
188
+ ### Bug Fixes
189
+
190
+ * \_\_proto\_\_ will now be replaced with \_\_\_proto\_\_\_ in parse ([#258](https://www.github.com/yargs/yargs-parser/issues/258)), patching a potential
191
+ prototype pollution vulnerability. This was reported by the Snyk Security Research Team.([63810ca](https://www.github.com/yargs/yargs-parser/commit/63810ca1ae1a24b08293a4d971e70e058c7a41e2))
192
+
193
+ ## [18.1.0](https://www.github.com/yargs/yargs-parser/compare/v18.0.0...v18.1.0) (2020-03-07)
194
+
195
+
196
+ ### Features
197
+
198
+ * introduce single-digit boolean aliases ([#255](https://www.github.com/yargs/yargs-parser/issues/255)) ([9c60265](https://www.github.com/yargs/yargs-parser/commit/9c60265fd7a03cb98e6df3e32c8c5e7508d9f56f))
199
+
200
+ ## [18.0.0](https://www.github.com/yargs/yargs-parser/compare/v17.1.0...v18.0.0) (2020-03-02)
201
+
202
+
203
+ ### ⚠ BREAKING CHANGES
204
+
205
+ * the narg count is now enforced when parsing arrays.
206
+
207
+ ### Features
208
+
209
+ * NaN can now be provided as a value for nargs, indicating "at least" one value is expected for array ([#251](https://www.github.com/yargs/yargs-parser/issues/251)) ([9db4be8](https://www.github.com/yargs/yargs-parser/commit/9db4be81417a2c7097128db34d86fe70ef4af70c))
210
+
211
+ ## [17.1.0](https://www.github.com/yargs/yargs-parser/compare/v17.0.1...v17.1.0) (2020-03-01)
212
+
213
+
214
+ ### Features
215
+
216
+ * introduce greedy-arrays config, for specifying whether arrays consume multiple positionals ([#249](https://www.github.com/yargs/yargs-parser/issues/249)) ([60e880a](https://www.github.com/yargs/yargs-parser/commit/60e880a837046314d89fa4725f923837fd33a9eb))
217
+
218
+ ### [17.0.1](https://www.github.com/yargs/yargs-parser/compare/v17.0.0...v17.0.1) (2020-02-29)
219
+
220
+
221
+ ### Bug Fixes
222
+
223
+ * normalized keys were not enumerable ([#247](https://www.github.com/yargs/yargs-parser/issues/247)) ([57119f9](https://www.github.com/yargs/yargs-parser/commit/57119f9f17cf27499bd95e61c2f72d18314f11ba))
224
+
225
+ ## [17.0.0](https://www.github.com/yargs/yargs-parser/compare/v16.1.0...v17.0.0) (2020-02-10)
226
+
227
+
228
+ ### ⚠ BREAKING CHANGES
229
+
230
+ * this reverts parsing behavior of booleans to that of yargs@14
231
+ * objects used during parsing are now created with a null
232
+ prototype. There may be some scenarios where this change in behavior
233
+ leaks externally.
234
+
235
+ ### Features
236
+
237
+ * boolean arguments will not be collected into an implicit array ([#236](https://www.github.com/yargs/yargs-parser/issues/236)) ([34c4e19](https://www.github.com/yargs/yargs-parser/commit/34c4e19bae4e7af63e3cb6fa654a97ed476e5eb5))
238
+ * introduce nargs-eats-options config option ([#246](https://www.github.com/yargs/yargs-parser/issues/246)) ([d50822a](https://www.github.com/yargs/yargs-parser/commit/d50822ac10e1b05f2e9643671ca131ac251b6732))
239
+
240
+
241
+ ### Bug Fixes
242
+
243
+ * address bugs with "uknown-options-as-args" ([bc023e3](https://www.github.com/yargs/yargs-parser/commit/bc023e3b13e20a118353f9507d1c999bf388a346))
244
+ * array should take precedence over nargs, but enforce nargs ([#243](https://www.github.com/yargs/yargs-parser/issues/243)) ([4cbc188](https://www.github.com/yargs/yargs-parser/commit/4cbc188b7abb2249529a19c090338debdad2fe6c))
245
+ * support keys that collide with object prototypes ([#234](https://www.github.com/yargs/yargs-parser/issues/234)) ([1587b6d](https://www.github.com/yargs/yargs-parser/commit/1587b6d91db853a9109f1be6b209077993fee4de))
246
+ * unknown options terminated with digits now handled by unknown-options-as-args ([#238](https://www.github.com/yargs/yargs-parser/issues/238)) ([d36cdfa](https://www.github.com/yargs/yargs-parser/commit/d36cdfa854254d7c7e0fe1d583818332ac46c2a5))
247
+
248
+ ## [16.1.0](https://www.github.com/yargs/yargs-parser/compare/v16.0.0...v16.1.0) (2019-11-01)
249
+
250
+
251
+ ### ⚠ BREAKING CHANGES
252
+
253
+ * populate error if incompatible narg/count or array/count options are used (#191)
254
+
255
+ ### Features
256
+
257
+ * options that have had their default value used are now tracked ([#211](https://www.github.com/yargs/yargs-parser/issues/211)) ([a525234](https://www.github.com/yargs/yargs-parser/commit/a525234558c847deedd73f8792e0a3b77b26e2c0))
258
+ * populate error if incompatible narg/count or array/count options are used ([#191](https://www.github.com/yargs/yargs-parser/issues/191)) ([84a401f](https://www.github.com/yargs/yargs-parser/commit/84a401f0fa3095e0a19661670d1570d0c3b9d3c9))
259
+
260
+
261
+ ### Reverts
262
+
263
+ * revert 16.0.0 CHANGELOG entry ([920320a](https://www.github.com/yargs/yargs-parser/commit/920320ad9861bbfd58eda39221ae211540fc1daf))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entelligentsia/forgecli",
3
- "version": "0.6.6",
3
+ "version": "0.7.7",
4
4
  "description": "Forge SDLC ported onto @earendil-works/pi-coding-agent \u2014 production launcher with three bin aliases (forge/forgecli/4ge).",
5
5
  "license": "MIT",
6
6
  "author": "Entelligentsia",
@@ -27,6 +27,7 @@
27
27
  "registry",
28
28
  "skills",
29
29
  "themes",
30
+ "workflows",
30
31
  "README.md",
31
32
  "CHANGELOG.md",
32
33
  "LICENSE"
@@ -66,13 +67,15 @@
66
67
  "@entelligentsia/pi-coding-agent",
67
68
  "@entelligentsia/pi-agent-core",
68
69
  "@entelligentsia/pi-ai",
69
- "@entelligentsia/pi-tui"
70
+ "@entelligentsia/pi-tui",
71
+ "js-yaml"
70
72
  ],
71
73
  "dependencies": {
72
74
  "@entelligentsia/pi-coding-agent": "file:./vendor-pi/entelligentsia-pi-coding-agent-0.75.0.tgz",
73
75
  "@entelligentsia/pi-agent-core": "file:./vendor-pi/entelligentsia-pi-agent-core-0.75.0.tgz",
74
76
  "@entelligentsia/pi-ai": "file:./vendor-pi/entelligentsia-pi-ai-0.75.0.tgz",
75
77
  "@entelligentsia/pi-tui": "file:./vendor-pi/entelligentsia-pi-tui-0.75.0.tgz",
78
+ "js-yaml": "^4.1.0",
76
79
  "typebox": "^1.1.24"
77
80
  },
78
81
  "peerDependencies": {
@@ -80,6 +83,7 @@
80
83
  },
81
84
  "devDependencies": {
82
85
  "@biomejs/biome": "^2.3.5",
86
+ "@types/js-yaml": "^4.0.9",
83
87
  "@types/node": "^24.3.0",
84
88
  "typescript": "^5.7.3",
85
89
  "vitest": "^3.2.4"
@@ -0,0 +1,89 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/earendil-works/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
3
+ "name": "forge-matrix",
4
+ "vars": {
5
+ "matrix": "#00ff41",
6
+ "phosphor": "#39ff14",
7
+ "emerald": "#00cc33",
8
+ "jade": "#00994d",
9
+ "moss": "#007a2e",
10
+ "deepMoss": "#004d1a",
11
+ "darkMoss": "#003311",
12
+ "abyss": "#001a08",
13
+ "void": "#000800",
14
+ "terminal": "#0a0e0a",
15
+ "glitch": "#88ff88",
16
+ "warnAmber": "#aaff00",
17
+ "errRed": "#ff3030",
18
+ "selectBg": "#003a14",
19
+ "userBg": "#001408",
20
+ "toolBg": "#000800",
21
+ "toolOkBg": "#002a10",
22
+ "toolErrBg": "#1a0808",
23
+ "cyber": "#00ffe5"
24
+ },
25
+ "colors": {
26
+ "accent": "matrix",
27
+ "border": "moss",
28
+ "borderAccent": "phosphor",
29
+ "borderMuted": "deepMoss",
30
+ "success": "phosphor",
31
+ "error": "errRed",
32
+ "warning": "warnAmber",
33
+ "muted": "jade",
34
+ "dim": "moss",
35
+ "text": "matrix",
36
+ "thinkingText": "jade",
37
+
38
+ "selectedBg": "selectBg",
39
+ "userMessageBg": "userBg",
40
+ "userMessageText": "glitch",
41
+ "customMessageBg": "deepMoss",
42
+ "customMessageText": "phosphor",
43
+ "customMessageLabel": "cyber",
44
+ "toolPendingBg": "toolBg",
45
+ "toolSuccessBg": "toolOkBg",
46
+ "toolErrorBg": "toolErrBg",
47
+ "toolTitle": "phosphor",
48
+ "toolOutput": "jade",
49
+
50
+ "mdHeading": "phosphor",
51
+ "mdLink": "cyber",
52
+ "mdLinkUrl": "jade",
53
+ "mdCode": "glitch",
54
+ "mdCodeBlock": "matrix",
55
+ "mdCodeBlockBorder": "deepMoss",
56
+ "mdQuote": "jade",
57
+ "mdQuoteBorder": "moss",
58
+ "mdHr": "moss",
59
+ "mdListBullet": "phosphor",
60
+
61
+ "toolDiffAdded": "phosphor",
62
+ "toolDiffRemoved": "errRed",
63
+ "toolDiffContext": "jade",
64
+
65
+ "syntaxComment": "moss",
66
+ "syntaxKeyword": "phosphor",
67
+ "syntaxFunction": "cyber",
68
+ "syntaxVariable": "matrix",
69
+ "syntaxString": "glitch",
70
+ "syntaxNumber": "warnAmber",
71
+ "syntaxType": "cyber",
72
+ "syntaxOperator": "phosphor",
73
+ "syntaxPunctuation": "emerald",
74
+
75
+ "thinkingOff": "darkMoss",
76
+ "thinkingMinimal": "deepMoss",
77
+ "thinkingLow": "moss",
78
+ "thinkingMedium": "jade",
79
+ "thinkingHigh": "emerald",
80
+ "thinkingXhigh": "phosphor",
81
+
82
+ "bashMode": "phosphor"
83
+ },
84
+ "export": {
85
+ "pageBg": "#000800",
86
+ "cardBg": "#001a08",
87
+ "infoBg": "#003a14"
88
+ }
89
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/earendil-works/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
3
+ "name": "forge-mono",
4
+ "vars": {
5
+ "bone": "#f2f0ea",
6
+ "paper": "#e0ddd5",
7
+ "ash": "#c8c5be",
8
+ "stone": "#8a8783",
9
+ "slate": "#5a5755",
10
+ "graphite": "#3a3835",
11
+ "shadow": "#252321",
12
+ "void": "#0f0f10",
13
+ "selectBg": "#2a2826",
14
+ "userBg": "#15140f",
15
+ "toolBg": "#0a0908",
16
+ "toolOkBg": "#1a1a1a",
17
+ "toolErrBg": "#202020",
18
+ "muteRed": "#a08070",
19
+ "muteGreen": "#909088",
20
+ "muteAmber": "#b8b09a"
21
+ },
22
+ "colors": {
23
+ "accent": "bone",
24
+ "border": "slate",
25
+ "borderAccent": "bone",
26
+ "borderMuted": "graphite",
27
+ "success": "muteGreen",
28
+ "error": "muteRed",
29
+ "warning": "muteAmber",
30
+ "muted": "stone",
31
+ "dim": "slate",
32
+ "text": "bone",
33
+ "thinkingText": "stone",
34
+
35
+ "selectedBg": "selectBg",
36
+ "userMessageBg": "userBg",
37
+ "userMessageText": "bone",
38
+ "customMessageBg": "graphite",
39
+ "customMessageText": "bone",
40
+ "customMessageLabel": "paper",
41
+ "toolPendingBg": "toolBg",
42
+ "toolSuccessBg": "toolOkBg",
43
+ "toolErrorBg": "toolErrBg",
44
+ "toolTitle": "bone",
45
+ "toolOutput": "stone",
46
+
47
+ "mdHeading": "bone",
48
+ "mdLink": "paper",
49
+ "mdLinkUrl": "stone",
50
+ "mdCode": "ash",
51
+ "mdCodeBlock": "ash",
52
+ "mdCodeBlockBorder": "graphite",
53
+ "mdQuote": "stone",
54
+ "mdQuoteBorder": "graphite",
55
+ "mdHr": "graphite",
56
+ "mdListBullet": "bone",
57
+
58
+ "toolDiffAdded": "muteGreen",
59
+ "toolDiffRemoved": "muteRed",
60
+ "toolDiffContext": "stone",
61
+
62
+ "syntaxComment": "slate",
63
+ "syntaxKeyword": "bone",
64
+ "syntaxFunction": "paper",
65
+ "syntaxVariable": "bone",
66
+ "syntaxString": "ash",
67
+ "syntaxNumber": "ash",
68
+ "syntaxType": "paper",
69
+ "syntaxOperator": "bone",
70
+ "syntaxPunctuation": "ash",
71
+
72
+ "thinkingOff": "graphite",
73
+ "thinkingMinimal": "slate",
74
+ "thinkingLow": "stone",
75
+ "thinkingMedium": "ash",
76
+ "thinkingHigh": "paper",
77
+ "thinkingXhigh": "bone",
78
+
79
+ "bashMode": "bone"
80
+ },
81
+ "export": {
82
+ "pageBg": "#0f0f10",
83
+ "cardBg": "#252321",
84
+ "infoBg": "#3a3835"
85
+ }
86
+ }
@@ -0,0 +1,44 @@
1
+ # Role
2
+ You are the `digest` node — the final summary after the per-lead pipeline finishes.
3
+
4
+ # Inputs
5
+ - ICP: `state.entryPrompt`
6
+ - Full state JSON:
7
+ {{state}}
8
+
9
+ # Your remit
10
+ Produce `artifacts/BRIEF.md` containing:
11
+
12
+ - **TL;DR** — 2–3 sentences: how many leads, how many warm vs cold, top recommended target.
13
+ - **Warm leads** — table: id, company, industry, score, decision_maker_title, link to
14
+ `outreach/<id>.md`.
15
+ - **Cold leads** — table: id, company, score, rationale.
16
+ - **Notes** — any patterns observed across the cohort (e.g. "most warm leads are series-b
17
+ manufacturing").
18
+
19
+ # Output protocol (MANDATORY)
20
+
21
+ ```json events
22
+ [
23
+ { "type": "started" },
24
+ {
25
+ "type": "success",
26
+ "summary": "Digest written — <W> warm, <C> cold",
27
+ "writes": {
28
+ "artifact": {
29
+ "path": "artifacts/BRIEF.md",
30
+ "content": "# Lead Qualifier Brief\n\n## TL;DR\n..."
31
+ }
32
+ }
33
+ }
34
+ ]
35
+ ```
36
+
37
+ On failure:
38
+
39
+ ```json events
40
+ [
41
+ { "type": "started" },
42
+ { "type": "failure", "reason": "cannot-synthesize", "details": "<why>" }
43
+ ]
44
+ ```
@@ -0,0 +1,44 @@
1
+ # Role
2
+ You are the `draft-outreach` node. You only run for warm leads (score >= 4).
3
+ You draft a personalized outreach email and tag the lead's outcome.
4
+
5
+ # Inputs
6
+ - ICP: `state.entryPrompt`
7
+ - Lead (with enrichment + score):
8
+ {{loop.item}}
9
+
10
+ # Your remit
11
+ 1. Draft a short (≤180 word) outreach email tailored to the lead's industry, signal, and
12
+ decision-maker title. Subject line on the first line, then a blank line, then the body.
13
+ 2. Write it to `artifacts/outreach/{{loop.item.id}}.md`.
14
+ 3. Set `leads.{{loop.item.id}}.outcome` to `{ "status": "warm", "next_step": "send-outreach" }`.
15
+
16
+ # Output protocol (MANDATORY)
17
+
18
+ ```json events
19
+ [
20
+ { "type": "started" },
21
+ {
22
+ "type": "success",
23
+ "summary": "Drafted outreach for {{loop.item.id}}",
24
+ "writes": {
25
+ "artifact": {
26
+ "path": "artifacts/outreach/{{loop.item.id}}.md",
27
+ "content": "Subject: ...\n\nHi <name>,\n\n..."
28
+ },
29
+ "state": {
30
+ "leads.{{loop.item.id}}.outcome": { "status": "warm", "next_step": "send-outreach" }
31
+ }
32
+ }
33
+ }
34
+ ]
35
+ ```
36
+
37
+ On failure:
38
+
39
+ ```json events
40
+ [
41
+ { "type": "started" },
42
+ { "type": "failure", "reason": "cannot-draft", "details": "<why>" }
43
+ ]
44
+ ```
@@ -0,0 +1,52 @@
1
+ # Role
2
+ You are the `enrich` node — the head of the per-lead pipeline.
3
+ You enrich ONE lead at a time with plausible firmographic detail.
4
+
5
+ # Inputs
6
+ - Your node exec id: {{node.execId}}
7
+ - Current lead (loop item):
8
+ {{loop.item}}
9
+
10
+ # Your remit
11
+ Produce an `enriched` object for this lead with:
12
+
13
+ - `revenue_band`: one of "<$1M", "$1-10M", "$10-100M", "$100M-1B", ">$1B"
14
+ - `tech_stack`: array of 2–5 product/tech names that this kind of company likely uses
15
+ - `decision_maker_title`: the role most likely to own this purchase
16
+ - `region`: short geographic descriptor (e.g. "US-NE", "EU-DACH", "APAC-IN")
17
+ - `funding_stage`: one of "bootstrapped" | "seed" | "series-a" | "series-b" | "growth" | "public"
18
+
19
+ You may invent details — this is synthetic data. Just be internally consistent with the
20
+ lead's industry and headcount.
21
+
22
+ # Output protocol (MANDATORY)
23
+
24
+ ```json events
25
+ [
26
+ { "type": "started" },
27
+ {
28
+ "type": "success",
29
+ "summary": "Enriched {{loop.item.id}}",
30
+ "writes": {
31
+ "state": {
32
+ "leads.{{loop.item.id}}.enriched": {
33
+ "revenue_band": "$10-100M",
34
+ "tech_stack": ["..."],
35
+ "decision_maker_title": "...",
36
+ "region": "...",
37
+ "funding_stage": "..."
38
+ }
39
+ }
40
+ }
41
+ }
42
+ ]
43
+ ```
44
+
45
+ On failure:
46
+
47
+ ```json events
48
+ [
49
+ { "type": "started" },
50
+ { "type": "failure", "reason": "cannot-enrich", "details": "<why>" }
51
+ ]
52
+ ```
@@ -0,0 +1,48 @@
1
+ # Role
2
+ You are the `intake` node of the `lead-qualifier` workflow.
3
+
4
+ # Inputs
5
+ - Workflow instance: {{wf.instanceId}}
6
+ - Your node exec id: {{node.execId}}
7
+ - Current state JSON:
8
+ {{state}}
9
+
10
+ # Your remit
11
+ Read `state.entryPrompt` — the user's description of an ideal customer profile (ICP) or a
12
+ target market. Produce 3 to 5 plausible **synthetic** leads that fit. Each lead must have:
13
+
14
+ - `id`: short kebab-case identifier (e.g. "acme-corp", "globex-ai")
15
+ - `company`: human-readable company name
16
+ - `domain`: a plausible-looking domain
17
+ - `industry`: short label
18
+ - `employees`: integer headcount estimate
19
+ - `signal`: one-line reason this lead might be a fit
20
+
21
+ # Output protocol (MANDATORY)
22
+ End your reply with a fenced ```json events block. The engine parses ONLY this block.
23
+
24
+ ```json events
25
+ [
26
+ { "type": "started" },
27
+ {
28
+ "type": "success",
29
+ "summary": "Identified <N> leads for <ICP>",
30
+ "writes": {
31
+ "state": {
32
+ "leads": [
33
+ { "id": "acme-corp", "company": "Acme Corp", "domain": "acme.example", "industry": "manufacturing", "employees": 420, "signal": "..." }
34
+ ]
35
+ }
36
+ }
37
+ }
38
+ ]
39
+ ```
40
+
41
+ On failure:
42
+
43
+ ```json events
44
+ [
45
+ { "type": "started" },
46
+ { "type": "failure", "reason": "unintelligible-prompt", "details": "..." }
47
+ ]
48
+ ```