eai-cli 0.0.0-bootstrap.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 (690) hide show
  1. package/LICENSE +183 -0
  2. package/NOTICE +4 -0
  3. package/README.md +14 -0
  4. package/dist/commands/agent.d.ts +3 -0
  5. package/dist/commands/agent.d.ts.map +1 -0
  6. package/dist/commands/agent.js +69 -0
  7. package/dist/commands/agent.js.map +1 -0
  8. package/dist/commands/blocks.d.ts +3 -0
  9. package/dist/commands/blocks.d.ts.map +1 -0
  10. package/dist/commands/blocks.js +249 -0
  11. package/dist/commands/blocks.js.map +1 -0
  12. package/dist/commands/chat.d.ts +6 -0
  13. package/dist/commands/chat.d.ts.map +1 -0
  14. package/dist/commands/chat.js +105 -0
  15. package/dist/commands/chat.js.map +1 -0
  16. package/dist/commands/deploy.d.ts +36 -0
  17. package/dist/commands/deploy.d.ts.map +1 -0
  18. package/dist/commands/deploy.js +712 -0
  19. package/dist/commands/deploy.js.map +1 -0
  20. package/dist/commands/dev.d.ts +15 -0
  21. package/dist/commands/dev.d.ts.map +1 -0
  22. package/dist/commands/dev.js +133 -0
  23. package/dist/commands/dev.js.map +1 -0
  24. package/dist/commands/docs.d.ts +6 -0
  25. package/dist/commands/docs.d.ts.map +1 -0
  26. package/dist/commands/docs.js +118 -0
  27. package/dist/commands/docs.js.map +1 -0
  28. package/dist/commands/env.d.ts +10 -0
  29. package/dist/commands/env.d.ts.map +1 -0
  30. package/dist/commands/env.js +200 -0
  31. package/dist/commands/env.js.map +1 -0
  32. package/dist/commands/errors.d.ts +3 -0
  33. package/dist/commands/errors.d.ts.map +1 -0
  34. package/dist/commands/errors.js +72 -0
  35. package/dist/commands/errors.js.map +1 -0
  36. package/dist/commands/gofer.d.ts +3 -0
  37. package/dist/commands/gofer.d.ts.map +1 -0
  38. package/dist/commands/gofer.js +134 -0
  39. package/dist/commands/gofer.js.map +1 -0
  40. package/dist/commands/init.d.ts +14 -0
  41. package/dist/commands/init.d.ts.map +1 -0
  42. package/dist/commands/init.js +1437 -0
  43. package/dist/commands/init.js.map +1 -0
  44. package/dist/commands/login.d.ts +7 -0
  45. package/dist/commands/login.d.ts.map +1 -0
  46. package/dist/commands/login.js +117 -0
  47. package/dist/commands/login.js.map +1 -0
  48. package/dist/commands/provision.d.ts +6 -0
  49. package/dist/commands/provision.d.ts.map +1 -0
  50. package/dist/commands/provision.js +855 -0
  51. package/dist/commands/provision.js.map +1 -0
  52. package/dist/commands/publicapi.d.ts +6 -0
  53. package/dist/commands/publicapi.d.ts.map +1 -0
  54. package/dist/commands/publicapi.js +184 -0
  55. package/dist/commands/publicapi.js.map +1 -0
  56. package/dist/commands/resources.d.ts +38 -0
  57. package/dist/commands/resources.d.ts.map +1 -0
  58. package/dist/commands/resources.js +1010 -0
  59. package/dist/commands/resources.js.map +1 -0
  60. package/dist/commands/runtime.d.ts +3 -0
  61. package/dist/commands/runtime.d.ts.map +1 -0
  62. package/dist/commands/runtime.js +78 -0
  63. package/dist/commands/runtime.js.map +1 -0
  64. package/dist/commands/template.d.ts +3 -0
  65. package/dist/commands/template.d.ts.map +1 -0
  66. package/dist/commands/template.js +365 -0
  67. package/dist/commands/template.js.map +1 -0
  68. package/dist/commands/tenant.d.ts +45 -0
  69. package/dist/commands/tenant.d.ts.map +1 -0
  70. package/dist/commands/tenant.js +1036 -0
  71. package/dist/commands/tenant.js.map +1 -0
  72. package/dist/commands/types.d.ts +130 -0
  73. package/dist/commands/types.d.ts.map +1 -0
  74. package/dist/commands/types.js +1636 -0
  75. package/dist/commands/types.js.map +1 -0
  76. package/dist/commands/update.d.ts +13 -0
  77. package/dist/commands/update.d.ts.map +1 -0
  78. package/dist/commands/update.js +163 -0
  79. package/dist/commands/update.js.map +1 -0
  80. package/dist/commands/user.d.ts +6 -0
  81. package/dist/commands/user.d.ts.map +1 -0
  82. package/dist/commands/user.js +359 -0
  83. package/dist/commands/user.js.map +1 -0
  84. package/dist/commands/verify.d.ts +40 -0
  85. package/dist/commands/verify.d.ts.map +1 -0
  86. package/dist/commands/verify.js +1442 -0
  87. package/dist/commands/verify.js.map +1 -0
  88. package/dist/commands/vertical.d.ts +24 -0
  89. package/dist/commands/vertical.d.ts.map +1 -0
  90. package/dist/commands/vertical.js +301 -0
  91. package/dist/commands/vertical.js.map +1 -0
  92. package/dist/commands/whoami.d.ts +6 -0
  93. package/dist/commands/whoami.d.ts.map +1 -0
  94. package/dist/commands/whoami.js +73 -0
  95. package/dist/commands/whoami.js.map +1 -0
  96. package/dist/commands/workflow.d.ts +6 -0
  97. package/dist/commands/workflow.d.ts.map +1 -0
  98. package/dist/commands/workflow.js +400 -0
  99. package/dist/commands/workflow.js.map +1 -0
  100. package/dist/index.d.ts +10 -0
  101. package/dist/index.d.ts.map +1 -0
  102. package/dist/index.js +272 -0
  103. package/dist/index.js.map +1 -0
  104. package/dist/lib/agent-guide.d.ts +24 -0
  105. package/dist/lib/agent-guide.d.ts.map +1 -0
  106. package/dist/lib/agent-guide.js +155 -0
  107. package/dist/lib/agent-guide.js.map +1 -0
  108. package/dist/lib/api.d.ts +338 -0
  109. package/dist/lib/api.d.ts.map +1 -0
  110. package/dist/lib/api.js +991 -0
  111. package/dist/lib/api.js.map +1 -0
  112. package/dist/lib/auth.d.ts +65 -0
  113. package/dist/lib/auth.d.ts.map +1 -0
  114. package/dist/lib/auth.js +592 -0
  115. package/dist/lib/auth.js.map +1 -0
  116. package/dist/lib/azure-cli.d.ts +6 -0
  117. package/dist/lib/azure-cli.d.ts.map +1 -0
  118. package/dist/lib/azure-cli.js +13 -0
  119. package/dist/lib/azure-cli.js.map +1 -0
  120. package/dist/lib/block-catalog-normalize.d.ts +47 -0
  121. package/dist/lib/block-catalog-normalize.d.ts.map +1 -0
  122. package/dist/lib/block-catalog-normalize.js +355 -0
  123. package/dist/lib/block-catalog-normalize.js.map +1 -0
  124. package/dist/lib/block-catalog-types.d.ts +111 -0
  125. package/dist/lib/block-catalog-types.d.ts.map +1 -0
  126. package/dist/lib/block-catalog-types.js +41 -0
  127. package/dist/lib/block-catalog-types.js.map +1 -0
  128. package/dist/lib/block-catalog-utils.d.ts +7 -0
  129. package/dist/lib/block-catalog-utils.d.ts.map +1 -0
  130. package/dist/lib/block-catalog-utils.js +47 -0
  131. package/dist/lib/block-catalog-utils.js.map +1 -0
  132. package/dist/lib/block-catalog-validation.d.ts +5 -0
  133. package/dist/lib/block-catalog-validation.d.ts.map +1 -0
  134. package/dist/lib/block-catalog-validation.js +112 -0
  135. package/dist/lib/block-catalog-validation.js.map +1 -0
  136. package/dist/lib/block-catalog.d.ts +3 -0
  137. package/dist/lib/block-catalog.d.ts.map +1 -0
  138. package/dist/lib/block-catalog.js +284 -0
  139. package/dist/lib/block-catalog.js.map +1 -0
  140. package/dist/lib/cloud-env.d.ts +25 -0
  141. package/dist/lib/cloud-env.d.ts.map +1 -0
  142. package/dist/lib/cloud-env.js +79 -0
  143. package/dist/lib/cloud-env.js.map +1 -0
  144. package/dist/lib/config.d.ts +116 -0
  145. package/dist/lib/config.d.ts.map +1 -0
  146. package/dist/lib/config.js +195 -0
  147. package/dist/lib/config.js.map +1 -0
  148. package/dist/lib/context.d.ts +43 -0
  149. package/dist/lib/context.d.ts.map +1 -0
  150. package/dist/lib/context.js +68 -0
  151. package/dist/lib/context.js.map +1 -0
  152. package/dist/lib/error-codes.d.ts +56 -0
  153. package/dist/lib/error-codes.d.ts.map +1 -0
  154. package/dist/lib/error-codes.js +211 -0
  155. package/dist/lib/error-codes.js.map +1 -0
  156. package/dist/lib/error-guidance/catalog.d.ts +648 -0
  157. package/dist/lib/error-guidance/catalog.d.ts.map +1 -0
  158. package/dist/lib/error-guidance/catalog.js +940 -0
  159. package/dist/lib/error-guidance/catalog.js.map +1 -0
  160. package/dist/lib/error-guidance/match.d.ts +3 -0
  161. package/dist/lib/error-guidance/match.d.ts.map +1 -0
  162. package/dist/lib/error-guidance/match.js +46 -0
  163. package/dist/lib/error-guidance/match.js.map +1 -0
  164. package/dist/lib/error-guidance/render.d.ts +5 -0
  165. package/dist/lib/error-guidance/render.d.ts.map +1 -0
  166. package/dist/lib/error-guidance/render.js +92 -0
  167. package/dist/lib/error-guidance/render.js.map +1 -0
  168. package/dist/lib/error-guidance/types.d.ts +76 -0
  169. package/dist/lib/error-guidance/types.d.ts.map +1 -0
  170. package/dist/lib/error-guidance/types.js +2 -0
  171. package/dist/lib/error-guidance/types.js.map +1 -0
  172. package/dist/lib/error-guidance/validate.d.ts +3 -0
  173. package/dist/lib/error-guidance/validate.d.ts.map +1 -0
  174. package/dist/lib/error-guidance/validate.js +59 -0
  175. package/dist/lib/error-guidance/validate.js.map +1 -0
  176. package/dist/lib/gofer-installer.d.ts +32 -0
  177. package/dist/lib/gofer-installer.d.ts.map +1 -0
  178. package/dist/lib/gofer-installer.js +589 -0
  179. package/dist/lib/gofer-installer.js.map +1 -0
  180. package/dist/lib/gofer-refresh.d.ts +46 -0
  181. package/dist/lib/gofer-refresh.d.ts.map +1 -0
  182. package/dist/lib/gofer-refresh.js +536 -0
  183. package/dist/lib/gofer-refresh.js.map +1 -0
  184. package/dist/lib/next-route-exports.d.ts +6 -0
  185. package/dist/lib/next-route-exports.d.ts.map +1 -0
  186. package/dist/lib/next-route-exports.js +127 -0
  187. package/dist/lib/next-route-exports.js.map +1 -0
  188. package/dist/lib/npm.d.ts +2 -0
  189. package/dist/lib/npm.d.ts.map +1 -0
  190. package/dist/lib/npm.js +4 -0
  191. package/dist/lib/npm.js.map +1 -0
  192. package/dist/lib/object-type-defaults.d.ts +4 -0
  193. package/dist/lib/object-type-defaults.d.ts.map +1 -0
  194. package/dist/lib/object-type-defaults.js +72 -0
  195. package/dist/lib/object-type-defaults.js.map +1 -0
  196. package/dist/lib/output.d.ts +35 -0
  197. package/dist/lib/output.d.ts.map +1 -0
  198. package/dist/lib/output.js +166 -0
  199. package/dist/lib/output.js.map +1 -0
  200. package/dist/lib/profile.d.ts +52 -0
  201. package/dist/lib/profile.d.ts.map +1 -0
  202. package/dist/lib/profile.js +116 -0
  203. package/dist/lib/profile.js.map +1 -0
  204. package/dist/lib/project-manifest.d.ts +42 -0
  205. package/dist/lib/project-manifest.d.ts.map +1 -0
  206. package/dist/lib/project-manifest.js +191 -0
  207. package/dist/lib/project-manifest.js.map +1 -0
  208. package/dist/lib/resourceapi-bundle.d.ts +33 -0
  209. package/dist/lib/resourceapi-bundle.d.ts.map +1 -0
  210. package/dist/lib/resourceapi-bundle.js +79 -0
  211. package/dist/lib/resourceapi-bundle.js.map +1 -0
  212. package/dist/lib/runtime-contract.d.ts +84 -0
  213. package/dist/lib/runtime-contract.d.ts.map +1 -0
  214. package/dist/lib/runtime-contract.js +318 -0
  215. package/dist/lib/runtime-contract.js.map +1 -0
  216. package/dist/lib/schema-builder.d.ts +28 -0
  217. package/dist/lib/schema-builder.d.ts.map +1 -0
  218. package/dist/lib/schema-builder.js +69 -0
  219. package/dist/lib/schema-builder.js.map +1 -0
  220. package/dist/lib/tenant-context.d.ts +127 -0
  221. package/dist/lib/tenant-context.d.ts.map +1 -0
  222. package/dist/lib/tenant-context.js +573 -0
  223. package/dist/lib/tenant-context.js.map +1 -0
  224. package/dist/lib/update-check.d.ts +52 -0
  225. package/dist/lib/update-check.d.ts.map +1 -0
  226. package/dist/lib/update-check.js +271 -0
  227. package/dist/lib/update-check.js.map +1 -0
  228. package/dist/lib/update-maintenance.d.ts +15 -0
  229. package/dist/lib/update-maintenance.d.ts.map +1 -0
  230. package/dist/lib/update-maintenance.js +187 -0
  231. package/dist/lib/update-maintenance.js.map +1 -0
  232. package/dist/lib/utils.d.ts +23 -0
  233. package/dist/lib/utils.d.ts.map +1 -0
  234. package/dist/lib/utils.js +48 -0
  235. package/dist/lib/utils.js.map +1 -0
  236. package/dist/lib/workflow-provisioning.d.ts +54 -0
  237. package/dist/lib/workflow-provisioning.d.ts.map +1 -0
  238. package/dist/lib/workflow-provisioning.js +281 -0
  239. package/dist/lib/workflow-provisioning.js.map +1 -0
  240. package/package.json +51 -0
  241. package/resources/gofer/.gofer-version +7 -0
  242. package/resources/gofer/agents-skills/0_gofer_start/SKILL.md +1287 -0
  243. package/resources/gofer/agents-skills/0a_problem_validation/SKILL.md +429 -0
  244. package/resources/gofer/agents-skills/10_gofer_cloud/SKILL.md +635 -0
  245. package/resources/gofer/agents-skills/1_gofer_research/SKILL.md +1159 -0
  246. package/resources/gofer/agents-skills/2_gofer_specify/SKILL.md +860 -0
  247. package/resources/gofer/agents-skills/3_gofer_plan/SKILL.md +886 -0
  248. package/resources/gofer/agents-skills/4_gofer_tasks/SKILL.md +748 -0
  249. package/resources/gofer/agents-skills/5_gofer_implement/SKILL.md +924 -0
  250. package/resources/gofer/agents-skills/6_gofer_validate/SKILL.md +2269 -0
  251. package/resources/gofer/agents-skills/7_gofer_save/SKILL.md +423 -0
  252. package/resources/gofer/agents-skills/7a_stakeholder_comms/SKILL.md +508 -0
  253. package/resources/gofer/agents-skills/8_gofer_branding/SKILL.md +315 -0
  254. package/resources/gofer/agents-skills/9_gofer_tests/SKILL.md +558 -0
  255. package/resources/gofer/agents-skills/gofer_bootstrap_workspace/SKILL.md +148 -0
  256. package/resources/gofer/agents-skills/gofer_check_workspace/SKILL.md +119 -0
  257. package/resources/gofer/agents-skills/gofer_constitution/SKILL.md +612 -0
  258. package/resources/gofer/agents-skills/gofer_diagnose/SKILL.md +114 -0
  259. package/resources/gofer/agents-skills/gofer_eai_first_run/SKILL.md +397 -0
  260. package/resources/gofer/agents-skills/gofer_hydrate/SKILL.md +561 -0
  261. package/resources/gofer/agents-skills/gofer_personality/SKILL.md +44 -0
  262. package/resources/gofer/agents-skills/gofer_plan/SKILL.md +40 -0
  263. package/resources/gofer/agents-skills/gofer_side/SKILL.md +45 -0
  264. package/resources/gofer/agents-skills/gofer_spec_summary/SKILL.md +112 -0
  265. package/resources/gofer/agents-skills/gofer_tdd/SKILL.md +112 -0
  266. package/resources/gofer/agents-skills/gofer_vocabulary/SKILL.md +112 -0
  267. package/resources/gofer/agents-skills/gofer_zoom_out/SKILL.md +112 -0
  268. package/resources/gofer/bash-scripts/check-context-health.sh +365 -0
  269. package/resources/gofer/bash-scripts/check-persona-pack.sh +81 -0
  270. package/resources/gofer/bash-scripts/check-prerequisites.sh +168 -0
  271. package/resources/gofer/bash-scripts/common.sh +192 -0
  272. package/resources/gofer/bash-scripts/create-new-feature.sh +260 -0
  273. package/resources/gofer/bash-scripts/install-optional-tools.sh +270 -0
  274. package/resources/gofer/bash-scripts/log-stage.sh +224 -0
  275. package/resources/gofer/bash-scripts/mark-task-complete.sh +74 -0
  276. package/resources/gofer/bash-scripts/pipeline-state.sh +306 -0
  277. package/resources/gofer/bash-scripts/read-failed-approaches.sh +114 -0
  278. package/resources/gofer/bash-scripts/read-session-memories.sh +96 -0
  279. package/resources/gofer/bash-scripts/save-checkpoint.sh +407 -0
  280. package/resources/gofer/bash-scripts/setup-plan.sh +62 -0
  281. package/resources/gofer/bash-scripts/sync-implementation-status.sh +47 -0
  282. package/resources/gofer/bash-scripts/update-agent-context.sh +772 -0
  283. package/resources/gofer/bash-scripts/validate-artifact.sh +335 -0
  284. package/resources/gofer/bash-scripts/verify-task.sh +384 -0
  285. package/resources/gofer/bash-scripts/write-failed-approach.sh +110 -0
  286. package/resources/gofer/bash-scripts/write-periodic-checkpoint.sh +128 -0
  287. package/resources/gofer/bash-scripts/write-session-memory.sh +118 -0
  288. package/resources/gofer/claude-agents/assumption-tracker.md +168 -0
  289. package/resources/gofer/claude-agents/business-metrics-analyzer.md +169 -0
  290. package/resources/gofer/claude-agents/business-problem-validator.md +168 -0
  291. package/resources/gofer/claude-agents/codebase-analyzer.md +124 -0
  292. package/resources/gofer/claude-agents/codebase-locator.md +95 -0
  293. package/resources/gofer/claude-agents/codebase-pattern-finder.md +180 -0
  294. package/resources/gofer/claude-agents/comms-writer.md +158 -0
  295. package/resources/gofer/claude-agents/engineer-review.md +169 -0
  296. package/resources/gofer/claude-agents/implement-bug-triangulator.md +94 -0
  297. package/resources/gofer/claude-agents/implement-code-review-council.md +89 -0
  298. package/resources/gofer/claude-agents/implement-doc-writer.md +89 -0
  299. package/resources/gofer/claude-agents/implement-error-hardener.md +84 -0
  300. package/resources/gofer/claude-agents/implement-performance-explorer.md +95 -0
  301. package/resources/gofer/claude-agents/implement-test-diversifier.md +82 -0
  302. package/resources/gofer/claude-agents/implement-variant-generator.md +80 -0
  303. package/resources/gofer/claude-agents/multi-perspective-judge.md +114 -0
  304. package/resources/gofer/claude-agents/plan-api-comparator.md +90 -0
  305. package/resources/gofer/claude-agents/plan-architecture-diverger.md +100 -0
  306. package/resources/gofer/claude-agents/plan-data-model-stress-tester.md +95 -0
  307. package/resources/gofer/claude-agents/plan-migration-path-finder.md +95 -0
  308. package/resources/gofer/claude-agents/plan-refactor-rewrite-advisor.md +97 -0
  309. package/resources/gofer/claude-agents/research-dependency-evaluator.md +106 -0
  310. package/resources/gofer/claude-agents/research-horizon-scanner.md +100 -0
  311. package/resources/gofer/claude-agents/research-market-scanner.md +137 -0
  312. package/resources/gofer/claude-agents/research-perspective-multiplier.md +102 -0
  313. package/resources/gofer/claude-agents/scope-creep-detector.md +152 -0
  314. package/resources/gofer/claude-agents/specify-ambiguity-detector.md +95 -0
  315. package/resources/gofer/claude-agents/specify-journey-stress-tester.md +92 -0
  316. package/resources/gofer/claude-agents/tasks-cross-cutting-scanner.md +91 -0
  317. package/resources/gofer/claude-agents/tasks-rollback-planner.md +89 -0
  318. package/resources/gofer/claude-agents/validate-security-red-team.md +102 -0
  319. package/resources/gofer/claude-agents/validation-correctness.md +103 -0
  320. package/resources/gofer/claude-agents/validation-integration.md +129 -0
  321. package/resources/gofer/claude-agents/validation-performance.md +120 -0
  322. package/resources/gofer/claude-agents/validation-security.md +115 -0
  323. package/resources/gofer/claude-agents/validation-standards.md +151 -0
  324. package/resources/gofer/claude-agents/validation-test-quality.md +146 -0
  325. package/resources/gofer/claude-agents/visual-bounded-context-writer.md +40 -0
  326. package/resources/gofer/claude-agents/visual-c4-writer.md +45 -0
  327. package/resources/gofer/claude-agents/visual-erd-writer.md +34 -0
  328. package/resources/gofer/claude-agents/visual-heatmap-writer.md +63 -0
  329. package/resources/gofer/claude-agents/visual-risk-writer.md +64 -0
  330. package/resources/gofer/claude-commands/0_gofer_start.md +1282 -0
  331. package/resources/gofer/claude-commands/0a_problem_validation.md +424 -0
  332. package/resources/gofer/claude-commands/10_gofer_cloud.md +630 -0
  333. package/resources/gofer/claude-commands/1_gofer_research.md +1154 -0
  334. package/resources/gofer/claude-commands/2_gofer_specify.md +855 -0
  335. package/resources/gofer/claude-commands/3_gofer_plan.md +881 -0
  336. package/resources/gofer/claude-commands/4_gofer_tasks.md +743 -0
  337. package/resources/gofer/claude-commands/5_gofer_implement.md +919 -0
  338. package/resources/gofer/claude-commands/6_gofer_validate.md +2264 -0
  339. package/resources/gofer/claude-commands/7_gofer_save.md +418 -0
  340. package/resources/gofer/claude-commands/7a_stakeholder_comms.md +503 -0
  341. package/resources/gofer/claude-commands/8_gofer_branding.md +310 -0
  342. package/resources/gofer/claude-commands/9_gofer_tests.md +553 -0
  343. package/resources/gofer/claude-commands/gofer_bootstrap_workspace.md +143 -0
  344. package/resources/gofer/claude-commands/gofer_check_workspace.md +114 -0
  345. package/resources/gofer/claude-commands/gofer_constitution.md +607 -0
  346. package/resources/gofer/claude-commands/gofer_diagnose.md +109 -0
  347. package/resources/gofer/claude-commands/gofer_eai_first_run.md +392 -0
  348. package/resources/gofer/claude-commands/gofer_hydrate.md +556 -0
  349. package/resources/gofer/claude-commands/gofer_personality.md +39 -0
  350. package/resources/gofer/claude-commands/gofer_plan.md +35 -0
  351. package/resources/gofer/claude-commands/gofer_side.md +40 -0
  352. package/resources/gofer/claude-commands/gofer_spec_summary.md +107 -0
  353. package/resources/gofer/claude-commands/gofer_tdd.md +107 -0
  354. package/resources/gofer/claude-commands/gofer_vocabulary.md +107 -0
  355. package/resources/gofer/claude-commands/gofer_zoom_out.md +107 -0
  356. package/resources/gofer/claude-skills/eai-gofer/SKILL.md +56 -0
  357. package/resources/gofer/commands/.gitkeep +0 -0
  358. package/resources/gofer/commands/0_gofer_start.md +1299 -0
  359. package/resources/gofer/commands/0a_problem_validation.md +405 -0
  360. package/resources/gofer/commands/10_gofer_cloud.md +611 -0
  361. package/resources/gofer/commands/1_gofer_research.md +1135 -0
  362. package/resources/gofer/commands/2_gofer_specify.md +836 -0
  363. package/resources/gofer/commands/3_gofer_plan.md +862 -0
  364. package/resources/gofer/commands/4_gofer_tasks.md +724 -0
  365. package/resources/gofer/commands/5_gofer_implement.md +900 -0
  366. package/resources/gofer/commands/6_gofer_validate.md +2245 -0
  367. package/resources/gofer/commands/7_gofer_save.md +399 -0
  368. package/resources/gofer/commands/7a_stakeholder_comms.md +484 -0
  369. package/resources/gofer/commands/8_gofer_branding.md +291 -0
  370. package/resources/gofer/commands/9_gofer_tests.md +534 -0
  371. package/resources/gofer/commands/gofer_bootstrap_workspace.md +159 -0
  372. package/resources/gofer/commands/gofer_check_workspace.md +130 -0
  373. package/resources/gofer/commands/gofer_constitution.md +588 -0
  374. package/resources/gofer/commands/gofer_diagnose.md +89 -0
  375. package/resources/gofer/commands/gofer_eai_first_run.md +392 -0
  376. package/resources/gofer/commands/gofer_hydrate.md +537 -0
  377. package/resources/gofer/commands/gofer_personality.md +61 -0
  378. package/resources/gofer/commands/gofer_plan.md +51 -0
  379. package/resources/gofer/commands/gofer_side.md +56 -0
  380. package/resources/gofer/commands/gofer_spec_summary.md +87 -0
  381. package/resources/gofer/commands/gofer_tdd.md +87 -0
  382. package/resources/gofer/commands/gofer_vocabulary.md +87 -0
  383. package/resources/gofer/commands/gofer_zoom_out.md +87 -0
  384. package/resources/gofer/copilot-instructions/gofer-cost.instructions.md +13 -0
  385. package/resources/gofer/copilot-instructions/language-server.instructions.md +49 -0
  386. package/resources/gofer/copilot-instructions/typescript.instructions.md +47 -0
  387. package/resources/gofer/copilot-instructions/vscode-extension.instructions.md +46 -0
  388. package/resources/gofer/copilot-prompts/0_gofer_start.prompt.md +1308 -0
  389. package/resources/gofer/copilot-prompts/0a_problem_validation.prompt.md +429 -0
  390. package/resources/gofer/copilot-prompts/10_gofer_cloud.prompt.md +644 -0
  391. package/resources/gofer/copilot-prompts/1_gofer_research.prompt.md +1177 -0
  392. package/resources/gofer/copilot-prompts/2_gofer_specify.prompt.md +878 -0
  393. package/resources/gofer/copilot-prompts/3_gofer_plan.prompt.md +904 -0
  394. package/resources/gofer/copilot-prompts/4_gofer_tasks.prompt.md +766 -0
  395. package/resources/gofer/copilot-prompts/5_gofer_implement.prompt.md +942 -0
  396. package/resources/gofer/copilot-prompts/6_gofer_validate.prompt.md +2277 -0
  397. package/resources/gofer/copilot-prompts/7_gofer_save.prompt.md +433 -0
  398. package/resources/gofer/copilot-prompts/7a_stakeholder_comms.prompt.md +516 -0
  399. package/resources/gofer/copilot-prompts/8_gofer_branding.prompt.md +323 -0
  400. package/resources/gofer/copilot-prompts/9_gofer_tests.prompt.md +566 -0
  401. package/resources/gofer/copilot-prompts/gofer_bootstrap_workspace.prompt.md +161 -0
  402. package/resources/gofer/copilot-prompts/gofer_check_workspace.prompt.md +132 -0
  403. package/resources/gofer/copilot-prompts/gofer_constitution.prompt.md +621 -0
  404. package/resources/gofer/copilot-prompts/gofer_diagnose.prompt.md +127 -0
  405. package/resources/gofer/copilot-prompts/gofer_eai_first_run.prompt.md +410 -0
  406. package/resources/gofer/copilot-prompts/gofer_hydrate.prompt.md +571 -0
  407. package/resources/gofer/copilot-prompts/gofer_personality.prompt.md +57 -0
  408. package/resources/gofer/copilot-prompts/gofer_plan.prompt.md +53 -0
  409. package/resources/gofer/copilot-prompts/gofer_side.prompt.md +58 -0
  410. package/resources/gofer/copilot-prompts/gofer_spec_summary.prompt.md +125 -0
  411. package/resources/gofer/copilot-prompts/gofer_tdd.prompt.md +125 -0
  412. package/resources/gofer/copilot-prompts/gofer_vocabulary.prompt.md +125 -0
  413. package/resources/gofer/copilot-prompts/gofer_zoom_out.prompt.md +125 -0
  414. package/resources/gofer/gemini/agents/assumption-tracker.md +171 -0
  415. package/resources/gofer/gemini/agents/business-metrics-analyzer.md +172 -0
  416. package/resources/gofer/gemini/agents/business-problem-validator.md +171 -0
  417. package/resources/gofer/gemini/agents/codebase-analyzer.md +127 -0
  418. package/resources/gofer/gemini/agents/codebase-locator.md +98 -0
  419. package/resources/gofer/gemini/agents/codebase-pattern-finder.md +183 -0
  420. package/resources/gofer/gemini/agents/comms-writer.md +161 -0
  421. package/resources/gofer/gemini/agents/engineer-review.md +172 -0
  422. package/resources/gofer/gemini/agents/implement-bug-triangulator.md +97 -0
  423. package/resources/gofer/gemini/agents/implement-code-review-council.md +92 -0
  424. package/resources/gofer/gemini/agents/implement-doc-writer.md +92 -0
  425. package/resources/gofer/gemini/agents/implement-error-hardener.md +87 -0
  426. package/resources/gofer/gemini/agents/implement-performance-explorer.md +98 -0
  427. package/resources/gofer/gemini/agents/implement-test-diversifier.md +85 -0
  428. package/resources/gofer/gemini/agents/implement-variant-generator.md +83 -0
  429. package/resources/gofer/gemini/agents/multi-perspective-judge.md +117 -0
  430. package/resources/gofer/gemini/agents/plan-api-comparator.md +93 -0
  431. package/resources/gofer/gemini/agents/plan-architecture-diverger.md +103 -0
  432. package/resources/gofer/gemini/agents/plan-data-model-stress-tester.md +98 -0
  433. package/resources/gofer/gemini/agents/plan-migration-path-finder.md +98 -0
  434. package/resources/gofer/gemini/agents/plan-refactor-rewrite-advisor.md +100 -0
  435. package/resources/gofer/gemini/agents/research-dependency-evaluator.md +109 -0
  436. package/resources/gofer/gemini/agents/research-horizon-scanner.md +103 -0
  437. package/resources/gofer/gemini/agents/research-market-scanner.md +140 -0
  438. package/resources/gofer/gemini/agents/research-perspective-multiplier.md +105 -0
  439. package/resources/gofer/gemini/agents/scope-creep-detector.md +155 -0
  440. package/resources/gofer/gemini/agents/specify-ambiguity-detector.md +98 -0
  441. package/resources/gofer/gemini/agents/specify-journey-stress-tester.md +95 -0
  442. package/resources/gofer/gemini/agents/tasks-cross-cutting-scanner.md +94 -0
  443. package/resources/gofer/gemini/agents/tasks-rollback-planner.md +92 -0
  444. package/resources/gofer/gemini/agents/validate-security-red-team.md +105 -0
  445. package/resources/gofer/gemini/agents/validation-correctness.md +106 -0
  446. package/resources/gofer/gemini/agents/validation-integration.md +132 -0
  447. package/resources/gofer/gemini/agents/validation-performance.md +123 -0
  448. package/resources/gofer/gemini/agents/validation-security.md +118 -0
  449. package/resources/gofer/gemini/agents/validation-standards.md +154 -0
  450. package/resources/gofer/gemini/agents/validation-test-quality.md +149 -0
  451. package/resources/gofer/gemini/agents/visual-bounded-context-writer.md +40 -0
  452. package/resources/gofer/gemini/agents/visual-c4-writer.md +44 -0
  453. package/resources/gofer/gemini/agents/visual-erd-writer.md +36 -0
  454. package/resources/gofer/gemini/agents/visual-heatmap-writer.md +63 -0
  455. package/resources/gofer/gemini/agents/visual-risk-writer.md +64 -0
  456. package/resources/gofer/gemini/commands/gofer/.gitkeep +0 -0
  457. package/resources/gofer/gemini/commands/gofer/0_gofer_start.md +1282 -0
  458. package/resources/gofer/gemini/commands/gofer/0_gofer_start.toml +2 -0
  459. package/resources/gofer/gemini/commands/gofer/0a_problem_validation.md +424 -0
  460. package/resources/gofer/gemini/commands/gofer/0a_problem_validation.toml +2 -0
  461. package/resources/gofer/gemini/commands/gofer/10_gofer_cloud.md +630 -0
  462. package/resources/gofer/gemini/commands/gofer/10_gofer_cloud.toml +2 -0
  463. package/resources/gofer/gemini/commands/gofer/1_gofer_research.md +1154 -0
  464. package/resources/gofer/gemini/commands/gofer/1_gofer_research.toml +2 -0
  465. package/resources/gofer/gemini/commands/gofer/2_gofer_specify.md +855 -0
  466. package/resources/gofer/gemini/commands/gofer/2_gofer_specify.toml +2 -0
  467. package/resources/gofer/gemini/commands/gofer/3_gofer_plan.md +881 -0
  468. package/resources/gofer/gemini/commands/gofer/3_gofer_plan.toml +2 -0
  469. package/resources/gofer/gemini/commands/gofer/4_gofer_tasks.md +743 -0
  470. package/resources/gofer/gemini/commands/gofer/4_gofer_tasks.toml +2 -0
  471. package/resources/gofer/gemini/commands/gofer/5_gofer_implement.md +919 -0
  472. package/resources/gofer/gemini/commands/gofer/5_gofer_implement.toml +2 -0
  473. package/resources/gofer/gemini/commands/gofer/6_gofer_validate.md +2264 -0
  474. package/resources/gofer/gemini/commands/gofer/6_gofer_validate.toml +2 -0
  475. package/resources/gofer/gemini/commands/gofer/7_gofer_save.md +418 -0
  476. package/resources/gofer/gemini/commands/gofer/7_gofer_save.toml +2 -0
  477. package/resources/gofer/gemini/commands/gofer/7a_stakeholder_comms.md +503 -0
  478. package/resources/gofer/gemini/commands/gofer/7a_stakeholder_comms.toml +2 -0
  479. package/resources/gofer/gemini/commands/gofer/8_gofer_branding.md +310 -0
  480. package/resources/gofer/gemini/commands/gofer/8_gofer_branding.toml +2 -0
  481. package/resources/gofer/gemini/commands/gofer/9_gofer_tests.md +553 -0
  482. package/resources/gofer/gemini/commands/gofer/9_gofer_tests.toml +2 -0
  483. package/resources/gofer/gemini/commands/gofer/gofer_bootstrap_workspace.md +143 -0
  484. package/resources/gofer/gemini/commands/gofer/gofer_bootstrap_workspace.toml +2 -0
  485. package/resources/gofer/gemini/commands/gofer/gofer_check_workspace.md +114 -0
  486. package/resources/gofer/gemini/commands/gofer/gofer_check_workspace.toml +2 -0
  487. package/resources/gofer/gemini/commands/gofer/gofer_constitution.md +607 -0
  488. package/resources/gofer/gemini/commands/gofer/gofer_constitution.toml +2 -0
  489. package/resources/gofer/gemini/commands/gofer/gofer_diagnose.md +109 -0
  490. package/resources/gofer/gemini/commands/gofer/gofer_diagnose.toml +2 -0
  491. package/resources/gofer/gemini/commands/gofer/gofer_eai_first_run.md +392 -0
  492. package/resources/gofer/gemini/commands/gofer/gofer_eai_first_run.toml +2 -0
  493. package/resources/gofer/gemini/commands/gofer/gofer_hydrate.md +556 -0
  494. package/resources/gofer/gemini/commands/gofer/gofer_hydrate.toml +2 -0
  495. package/resources/gofer/gemini/commands/gofer/gofer_personality.md +39 -0
  496. package/resources/gofer/gemini/commands/gofer/gofer_personality.toml +2 -0
  497. package/resources/gofer/gemini/commands/gofer/gofer_plan.md +35 -0
  498. package/resources/gofer/gemini/commands/gofer/gofer_plan.toml +2 -0
  499. package/resources/gofer/gemini/commands/gofer/gofer_side.md +40 -0
  500. package/resources/gofer/gemini/commands/gofer/gofer_side.toml +2 -0
  501. package/resources/gofer/gemini/commands/gofer/gofer_spec_summary.md +107 -0
  502. package/resources/gofer/gemini/commands/gofer/gofer_spec_summary.toml +2 -0
  503. package/resources/gofer/gemini/commands/gofer/gofer_tdd.md +107 -0
  504. package/resources/gofer/gemini/commands/gofer/gofer_tdd.toml +2 -0
  505. package/resources/gofer/gemini/commands/gofer/gofer_vocabulary.md +107 -0
  506. package/resources/gofer/gemini/commands/gofer/gofer_vocabulary.toml +2 -0
  507. package/resources/gofer/gemini/commands/gofer/gofer_zoom_out.md +107 -0
  508. package/resources/gofer/gemini/commands/gofer/gofer_zoom_out.toml +2 -0
  509. package/resources/gofer/gemini/commands/gofer/manifest.json +32 -0
  510. package/resources/gofer/gemini/extension.json +16 -0
  511. package/resources/gofer/github-agents/gofer-business.agent.md +20 -0
  512. package/resources/gofer/github-agents/gofer-implement.agent.md +15 -0
  513. package/resources/gofer/github-agents/gofer-plan.agent.md +15 -0
  514. package/resources/gofer/github-agents/gofer-research.agent.md +15 -0
  515. package/resources/gofer/github-agents/gofer-validate.agent.md +10 -0
  516. package/resources/gofer/github-skills/eai-gofer/SKILL.md +56 -0
  517. package/resources/gofer/hook-scripts/agent-stop.mjs +655 -0
  518. package/resources/gofer/hook-scripts/log-stage-launch-time.mjs +77 -0
  519. package/resources/gofer/hook-scripts/post-tool-use.mjs +333 -0
  520. package/resources/gofer/hook-scripts/queued-input.mjs +188 -0
  521. package/resources/gofer/hook-scripts/session-lifecycle.mjs +93 -0
  522. package/resources/gofer/hook-scripts/user-prompt-submit.mjs +228 -0
  523. package/resources/gofer/instruction-templates/base/agents-base.md +37 -0
  524. package/resources/gofer/instruction-templates/base/claude-base.md +7 -0
  525. package/resources/gofer/instruction-templates/base/copilot-base.md +26 -0
  526. package/resources/gofer/instruction-templates/gofer/gofer-claude.md +5 -0
  527. package/resources/gofer/instruction-templates/gofer/gofer-copilot.md +9 -0
  528. package/resources/gofer/instruction-templates/languages/generic.md +7 -0
  529. package/resources/gofer/instruction-templates/languages/go.md +8 -0
  530. package/resources/gofer/instruction-templates/languages/java.md +8 -0
  531. package/resources/gofer/instruction-templates/languages/python.md +9 -0
  532. package/resources/gofer/instruction-templates/languages/rust.md +9 -0
  533. package/resources/gofer/instruction-templates/languages/typescript.md +19 -0
  534. package/resources/gofer/instruction-templates/workflow/principles.md +52 -0
  535. package/resources/gofer/memory/constitution.md +391 -0
  536. package/resources/gofer/memory/context-profiles.yaml +74 -0
  537. package/resources/gofer/memory/decisions/000-use-adr-for-decisions.md +67 -0
  538. package/resources/gofer/memory/decisions/001-di-framework.md +190 -0
  539. package/resources/gofer/memory/decisions/002-module-extraction.md +305 -0
  540. package/resources/gofer/memory/decisions/003-error-handling.md +368 -0
  541. package/resources/gofer/memory/decisions/004-cache-eviction.md +436 -0
  542. package/resources/gofer/memory/decisions/005-constants-management.md +520 -0
  543. package/resources/gofer/memory/decisions/README.md +129 -0
  544. package/resources/gofer/memory/diagrams/di-container.mmd +321 -0
  545. package/resources/gofer/memory/diagrams/extension-activation.mmd +184 -0
  546. package/resources/gofer/memory/diagrams/module-dependencies.mmd +264 -0
  547. package/resources/gofer/memory/gofer-model-policy.yaml +97 -0
  548. package/resources/gofer/memory/lessons.md +46 -0
  549. package/resources/gofer/node-scripts/canonical-descriptions.mjs +86 -0
  550. package/resources/gofer/node-scripts/check-version-alignment.mjs +131 -0
  551. package/resources/gofer/node-scripts/codex-doctor.mjs +425 -0
  552. package/resources/gofer/node-scripts/generate-commands.mjs +1366 -0
  553. package/resources/gofer/node-scripts/generate-issues.js +563 -0
  554. package/resources/gofer/node-scripts/gofer-closed-loop-audit.mjs +893 -0
  555. package/resources/gofer/node-scripts/gofer-loop-audit.mjs +541 -0
  556. package/resources/gofer/node-scripts/gofer-performance-report.mjs +306 -0
  557. package/resources/gofer/node-scripts/gofer-workspace-bootstrap.mjs +56 -0
  558. package/resources/gofer/node-scripts/gofer-workspace-check.mjs +56 -0
  559. package/resources/gofer/node-scripts/lib/ai-leverage-tagger.mjs +103 -0
  560. package/resources/gofer/node-scripts/lib/assemble-stakeholder-pack.mjs +114 -0
  561. package/resources/gofer/node-scripts/lib/marp-deck.mjs +87 -0
  562. package/resources/gofer/node-scripts/lib/mermaid-tabular-fallback.mjs +264 -0
  563. package/resources/gofer/node-scripts/lib/render-visual.mjs +54 -0
  564. package/resources/gofer/node-scripts/lib/validate-aliases.mjs +85 -0
  565. package/resources/gofer/node-scripts/lib/visual-counts.mjs +44 -0
  566. package/resources/gofer/node-scripts/lib/visual-pass-pipeline.mjs +134 -0
  567. package/resources/gofer/node-scripts/mermaid-export.mjs +72 -0
  568. package/resources/gofer/node-scripts/package-agent-plugin.mjs +940 -0
  569. package/resources/gofer/node-scripts/parse-stage-command.mjs +211 -0
  570. package/resources/gofer/node-scripts/schemas/.gitkeep +0 -0
  571. package/resources/gofer/node-scripts/schemas/stage-command.schema.json +72 -0
  572. package/resources/gofer/node-scripts/sync-extension-resources.mjs +110 -0
  573. package/resources/gofer/node-scripts/workspace-bootstrap-lib.mjs +1166 -0
  574. package/resources/gofer/powershell-scripts/install-optional-tools.ps1 +214 -0
  575. package/resources/gofer/references/platform/README.md +17 -0
  576. package/resources/gofer/references/platform/deployment-repo.md +9 -0
  577. package/resources/gofer/references/platform/eai-app-template.md +45 -0
  578. package/resources/gofer/references/platform/eai-config-driven-ui.md +156 -0
  579. package/resources/gofer/references/platform/eai-error-catalog.yaml +197 -0
  580. package/resources/gofer/references/platform/eai-repo-contract.md +134 -0
  581. package/resources/gofer/references/platform/eai-service-patterns.md +56 -0
  582. package/resources/gofer/references/platform/eai.md +85 -0
  583. package/resources/gofer/references/platform/vertical-template.md +49 -0
  584. package/resources/gofer/specify-commands/.gitkeep +0 -0
  585. package/resources/gofer/specify-commands/0_gofer_start.md +1299 -0
  586. package/resources/gofer/specify-commands/0a_problem_validation.md +405 -0
  587. package/resources/gofer/specify-commands/10_gofer_cloud.md +611 -0
  588. package/resources/gofer/specify-commands/1_gofer_research.md +1135 -0
  589. package/resources/gofer/specify-commands/2_gofer_specify.md +836 -0
  590. package/resources/gofer/specify-commands/3_gofer_plan.md +862 -0
  591. package/resources/gofer/specify-commands/4_gofer_tasks.md +724 -0
  592. package/resources/gofer/specify-commands/5_gofer_implement.md +900 -0
  593. package/resources/gofer/specify-commands/6_gofer_validate.md +2245 -0
  594. package/resources/gofer/specify-commands/7_gofer_save.md +399 -0
  595. package/resources/gofer/specify-commands/7a_stakeholder_comms.md +484 -0
  596. package/resources/gofer/specify-commands/8_gofer_branding.md +291 -0
  597. package/resources/gofer/specify-commands/9_gofer_tests.md +534 -0
  598. package/resources/gofer/specify-commands/gofer_bootstrap_workspace.md +159 -0
  599. package/resources/gofer/specify-commands/gofer_check_workspace.md +130 -0
  600. package/resources/gofer/specify-commands/gofer_constitution.md +588 -0
  601. package/resources/gofer/specify-commands/gofer_diagnose.md +89 -0
  602. package/resources/gofer/specify-commands/gofer_eai_first_run.md +392 -0
  603. package/resources/gofer/specify-commands/gofer_hydrate.md +537 -0
  604. package/resources/gofer/specify-commands/gofer_personality.md +61 -0
  605. package/resources/gofer/specify-commands/gofer_plan.md +51 -0
  606. package/resources/gofer/specify-commands/gofer_side.md +56 -0
  607. package/resources/gofer/specify-commands/gofer_spec_summary.md +87 -0
  608. package/resources/gofer/specify-commands/gofer_tdd.md +87 -0
  609. package/resources/gofer/specify-commands/gofer_vocabulary.md +87 -0
  610. package/resources/gofer/specify-commands/gofer_zoom_out.md +87 -0
  611. package/resources/gofer/system-skills/0_gofer_start/SKILL.md +1287 -0
  612. package/resources/gofer/system-skills/0a_problem_validation/SKILL.md +429 -0
  613. package/resources/gofer/system-skills/10_gofer_cloud/SKILL.md +635 -0
  614. package/resources/gofer/system-skills/1_gofer_research/SKILL.md +1159 -0
  615. package/resources/gofer/system-skills/2_gofer_specify/SKILL.md +860 -0
  616. package/resources/gofer/system-skills/3_gofer_plan/SKILL.md +886 -0
  617. package/resources/gofer/system-skills/4_gofer_tasks/SKILL.md +748 -0
  618. package/resources/gofer/system-skills/5_gofer_implement/SKILL.md +924 -0
  619. package/resources/gofer/system-skills/6_gofer_validate/SKILL.md +2269 -0
  620. package/resources/gofer/system-skills/7_gofer_save/SKILL.md +423 -0
  621. package/resources/gofer/system-skills/7a_stakeholder_comms/SKILL.md +508 -0
  622. package/resources/gofer/system-skills/8_gofer_branding/SKILL.md +315 -0
  623. package/resources/gofer/system-skills/9_gofer_tests/SKILL.md +558 -0
  624. package/resources/gofer/system-skills/gofer_bootstrap_workspace/SKILL.md +148 -0
  625. package/resources/gofer/system-skills/gofer_check_workspace/SKILL.md +119 -0
  626. package/resources/gofer/system-skills/gofer_constitution/SKILL.md +612 -0
  627. package/resources/gofer/system-skills/gofer_diagnose/SKILL.md +114 -0
  628. package/resources/gofer/system-skills/gofer_eai_first_run/SKILL.md +397 -0
  629. package/resources/gofer/system-skills/gofer_hydrate/SKILL.md +561 -0
  630. package/resources/gofer/system-skills/gofer_personality/SKILL.md +44 -0
  631. package/resources/gofer/system-skills/gofer_plan/SKILL.md +40 -0
  632. package/resources/gofer/system-skills/gofer_side/SKILL.md +45 -0
  633. package/resources/gofer/system-skills/gofer_spec_summary/SKILL.md +112 -0
  634. package/resources/gofer/system-skills/gofer_tdd/SKILL.md +112 -0
  635. package/resources/gofer/system-skills/gofer_vocabulary/SKILL.md +112 -0
  636. package/resources/gofer/system-skills/gofer_zoom_out/SKILL.md +112 -0
  637. package/resources/gofer/templates/agent-file-template.md +28 -0
  638. package/resources/gofer/templates/assumptions-template.md +94 -0
  639. package/resources/gofer/templates/audit-history-template.md +35 -0
  640. package/resources/gofer/templates/brand/brand-profile-template.json +45 -0
  641. package/resources/gofer/templates/brand/document-style-template.md +50 -0
  642. package/resources/gofer/templates/brand/marp-theme-template.css +58 -0
  643. package/resources/gofer/templates/brownfield-analysis.md +44 -0
  644. package/resources/gofer/templates/business-metrics-template.md +120 -0
  645. package/resources/gofer/templates/business-owner-summary-template.md +83 -0
  646. package/resources/gofer/templates/checklist-template.md +40 -0
  647. package/resources/gofer/templates/ciso-security-summary-template.md +70 -0
  648. package/resources/gofer/templates/context-bundle-template.md +76 -0
  649. package/resources/gofer/templates/contract-pack-template.md +109 -0
  650. package/resources/gofer/templates/cto-architecture-summary-template.md +83 -0
  651. package/resources/gofer/templates/discovery-template.md +92 -0
  652. package/resources/gofer/templates/eai-preflight-template.md +144 -0
  653. package/resources/gofer/templates/goal-ledger-template.json +69 -0
  654. package/resources/gofer/templates/gofer-model-policy.yaml +97 -0
  655. package/resources/gofer/templates/issues-template.md +106 -0
  656. package/resources/gofer/templates/journey/base-journey.md +95 -0
  657. package/resources/gofer/templates/journey/industry-variants.yaml +277 -0
  658. package/resources/gofer/templates/loop-contract-template.json +68 -0
  659. package/resources/gofer/templates/plan-template.md +215 -0
  660. package/resources/gofer/templates/problem-brief-template.md +85 -0
  661. package/resources/gofer/templates/proposal-review-template.md +79 -0
  662. package/resources/gofer/templates/research-template.md +222 -0
  663. package/resources/gofer/templates/reuse-scan-template.md +43 -0
  664. package/resources/gofer/templates/sequence-diagrams/option-spectrum.yaml +178 -0
  665. package/resources/gofer/templates/service-fit-matrix-template.md +29 -0
  666. package/resources/gofer/templates/session-handoff-template.md +172 -0
  667. package/resources/gofer/templates/spec-summary-template.md +118 -0
  668. package/resources/gofer/templates/spec-template.md +196 -0
  669. package/resources/gofer/templates/stakeholder-comms-template.md +330 -0
  670. package/resources/gofer/templates/stakeholder-review-index-template.md +54 -0
  671. package/resources/gofer/templates/tasks-template.md +323 -0
  672. package/resources/gofer/templates/ui-approval-template.md +32 -0
  673. package/resources/gofer/templates/ui-preview-brief-template.md +65 -0
  674. package/resources/gofer/templates/ui-review-log-template.md +11 -0
  675. package/resources/gofer/templates/visuals/.gitkeep +0 -0
  676. package/resources/gofer/templates/visuals/bounded-context-map.md +19 -0
  677. package/resources/gofer/templates/visuals/bounded-context-template.md +47 -0
  678. package/resources/gofer/templates/visuals/c4-container-template.md +38 -0
  679. package/resources/gofer/templates/visuals/c4-container.md +20 -0
  680. package/resources/gofer/templates/visuals/c4-context-template.md +46 -0
  681. package/resources/gofer/templates/visuals/capability-heatmap-template.md +54 -0
  682. package/resources/gofer/templates/visuals/data-model-erd-template.md +41 -0
  683. package/resources/gofer/templates/visuals/erd.md +19 -0
  684. package/resources/gofer/templates/visuals/impact-canvas.md +40 -0
  685. package/resources/gofer/templates/visuals/risk-heatmap-template.md +51 -0
  686. package/resources/gofer/templates/visuals/roi-projection.md +17 -0
  687. package/resources/gofer/templates/visuals/value-stream-asis.md +16 -0
  688. package/resources/gofer/templates/visuals/value-stream-tobe.md +18 -0
  689. package/resources/gofer/templates/working-backwards-prfaq-template.md +165 -0
  690. package/resources/linked-sources.json +25 -0
@@ -0,0 +1,553 @@
1
+ ## Workspace Preflight
2
+
3
+ Before doing stage/helper work:
4
+
5
+ 1. Resolve the repository root.
6
+ 2. Check the core Gofer sentinels:
7
+ - `.specify/.gofer-version`
8
+ - `.specify/commands/0_gofer_start.md`
9
+ - `.specify/templates/spec-template.md`
10
+ - `.specify/templates/loop-contract-template.json`
11
+ - `.specify/templates/working-backwards-prfaq-template.md`
12
+ - `.specify/templates/business-owner-summary-template.md`
13
+ - `.specify/templates/cto-architecture-summary-template.md`
14
+ - `.specify/templates/ciso-security-summary-template.md`
15
+ - `.specify/templates/stakeholder-review-index-template.md`
16
+ - `.specify/scripts/bash/create-new-feature.sh`
17
+ - `.specify/scripts/node/parse-stage-command.mjs`
18
+ - `.specify/scripts/node/gofer-loop-audit.mjs`
19
+ - `.specify/scripts/hooks/post-tool-use.mjs`
20
+ - `.specify/scripts/powershell/install-optional-tools.ps1`
21
+ - `.specify/templates/gofer-model-policy.yaml`
22
+ - `.specify/memory/gofer-model-policy.yaml`
23
+ - `.specify/specs/`
24
+ - `.specify/memory/`
25
+ 3. Check host-specific repo-owned files when relevant:
26
+ - Claude: `AGENTS.md`, `CLAUDE.md`, `.claude/settings.json`
27
+ - Codex: `AGENTS.md`
28
+ - Copilot: `.github/copilot-instructions.md`
29
+ - VS Code extension mirrors Claude/Copilot/Gemini resources itself and should still keep the core scaffold healthy
30
+ 4. If the repo already has the workspace checker script, prefer running:
31
+ - `node .specify/scripts/node/gofer-workspace-check.mjs --host gemini --json`
32
+ 5. If the workspace is missing or stale, ask exactly:
33
+ - **"This repo is missing or stale for Gofer. Initialize/update it now?"**
34
+ 6. If the user says yes, run the Gofer workspace bootstrap helper and then resume this command from the top.
35
+ 7. If the user says no, stop and explain that Gofer stage/helper work depends on the repo-owned scaffold.
36
+
37
+ ---
38
+ description:
39
+ Define acceptance test cases using DSL approach before or during
40
+ implementation
41
+ ---
42
+
43
+ # Gofer Tests
44
+
45
+ ## EAI Platform Session Preflight
46
+
47
+ Before any Gofer stage/helper command does pipeline work:
48
+
49
+ 1. Treat durable delivery as EAI Platform delivery by default, with Azure second
50
+ and every other stack only by explicit exception.
51
+ 2. Run `eai whoami` and confirm the EAI CLI is installed, the user is logged in,
52
+ and an active tenant is visible.
53
+ 3. If `eai` is missing, `eai whoami` fails, the token is expired, or no active
54
+ tenant is available, stop and run `/gofer:eai-first-run` or ask the user to
55
+ approve login/setup before continuing.
56
+ 4. For EAI app delivery, do not continue into research, specification, planning,
57
+ tasks, implementation, or validation until
58
+ `.specify/specs/{feature}/eai-preflight.md` records login, tenant, template,
59
+ app-readiness, and next-action evidence.
60
+ 5. Do not write tokens, secrets, private tenant IDs, or local `.env` values into
61
+ Gofer artifacts; record only product-safe readiness status and evidence.
62
+
63
+ ## Token And Cost Policy
64
+ <!-- gofer:token-cost-policy:start -->
65
+
66
+ Before spawning agents, calling tools, or loading large files:
67
+
68
+ 1. Treat `.specify/memory/gofer-model-policy.yaml` as the repo-owned source of truth for simple, medium, hard, and arbiter model routing. If it is missing, run `/gofer:bootstrap-workspace` before continuing.
69
+ 2. Use the cheapest capable model first.
70
+ - Claude: Haiku for scouting/extraction; Sonnet for normal implementation, synthesis, validation, and security; Opus for high-risk arbitration or release-critical failures.
71
+ - Codex/OpenAI: GPT mini for simple coding; GPT nano only for locate/classify/summarize/mechanical work; GPT-5.3-Codex or flagship GPT for tool-heavy coding, architecture, and release-critical validation.
72
+ - Gemini: Flash-Lite for cheap large-context scan/summarize; Flash for default research synthesis; Pro for large-context architecture or high-risk arbitration.
73
+ - Copilot: prefer Auto for simple and default work; ask the user before choosing a paid/high-tier picker model for hard security, architecture, or release gates.
74
+ 3. Keep raw tool output out of the main conversation context. Save stable findings to `.specify/specs/{feature}/context-bundle.md`, then work from summaries.
75
+ 4. Use provider prompt/context caching only for stable, non-secret prefixes: Gofer scaffold, AGENTS/CLAUDE/Copilot instructions, constitution, repo map, stage contracts, and validation rubric.
76
+ 5. Before continuing after large research, planning, implementation, or validation bursts, checkpoint the durable artifacts and compact/clear/resume context when the host supports it.
77
+ 6. Escalate model tier only when a cheaper pass is low-confidence, contradictory, security-sensitive, or blocking release quality.
78
+ <!-- gofer:token-cost-policy:end -->
79
+
80
+ ## User Input
81
+
82
+ ```text
83
+ $ARGUMENTS
84
+ ```
85
+
86
+ You **MUST** consider the user input before proceeding (if not empty).
87
+
88
+ ---
89
+
90
+ ## When to Use This Command
91
+
92
+ - **Test-First Development**: Define tests before writing implementation
93
+ - **During Planning**: Add test definitions to plan.md
94
+ - **During Implementation**: Create test scaffolds alongside code
95
+ - **Before Validation**: Ensure comprehensive test coverage
96
+
97
+ ---
98
+
99
+ ## Core Principles (Agentic Testing Best Practices)
100
+
101
+ ### 1. Comment-First Approach
102
+
103
+ Always start by writing test cases as structured comments before any
104
+ implementation. This forces clear thinking about expected behavior.
105
+
106
+ ### 2. DSL at Every Layer
107
+
108
+ All test code - setup, actions, assertions - must be written as readable DSL
109
+ functions. No direct framework calls in test files.
110
+
111
+ ### 3. Implicit Given-When-Then
112
+
113
+ Structure tests with blank lines separating setup, action, and assertion phases.
114
+ Never use the words "Given", "When", or "Then" explicitly.
115
+
116
+ ### 4. Traceability to Requirements
117
+
118
+ Every test case must trace back to a user story or acceptance criterion from
119
+ spec.md.
120
+
121
+ ### 5. Follow Existing Patterns
122
+
123
+ Study and follow existing test patterns, DSL conventions, and naming standards
124
+ in the codebase.
125
+
126
+ ---
127
+
128
+ ## Step 1: Load Feature Context
129
+
130
+ ```bash
131
+ .specify/scripts/bash/check-prerequisites.sh --json
132
+ ```
133
+
134
+ Parse JSON for FEATURE_DIR, then load:
135
+
136
+ - `spec.md` - User stories and acceptance criteria
137
+ - `plan.md` - Technical architecture
138
+ - `tasks.md` - Implementation tasks (if exists)
139
+
140
+ ---
141
+
142
+ ## Step 2: Research Existing Test Patterns
143
+
144
+ **CRITICAL**: Before writing any test cases, spawn a research agent:
145
+
146
+ ```
147
+ Task: subagent_type="codebase-pattern-finder", model="haiku"
148
+ Prompt: "Find existing test files and patterns in this codebase.
149
+ Identify:
150
+ - Test file locations and naming conventions
151
+ - DSL function patterns and naming conventions
152
+ - Test organization patterns (describe blocks, test grouping)
153
+ - Existing DSL functions for setup, actions, and assertions
154
+ - Test framework being used (Jest, Vitest, Mocha, pytest, etc.)"
155
+ ```
156
+
157
+ ---
158
+
159
+ ## Step 3: Extract Test Requirements
160
+
161
+ ### 3.1 From User Stories
162
+
163
+ For each user story in spec.md, extract:
164
+
165
+ ```markdown
166
+ | User Story | Priority | Acceptance Criteria | Test Cases Needed |
167
+ | ---------- | -------- | ------------------------- | ----------------- |
168
+ | US1 | P1 | User can login with email | TC001, TC002 |
169
+ | US1 | P1 | Error on invalid creds | TC003, TC004 |
170
+ | US2 | P2 | Dashboard shows metrics | TC005, TC006 |
171
+ ```
172
+
173
+ ### 3.2 Coverage Requirements
174
+
175
+ Ensure tests cover:
176
+
177
+ 1. **Happy Paths** - Standard successful flows
178
+ 2. **Edge Cases** - Boundary conditions, unusual but valid inputs
179
+ 3. **Error Scenarios** - Invalid inputs, service failures, timeouts
180
+ 4. **Boundary Conditions** - Maximum/minimum values, empty states
181
+ 5. **Authorization** - Permission-based access scenarios
182
+
183
+ ---
184
+
185
+ ## Step 4: Define Test Cases
186
+
187
+ ### Test Case Structure
188
+
189
+ ```javascript
190
+ // [Test Case ID]: [Test Case Name]
191
+ // Traces to: [US-X AC-Y]
192
+ //
193
+ // setupFunction
194
+ // anotherSetupFunction
195
+ //
196
+ // actionThatTriggersLogic
197
+ //
198
+ // expectationFunction
199
+ // anotherExpectationFunction
200
+ ```
201
+
202
+ ### Structure Rules
203
+
204
+ - **First line**: Test case ID and name
205
+ - **Second line**: Traceability to user story/acceptance criterion
206
+ - **Blank line**: Before setup
207
+ - **Setup phase**: Functions that arrange test state (no blank lines between)
208
+ - **Blank line**: Separates setup from action
209
+ - **Action phase**: Function(s) that trigger the behavior under test
210
+ - **Blank line**: Separates action from assertions
211
+ - **Assertion phase**: Functions that verify expected outcomes
212
+
213
+ ---
214
+
215
+ ## Step 5: Naming Conventions
216
+
217
+ ### Setup Functions (Arrange)
218
+
219
+ Describe state being created:
220
+
221
+ - `userIsLoggedIn`, `cartHasThreeItems`, `databaseIsEmpty`
222
+ - `createUser`, `seedDatabase`, `mockExternalAPI`
223
+
224
+ ### Action Functions (Act)
225
+
226
+ Describe the event/action:
227
+
228
+ - `userClicksCheckout`, `orderIsSubmitted`, `apiReceivesRequest`
229
+ - `submitForm`, `sendRequest`, `processPayment`
230
+
231
+ ### Assertion Functions (Assert)
232
+
233
+ Start with `expect`:
234
+
235
+ - `expectOrderProcessed`, `expectUserRedirected`, `expectEmailSent`
236
+ - `expectNoEmailSent`, `expectOrderNotCreated` (negative cases)
237
+
238
+ ---
239
+
240
+ ## Step 6: Generate Test Document
241
+
242
+ Write to `{FEATURE_DIR}/test-cases.md`:
243
+
244
+ ````markdown
245
+ ---
246
+ feature: [Feature Name]
247
+ created: [ISO timestamp]
248
+ spec: spec.md
249
+ status: draft
250
+ coverage:
251
+ user_stories: [N]/[Total]
252
+ acceptance_criteria: [N]/[Total]
253
+ ---
254
+
255
+ # Test Cases: [Feature Name]
256
+
257
+ ## Test Coverage Matrix
258
+
259
+ | User Story | Acceptance Criterion | Test Case(s) | Status |
260
+ | ---------- | -------------------- | ------------ | ------- |
261
+ | US1 | AC1: User can login | TC001, TC002 | Defined |
262
+ | US1 | AC2: Error handling | TC003, TC004 | Defined |
263
+ | US2 | AC1: Dashboard | TC005 | Defined |
264
+
265
+ ## Test Case Definitions
266
+
267
+ ### Happy Path Tests
268
+
269
+ #### TC001: Successful Login with Valid Credentials
270
+
271
+ Traces to: US1-AC1
272
+
273
+ ```javascript
274
+ // TC001: Successful Login with Valid Credentials
275
+ // Traces to: US1-AC1
276
+ //
277
+ // userExists({ email: 'test@example.com', password: 'valid' })
278
+ //
279
+ // userSubmitsLogin({ email: 'test@example.com', password: 'valid' })
280
+ //
281
+ // expectUserLoggedIn()
282
+ // expectRedirectedToDashboard()
283
+ // expectSessionCreated()
284
+ ```
285
+
286
+ #### TC002: Login Remembers User Preference
287
+
288
+ Traces to: US1-AC1
289
+
290
+ ```javascript
291
+ // TC002: Login Remembers User Preference
292
+ // Traces to: US1-AC1
293
+ //
294
+ // userExists({ email: 'test@example.com' })
295
+ // rememberMeEnabled()
296
+ //
297
+ // userSubmitsLogin({ email: 'test@example.com', password: 'valid' })
298
+ //
299
+ // expectPersistentSessionCreated()
300
+ // expectCookieSet('remember_token')
301
+ ```
302
+
303
+ ### Edge Case Tests
304
+
305
+ #### TC003: Login with Maximum Length Password
306
+
307
+ Traces to: US1-AC1
308
+
309
+ ```javascript
310
+ // TC003: Login with Maximum Length Password
311
+ // Traces to: US1-AC1
312
+ //
313
+ // userExists({ password: 'a'.repeat(128) })
314
+ //
315
+ // userSubmitsLogin({ password: 'a'.repeat(128) })
316
+ //
317
+ // expectUserLoggedIn()
318
+ ```
319
+
320
+ ### Error Scenario Tests
321
+
322
+ #### TC004: Login with Invalid Credentials
323
+
324
+ Traces to: US1-AC2
325
+
326
+ ```javascript
327
+ // TC004: Login with Invalid Credentials
328
+ // Traces to: US1-AC2
329
+ //
330
+ // userExists({ email: 'test@example.com', password: 'correct' })
331
+ //
332
+ // userSubmitsLogin({ email: 'test@example.com', password: 'wrong' })
333
+ //
334
+ // expectUserNotLoggedIn()
335
+ // expectErrorMessage('Invalid credentials')
336
+ // expectNoSessionCreated()
337
+ ```
338
+
339
+ #### TC005: Login When Service Unavailable
340
+
341
+ Traces to: US1-AC2
342
+
343
+ ```javascript
344
+ // TC005: Login When Service Unavailable
345
+ // Traces to: US1-AC2
346
+ //
347
+ // authServiceIsDown()
348
+ //
349
+ // userSubmitsLogin({ email: 'test@example.com', password: 'valid' })
350
+ //
351
+ // expectErrorMessage('Service temporarily unavailable')
352
+ // expectRetryOption()
353
+ ```
354
+
355
+ ### Authorization Tests
356
+
357
+ #### TC006: Unauthorized Access Attempt
358
+
359
+ Traces to: US1-AC3
360
+
361
+ ```javascript
362
+ // TC006: Unauthorized Access Attempt
363
+ // Traces to: US1-AC3
364
+ //
365
+ // userIsNotAuthenticated()
366
+ //
367
+ // userNavigatesToProtectedRoute('/dashboard')
368
+ //
369
+ // expectRedirectedToLogin()
370
+ // expectOriginalUrlPreserved()
371
+ ```
372
+
373
+ ## DSL Functions Required
374
+
375
+ ### Setup Functions (To Create)
376
+
377
+ | Function | Purpose | Exists? |
378
+ | --------------------- | ---------------------------- | ------- |
379
+ | `userExists()` | Create test user in database | No |
380
+ | `authServiceIsDown()` | Mock auth service failure | No |
381
+ | `rememberMeEnabled()` | Set remember me preference | No |
382
+
383
+ ### Action Functions (To Create)
384
+
385
+ | Function | Purpose | Exists? |
386
+ | -------------------- | ------------------------------ | ------- |
387
+ | `userSubmitsLogin()` | Simulate login form submission | No |
388
+ | `userNavigatesTo()` | Navigate to URL | Yes |
389
+
390
+ ### Assertion Functions (To Create)
391
+
392
+ | Function | Purpose | Exists? |
393
+ | ---------------------- | -------------------------- | ------- |
394
+ | `expectUserLoggedIn()` | Verify user session exists | No |
395
+ | `expectErrorMessage()` | Verify error is displayed | Yes |
396
+ | `expectRedirectedTo()` | Verify redirect occurred | Yes |
397
+
398
+ ## Implementation Notes
399
+
400
+ ### Test File Location
401
+
402
+ Based on codebase patterns: `tests/integration/[feature]/`
403
+
404
+ ### Test Framework
405
+
406
+ Using: [Jest/Vitest/Mocha/pytest] (from research)
407
+
408
+ ### DSL Implementation Location
409
+
410
+ DSL functions should go in: `tests/helpers/` or `tests/dsl/`
411
+
412
+ ## Next Steps
413
+
414
+ 1. [ ] Create missing DSL functions
415
+ 2. [ ] Implement test scaffolds
416
+ 3. [ ] Run tests (expect failures)
417
+ 4. [ ] Implement feature code
418
+ 5. [ ] Verify tests pass
419
+ ````
420
+
421
+ ---
422
+
423
+ ## Step 7: Generate Test Scaffolds (Optional)
424
+
425
+ If user wants actual test files, generate scaffolds:
426
+
427
+ ```javascript
428
+ // tests/integration/[feature]/[feature].test.ts
429
+ import { describe, test, expect } from 'vitest';
430
+ import {
431
+ userExists,
432
+ userSubmitsLogin,
433
+ expectUserLoggedIn,
434
+ // ... other DSL functions
435
+ } from '../../helpers/auth-dsl';
436
+
437
+ describe('[Feature Name]', () => {
438
+ describe('US1: User Authentication', () => {
439
+ test('TC001: Successful Login with Valid Credentials', async () => {
440
+ // TC001: Successful Login with Valid Credentials
441
+ // Traces to: US1-AC1
442
+ //
443
+ // userExists({ email: 'test@example.com', password: 'valid' })
444
+ //
445
+ // userSubmitsLogin({ email: 'test@example.com', password: 'valid' })
446
+ //
447
+ // expectUserLoggedIn()
448
+ // expectRedirectedToDashboard()
449
+
450
+ await userExists({ email: 'test@example.com', password: 'valid' });
451
+
452
+ await userSubmitsLogin({ email: 'test@example.com', password: 'valid' });
453
+
454
+ await expectUserLoggedIn();
455
+ await expectRedirectedToDashboard();
456
+ });
457
+
458
+ // ... more tests
459
+ });
460
+ });
461
+ ```
462
+
463
+ ---
464
+
465
+ ## Step 8: Update Tasks.md
466
+
467
+ Add test implementation tasks to tasks.md:
468
+
469
+ ```markdown
470
+ ## Phase: Test Implementation
471
+
472
+ - [ ] T0XX [P] Create DSL helper functions in tests/helpers/
473
+ - [ ] T0XX [P] Implement test scaffolds for US1
474
+ - [ ] T0XX [P] Implement test scaffolds for US2
475
+ - [ ] T0XX Verify all tests fail initially (red phase)
476
+ ```
477
+
478
+ ---
479
+
480
+ ## Step 9: Report Completion
481
+
482
+ ```
483
+ ================================================================
484
+ TEST CASES DEFINED: [Feature Name]
485
+ ================================================================
486
+
487
+ Coverage:
488
+ - User Stories: [N]/[Total] covered
489
+ - Acceptance Criteria: [N]/[Total] covered
490
+ - Test Cases: [Total] defined
491
+
492
+ Test Types:
493
+ - Happy Path: [N] tests
494
+ - Edge Cases: [N] tests
495
+ - Error Scenarios: [N] tests
496
+ - Authorization: [N] tests
497
+
498
+ DSL Functions:
499
+ - Existing: [N] functions
500
+ - To Create: [N] functions
501
+
502
+ Output: {FEATURE_DIR}/test-cases.md
503
+
504
+ Next Steps:
505
+ 1. Review test cases with stakeholders
506
+ 2. Implement DSL functions
507
+ 3. Create test scaffolds
508
+ 4. Run tests (expect red)
509
+ 5. Implement feature (turn green)
510
+
511
+ ================================================================
512
+ ```
513
+
514
+ ---
515
+
516
+ ## Test-First Workflow Integration
517
+
518
+ ### Before Implementation
519
+
520
+ ```
521
+ /1_gofer_research → /2_gofer_specify → /3_gofer_plan
522
+
523
+ /9_gofer_tests ← Define tests here
524
+
525
+ /4_gofer_tasks → /5_gofer_implement
526
+ ```
527
+
528
+ ### During Implementation
529
+
530
+ After each task in `/5_gofer_implement`:
531
+
532
+ 1. Run relevant tests
533
+ 2. Verify behavior matches test expectations
534
+ 3. Mark test as passing in test-cases.md
535
+
536
+ ---
537
+
538
+ ## Observability Logging
539
+
540
+ ```bash
541
+ .specify/scripts/bash/log-stage.sh 9_tests --complete --tokens [N] --compactions [N]
542
+ ```
543
+
544
+ ---
545
+
546
+ ## Key Rules
547
+
548
+ - Every test must trace to a user story or acceptance criterion
549
+ - Follow existing test patterns in the codebase
550
+ - DSL functions must be readable as natural language
551
+ - Tests should be independent and isolated
552
+ - Include both positive and negative test cases
553
+ - Document which DSL functions need to be created
@@ -0,0 +1,2 @@
1
+ description = "Generate comprehensive test suites from four testing perspectives for a target component."
2
+ prompt = "{{include: ../../../.specify/commands/9_gofer_tests.md}}"
@@ -0,0 +1,143 @@
1
+
2
+ # Gofer Workspace Bootstrap
3
+
4
+ ## Token And Cost Policy
5
+ <!-- gofer:token-cost-policy:start -->
6
+
7
+ Before spawning agents, calling tools, or loading large files:
8
+
9
+ 1. Treat `.specify/memory/gofer-model-policy.yaml` as the repo-owned source of truth for simple, medium, hard, and arbiter model routing. If it is missing, run `/gofer:bootstrap-workspace` before continuing.
10
+ 2. Use the cheapest capable model first.
11
+ - Claude: Haiku for scouting/extraction; Sonnet for normal implementation, synthesis, validation, and security; Opus for high-risk arbitration or release-critical failures.
12
+ - Codex/OpenAI: GPT mini for simple coding; GPT nano only for locate/classify/summarize/mechanical work; GPT-5.3-Codex or flagship GPT for tool-heavy coding, architecture, and release-critical validation.
13
+ - Gemini: Flash-Lite for cheap large-context scan/summarize; Flash for default research synthesis; Pro for large-context architecture or high-risk arbitration.
14
+ - Copilot: prefer Auto for simple and default work; ask the user before choosing a paid/high-tier picker model for hard security, architecture, or release gates.
15
+ 3. Keep raw tool output out of the main conversation context. Save stable findings to `.specify/specs/{feature}/context-bundle.md`, then work from summaries.
16
+ 4. Use provider prompt/context caching only for stable, non-secret prefixes: Gofer scaffold, AGENTS/CLAUDE/Copilot instructions, constitution, repo map, stage contracts, and validation rubric.
17
+ 5. Before continuing after large research, planning, implementation, or validation bursts, checkpoint the durable artifacts and compact/clear/resume context when the host supports it.
18
+ 6. Escalate model tier only when a cheaper pass is low-confidence, contradictory, security-sensitive, or blocking release quality.
19
+ <!-- gofer:token-cost-policy:end -->
20
+
21
+ ## Guardrails
22
+
23
+ - Preserve existing `.specify/specs/*` work.
24
+ - Preserve existing `.specify/memory/constitution.md` if present.
25
+ - Do **not** overwrite existing `AGENTS.md`, `CLAUDE.md`, or
26
+ `.github/copilot-instructions.md` by default. Create them only when missing.
27
+ - Do **not** add repo-local assistant mirrors (`.claude/commands`,
28
+ `.agents/skills`, `.github/prompts`, `.gemini/`, etc.) unless the user
29
+ explicitly asks for them.
30
+
31
+ ## Step 1: Resolve The Workspace Root
32
+
33
+ Use the current repository root. If you started inside a subdirectory, walk
34
+ upward to the nearest directory containing `.git`, `package.json`,
35
+ `pyproject.toml`, `go.mod`, `Cargo.toml`, or `.specify`.
36
+
37
+ ## Step 2: Select A Bootstrap Source
38
+
39
+ Use the first source that exists:
40
+
41
+ 1. `~/plugins/eai-gofer`
42
+ 2. `./plugins/eai-gofer` when you are working in the Gofer repo itself
43
+ 3. Download the latest public bundle zip and extract it to a temporary folder:
44
+
45
+ ```bash
46
+ curl -fsSL https://eai-tools.github.io/eai-gofer/releases/eai-gofer-agent-plugin-latest.zip \
47
+ -o /tmp/eai-gofer-agent-plugin-latest.zip
48
+ rm -rf /tmp/eai-gofer-bootstrap
49
+ mkdir -p /tmp/eai-gofer-bootstrap
50
+ unzip -q /tmp/eai-gofer-agent-plugin-latest.zip -d /tmp/eai-gofer-bootstrap
51
+ ```
52
+
53
+ When using the downloaded bundle, the source root is:
54
+
55
+ ```text
56
+ /tmp/eai-gofer-bootstrap/eai-gofer
57
+ ```
58
+
59
+ ## Step 3: Run The Portable Bootstrap Script
60
+
61
+ Prefer the scripted bootstrap from the selected source:
62
+
63
+ ```bash
64
+ node "$SOURCE_ROOT/.specify/scripts/node/gofer-workspace-bootstrap.mjs" \
65
+ --workspace "$WORKSPACE_ROOT" \
66
+ --host "$GOFER_HOST"
67
+ ```
68
+
69
+ Use the host value that matches the current client: `claude`, `codex`,
70
+ `copilot`, or `gemini`.
71
+
72
+ If the user explicitly asks for repo-local assistant mirrors as well, append:
73
+
74
+ ```bash
75
+ --include-mirrors
76
+ ```
77
+
78
+ The default bootstrap must create/update:
79
+
80
+ - `.specify/commands/`
81
+ - `.specify/templates/`
82
+ - `.specify/scripts/bash/`
83
+ - `.specify/scripts/node/`
84
+ - `.specify/scripts/hooks/`
85
+ - `.specify/scripts/powershell/`
86
+ - `.specify/specs/`
87
+ - `.specify/memory/`
88
+ - `.specify/memory/gofer-model-policy.yaml` when missing
89
+ - `.specify/.gofer-version`
90
+ - `.specify/README.md`
91
+ - Gofer runtime `.gitignore` entries
92
+
93
+ And host-specific repo-owned files:
94
+
95
+ - **Claude**: `AGENTS.md`, `CLAUDE.md`, `.claude/settings.json`
96
+ - **Codex**: `AGENTS.md`
97
+ - **Copilot**: `.github/copilot-instructions.md`
98
+ - **Gemini**: no extra required repo-owned file beyond the core scaffold
99
+
100
+ ## Step 4: Re-Run The Workspace Check
101
+
102
+ After bootstrap completes, run:
103
+
104
+ ```bash
105
+ node .specify/scripts/node/gofer-workspace-check.mjs --host "$GOFER_HOST" --json
106
+ ```
107
+
108
+ Report what changed and whether the workspace is now healthy.
109
+
110
+ If the workspace is still stale because the repo-local scripts are older than
111
+ the currently installed plugin bundle, explain that clearly and keep the
112
+ selected source bundle as the truth for the update.
113
+
114
+ ## Step 5: Continue EAI App First-Run Setup When Needed
115
+
116
+ If the user is building an EAI Platform app and Git, Node.js, npm, the EAI CLI,
117
+ login, tenant access, or EAI app template readiness is still missing, run
118
+ `/gofer:eai-first-run` next. Do not ask again when the workspace is healthy;
119
+ only ask when an install, browser login, tenant selection, or `eai init` action
120
+ is actually needed.
121
+
122
+ ## Step 6: Write The Workspace Bootstrap Report
123
+
124
+ Write the artifact only to `.specify/logs/workspace-bootstrap-report.md`.
125
+
126
+ If the target file already exists, replace it and prepend a regeneration note
127
+ such as `<!-- regenerated at [ISO timestamp] -->`.
128
+
129
+ Include the minimum provenance schema:
130
+
131
+ - `GeneratedAt`
132
+ - `SourceCommandId`
133
+ - `SourceInputs`
134
+ - `OverwriteNoticeWhenApplicable`
135
+
136
+ The generated workspace bootstrap report must contain these sections:
137
+
138
+ - `## Provenance`
139
+ - `## Workspace Root`
140
+ - `## Bootstrap Source`
141
+ - `## Host Policy`
142
+ - `## Changes Applied`
143
+ - `## Post-Check`
@@ -0,0 +1,2 @@
1
+ description = "Create or update the repo-owned Gofer scaffold for the current workspace."
2
+ prompt = "{{include: ../../../.specify/commands/gofer_bootstrap_workspace.md}}"