workspace-architect 1.3.0 → 1.5.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 (354) hide show
  1. package/assets-manifest.json +3392 -0
  2. package/bin/cli.js +134 -72
  3. package/package.json +11 -2
  4. package/.env.example +0 -1
  5. package/.gitattributes +0 -1
  6. package/.github/workflows/manual-publish.yml +0 -36
  7. package/.github/workflows/sync-and-publish.yml +0 -58
  8. package/.release-it.json +0 -20
  9. package/CHANGELOG.md +0 -43
  10. package/assets/chatmodes/4.1-Beast.chatmode.md +0 -152
  11. package/assets/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -337
  12. package/assets/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -644
  13. package/assets/chatmodes/accessibility.chatmode.md +0 -298
  14. package/assets/chatmodes/address-comments.chatmode.md +0 -59
  15. package/assets/chatmodes/aem-frontend-specialist.chatmode.md +0 -385
  16. package/assets/chatmodes/api-architect.chatmode.md +0 -40
  17. package/assets/chatmodes/atlassian-requirements-to-jira.chatmode.md +0 -444
  18. package/assets/chatmodes/azure-logic-apps-expert.chatmode.md +0 -100
  19. package/assets/chatmodes/azure-principal-architect.chatmode.md +0 -58
  20. package/assets/chatmodes/azure-saas-architect.chatmode.md +0 -118
  21. package/assets/chatmodes/azure-verified-modules-bicep.chatmode.md +0 -44
  22. package/assets/chatmodes/azure-verified-modules-terraform.chatmode.md +0 -58
  23. package/assets/chatmodes/bicep-implement.chatmode.md +0 -40
  24. package/assets/chatmodes/bicep-plan.chatmode.md +0 -112
  25. package/assets/chatmodes/blueprint-mode-codex.chatmode.md +0 -110
  26. package/assets/chatmodes/blueprint-mode.chatmode.md +0 -171
  27. package/assets/chatmodes/clojure-interactive-programming.chatmode.md +0 -174
  28. package/assets/chatmodes/code-tour.chatmode.md +0 -205
  29. package/assets/chatmodes/critical-thinking.chatmode.md +0 -23
  30. package/assets/chatmodes/csharp-dotnet-janitor.chatmode.md +0 -83
  31. package/assets/chatmodes/csharp-mcp-expert.chatmode.md +0 -69
  32. package/assets/chatmodes/debug.chatmode.md +0 -79
  33. package/assets/chatmodes/declarative-agents-architect.chatmode.md +0 -76
  34. package/assets/chatmodes/demonstrate-understanding.chatmode.md +0 -60
  35. package/assets/chatmodes/dotnet-upgrade.chatmode.md +0 -222
  36. package/assets/chatmodes/drupal-expert.chatmode.md +0 -687
  37. package/assets/chatmodes/electron-angular-native.chatmode.md +0 -285
  38. package/assets/chatmodes/expert-cpp-software-engineer.chatmode.md +0 -27
  39. package/assets/chatmodes/expert-dotnet-software-engineer.chatmode.md +0 -22
  40. package/assets/chatmodes/expert-nextjs-developer.chatmode.md +0 -477
  41. package/assets/chatmodes/expert-react-frontend-engineer.chatmode.md +0 -738
  42. package/assets/chatmodes/gilfoyle.chatmode.md +0 -66
  43. package/assets/chatmodes/go-mcp-expert.chatmode.md +0 -122
  44. package/assets/chatmodes/gpt-5-beast-mode.chatmode.md +0 -109
  45. package/assets/chatmodes/hlbpa.chatmode.md +0 -232
  46. package/assets/chatmodes/implementation-plan.chatmode.md +0 -159
  47. package/assets/chatmodes/janitor.chatmode.md +0 -89
  48. package/assets/chatmodes/java-mcp-expert.chatmode.md +0 -325
  49. package/assets/chatmodes/kotlin-mcp-expert.chatmode.md +0 -181
  50. package/assets/chatmodes/kusto-assistant.chatmode.md +0 -143
  51. package/assets/chatmodes/laravel-expert-agent.chatmode.md +0 -628
  52. package/assets/chatmodes/mentor.chatmode.md +0 -32
  53. package/assets/chatmodes/meta-agentic-project-scaffold.chatmode.md +0 -15
  54. package/assets/chatmodes/microsoft-agent-framework-dotnet.chatmode.md +0 -62
  55. package/assets/chatmodes/microsoft-agent-framework-python.chatmode.md +0 -62
  56. package/assets/chatmodes/microsoft-study-mode.chatmode.md +0 -32
  57. package/assets/chatmodes/microsoft_learn_contributor.chatmode.md +0 -388
  58. package/assets/chatmodes/ms-sql-dba.chatmode.md +0 -25
  59. package/assets/chatmodes/php-mcp-expert.chatmode.md +0 -498
  60. package/assets/chatmodes/pimcore-expert.chatmode.md +0 -869
  61. package/assets/chatmodes/plan.chatmode.md +0 -114
  62. package/assets/chatmodes/planner.chatmode.md +0 -14
  63. package/assets/chatmodes/playwright-tester.chatmode.md +0 -13
  64. package/assets/chatmodes/postgresql-dba.chatmode.md +0 -17
  65. package/assets/chatmodes/power-bi-data-modeling-expert.chatmode.md +0 -319
  66. package/assets/chatmodes/power-bi-dax-expert.chatmode.md +0 -334
  67. package/assets/chatmodes/power-bi-performance-expert.chatmode.md +0 -533
  68. package/assets/chatmodes/power-bi-visualization-expert.chatmode.md +0 -549
  69. package/assets/chatmodes/power-platform-expert.chatmode.md +0 -116
  70. package/assets/chatmodes/power-platform-mcp-integration-expert.chatmode.md +0 -149
  71. package/assets/chatmodes/prd.chatmode.md +0 -201
  72. package/assets/chatmodes/principal-software-engineer.chatmode.md +0 -41
  73. package/assets/chatmodes/prompt-builder.chatmode.md +0 -352
  74. package/assets/chatmodes/prompt-engineer.chatmode.md +0 -72
  75. package/assets/chatmodes/python-mcp-expert.chatmode.md +0 -99
  76. package/assets/chatmodes/refine-issue.chatmode.md +0 -34
  77. package/assets/chatmodes/research-technical-spike.chatmode.md +0 -169
  78. package/assets/chatmodes/ruby-mcp-expert.chatmode.md +0 -346
  79. package/assets/chatmodes/rust-gpt-4.1-beast-mode.chatmode.md +0 -197
  80. package/assets/chatmodes/rust-mcp-expert.chatmode.md +0 -465
  81. package/assets/chatmodes/search-ai-optimization-expert.chatmode.md +0 -227
  82. package/assets/chatmodes/semantic-kernel-dotnet.chatmode.md +0 -31
  83. package/assets/chatmodes/semantic-kernel-python.chatmode.md +0 -28
  84. package/assets/chatmodes/shopify-expert.chatmode.md +0 -681
  85. package/assets/chatmodes/simple-app-idea-generator.chatmode.md +0 -134
  86. package/assets/chatmodes/software-engineer-agent-v1.chatmode.md +0 -164
  87. package/assets/chatmodes/specification.chatmode.md +0 -127
  88. package/assets/chatmodes/swift-mcp-expert.chatmode.md +0 -240
  89. package/assets/chatmodes/task-planner.chatmode.md +0 -374
  90. package/assets/chatmodes/task-researcher.chatmode.md +0 -254
  91. package/assets/chatmodes/tdd-green.chatmode.md +0 -59
  92. package/assets/chatmodes/tdd-red.chatmode.md +0 -59
  93. package/assets/chatmodes/tdd-refactor.chatmode.md +0 -84
  94. package/assets/chatmodes/tech-debt-remediation-plan.chatmode.md +0 -49
  95. package/assets/chatmodes/terraform-azure-implement.chatmode.md +0 -104
  96. package/assets/chatmodes/terraform-azure-planning.chatmode.md +0 -157
  97. package/assets/chatmodes/typescript-mcp-expert.chatmode.md +0 -91
  98. package/assets/chatmodes/voidbeast-gpt41enhanced.chatmode.md +0 -230
  99. package/assets/chatmodes/wg-code-alchemist.chatmode.md +0 -61
  100. package/assets/chatmodes/wg-code-sentinel.chatmode.md +0 -55
  101. package/assets/collections/ai-prompt-engineering.json +0 -18
  102. package/assets/collections/angular-development.json +0 -7
  103. package/assets/collections/azure-cloud-architect.json +0 -29
  104. package/assets/collections/cpp-development.json +0 -6
  105. package/assets/collections/database-administration.json +0 -8
  106. package/assets/collections/devops-sre.json +0 -11
  107. package/assets/collections/dotnet-development.json +0 -22
  108. package/assets/collections/general-productivity.json +0 -9
  109. package/assets/collections/go-development.json +0 -7
  110. package/assets/collections/java-spring-developer.json +0 -26
  111. package/assets/collections/learning-mentoring.json +0 -10
  112. package/assets/collections/legacy-migration.json +0 -4
  113. package/assets/collections/mcp-specialist.json +0 -41
  114. package/assets/collections/mobile-development.json +0 -4
  115. package/assets/collections/php-cms-development.json +0 -11
  116. package/assets/collections/power-platform-specialist.json +0 -31
  117. package/assets/collections/project-management.json +0 -12
  118. package/assets/collections/python-development.json +0 -13
  119. package/assets/collections/quality-assurance.json +0 -13
  120. package/assets/collections/ruby-development.json +0 -9
  121. package/assets/collections/rust-development.json +0 -10
  122. package/assets/collections/security-specialist.json +0 -8
  123. package/assets/collections/software-architect.json +0 -25
  124. package/assets/collections/technical-writing.json +0 -9
  125. package/assets/collections/web-frontend-development.json +0 -14
  126. package/assets/instructions/a11y.instructions.md +0 -369
  127. package/assets/instructions/ai-prompt-engineering-safety-best-practices.instructions.md +0 -867
  128. package/assets/instructions/angular.instructions.md +0 -104
  129. package/assets/instructions/ansible.instructions.md +0 -88
  130. package/assets/instructions/aspnet-rest-apis.instructions.md +0 -110
  131. package/assets/instructions/astro.instructions.md +0 -182
  132. package/assets/instructions/azure-devops-pipelines.instructions.md +0 -185
  133. package/assets/instructions/azure-functions-typescript.instructions.md +0 -14
  134. package/assets/instructions/azure-logic-apps-power-automate.instructions.md +0 -1943
  135. package/assets/instructions/azure-verified-modules-terraform.instructions.md +0 -229
  136. package/assets/instructions/bicep-code-best-practices.instructions.md +0 -54
  137. package/assets/instructions/blazor.instructions.md +0 -77
  138. package/assets/instructions/clojure.instructions.md +0 -349
  139. package/assets/instructions/cmake-vcpkg.instructions.md +0 -10
  140. package/assets/instructions/codexer.instructions.md +0 -428
  141. package/assets/instructions/coldfusion-cfc.instructions.md +0 -30
  142. package/assets/instructions/coldfusion-cfm.instructions.md +0 -28
  143. package/assets/instructions/collections.instructions.md +0 -54
  144. package/assets/instructions/containerization-docker-best-practices.instructions.md +0 -681
  145. package/assets/instructions/convert-jpa-to-spring-data-cosmos.instructions.md +0 -949
  146. package/assets/instructions/copilot-thought-logging.instructions.md +0 -62
  147. package/assets/instructions/csharp-ja.instructions.md +0 -114
  148. package/assets/instructions/csharp-ko.instructions.md +0 -77
  149. package/assets/instructions/csharp-mcp-server.instructions.md +0 -95
  150. package/assets/instructions/csharp.instructions.md +0 -114
  151. package/assets/instructions/dart-n-flutter.instructions.md +0 -447
  152. package/assets/instructions/declarative-agents-microsoft365.instructions.md +0 -316
  153. package/assets/instructions/devbox-image-definition.instructions.md +0 -302
  154. package/assets/instructions/devops-core-principles.instructions.md +0 -167
  155. package/assets/instructions/dotnet-architecture-good-practices.instructions.md +0 -279
  156. package/assets/instructions/dotnet-framework.instructions.md +0 -113
  157. package/assets/instructions/dotnet-maui-9-to-dotnet-maui-10-upgrade.instructions.md +0 -1922
  158. package/assets/instructions/dotnet-maui.instructions.md +0 -69
  159. package/assets/instructions/dotnet-upgrade.instructions.md +0 -287
  160. package/assets/instructions/dotnet-wpf.instructions.md +0 -79
  161. package/assets/instructions/genaiscript.instructions.md +0 -21
  162. package/assets/instructions/generate-modern-terraform-code-for-azure.instructions.md +0 -82
  163. package/assets/instructions/gilfoyle-code-review.instructions.md +0 -114
  164. package/assets/instructions/github-actions-ci-cd-best-practices.instructions.md +0 -607
  165. package/assets/instructions/go-mcp-server.instructions.md +0 -346
  166. package/assets/instructions/go.instructions.md +0 -373
  167. package/assets/instructions/instructions.instructions.md +0 -256
  168. package/assets/instructions/java-11-to-java-17-upgrade.instructions.md +0 -793
  169. package/assets/instructions/java-17-to-java-21-upgrade.instructions.md +0 -464
  170. package/assets/instructions/java-21-to-java-25-upgrade.instructions.md +0 -311
  171. package/assets/instructions/java-mcp-server.instructions.md +0 -553
  172. package/assets/instructions/java.instructions.md +0 -81
  173. package/assets/instructions/joyride-user-project.instructions.md +0 -206
  174. package/assets/instructions/joyride-workspace-automation.instructions.md +0 -46
  175. package/assets/instructions/kotlin-mcp-server.instructions.md +0 -481
  176. package/assets/instructions/kubernetes-deployment-best-practices.instructions.md +0 -307
  177. package/assets/instructions/langchain-python.instructions.md +0 -229
  178. package/assets/instructions/localization.instructions.md +0 -39
  179. package/assets/instructions/makefile.instructions.md +0 -410
  180. package/assets/instructions/markdown.instructions.md +0 -52
  181. package/assets/instructions/memory-bank.instructions.md +0 -299
  182. package/assets/instructions/mongo-dba.instructions.md +0 -25
  183. package/assets/instructions/ms-sql-dba.instructions.md +0 -25
  184. package/assets/instructions/nestjs.instructions.md +0 -406
  185. package/assets/instructions/nextjs-tailwind.instructions.md +0 -72
  186. package/assets/instructions/nextjs.instructions.md +0 -143
  187. package/assets/instructions/nodejs-javascript-vitest.instructions.md +0 -30
  188. package/assets/instructions/object-calisthenics.instructions.md +0 -302
  189. package/assets/instructions/oqtane.instructions.md +0 -86
  190. package/assets/instructions/performance-optimization.instructions.md +0 -420
  191. package/assets/instructions/php-mcp-server.instructions.md +0 -809
  192. package/assets/instructions/playwright-dotnet.instructions.md +0 -101
  193. package/assets/instructions/playwright-python.instructions.md +0 -62
  194. package/assets/instructions/playwright-typescript.instructions.md +0 -86
  195. package/assets/instructions/power-apps-canvas-yaml.instructions.md +0 -827
  196. package/assets/instructions/power-apps-code-apps.instructions.md +0 -601
  197. package/assets/instructions/power-bi-custom-visuals-development.instructions.md +0 -810
  198. package/assets/instructions/power-bi-data-modeling-best-practices.instructions.md +0 -639
  199. package/assets/instructions/power-bi-dax-best-practices.instructions.md +0 -795
  200. package/assets/instructions/power-bi-devops-alm-best-practices.instructions.md +0 -623
  201. package/assets/instructions/power-bi-report-design-best-practices.instructions.md +0 -752
  202. package/assets/instructions/power-bi-security-rls-best-practices.instructions.md +0 -504
  203. package/assets/instructions/power-platform-connector.instructions.md +0 -430
  204. package/assets/instructions/power-platform-mcp-development.instructions.md +0 -88
  205. package/assets/instructions/powershell-pester-5.instructions.md +0 -197
  206. package/assets/instructions/powershell.instructions.md +0 -356
  207. package/assets/instructions/prompt.instructions.md +0 -73
  208. package/assets/instructions/python-mcp-server.instructions.md +0 -204
  209. package/assets/instructions/python.instructions.md +0 -56
  210. package/assets/instructions/quarkus-mcp-server-sse.instructions.md +0 -49
  211. package/assets/instructions/quarkus.instructions.md +0 -98
  212. package/assets/instructions/r.instructions.md +0 -116
  213. package/assets/instructions/reactjs.instructions.md +0 -162
  214. package/assets/instructions/ruby-mcp-server.instructions.md +0 -629
  215. package/assets/instructions/ruby-on-rails.instructions.md +0 -124
  216. package/assets/instructions/rust-mcp-server.instructions.md +0 -715
  217. package/assets/instructions/rust.instructions.md +0 -135
  218. package/assets/instructions/security-and-owasp.instructions.md +0 -51
  219. package/assets/instructions/self-explanatory-code-commenting.instructions.md +0 -162
  220. package/assets/instructions/shell.instructions.md +0 -132
  221. package/assets/instructions/spec-driven-workflow-v1.instructions.md +0 -323
  222. package/assets/instructions/springboot.instructions.md +0 -68
  223. package/assets/instructions/sql-sp-generation.instructions.md +0 -74
  224. package/assets/instructions/svelte.instructions.md +0 -161
  225. package/assets/instructions/swift-mcp-server.instructions.md +0 -498
  226. package/assets/instructions/taming-copilot.instructions.md +0 -40
  227. package/assets/instructions/tanstack-start-shadcn-tailwind.instructions.md +0 -212
  228. package/assets/instructions/task-implementation.instructions.md +0 -190
  229. package/assets/instructions/tasksync.instructions.md +0 -352
  230. package/assets/instructions/terraform-azure.instructions.md +0 -254
  231. package/assets/instructions/terraform-sap-btp.instructions.md +0 -195
  232. package/assets/instructions/terraform.instructions.md +0 -113
  233. package/assets/instructions/typescript-5-es2022.instructions.md +0 -114
  234. package/assets/instructions/typescript-mcp-server.instructions.md +0 -228
  235. package/assets/instructions/update-code-from-shorthand.instructions.md +0 -130
  236. package/assets/instructions/vuejs3.instructions.md +0 -153
  237. package/assets/instructions/wordpress.instructions.md +0 -186
  238. package/assets/prompts/add-educational-comments.prompt.md +0 -129
  239. package/assets/prompts/ai-prompt-engineering-safety-review.prompt.md +0 -230
  240. package/assets/prompts/architecture-blueprint-generator.prompt.md +0 -322
  241. package/assets/prompts/aspnet-minimal-api-openapi.prompt.md +0 -42
  242. package/assets/prompts/az-cost-optimize.prompt.md +0 -305
  243. package/assets/prompts/azure-resource-health-diagnose.prompt.md +0 -290
  244. package/assets/prompts/boost-prompt.prompt.md +0 -25
  245. package/assets/prompts/breakdown-epic-arch.prompt.md +0 -66
  246. package/assets/prompts/breakdown-epic-pm.prompt.md +0 -58
  247. package/assets/prompts/breakdown-feature-implementation.prompt.md +0 -128
  248. package/assets/prompts/breakdown-feature-prd.prompt.md +0 -61
  249. package/assets/prompts/breakdown-plan.prompt.md +0 -509
  250. package/assets/prompts/breakdown-test.prompt.md +0 -365
  251. package/assets/prompts/code-exemplars-blueprint-generator.prompt.md +0 -126
  252. package/assets/prompts/comment-code-generate-a-tutorial.prompt.md +0 -26
  253. package/assets/prompts/containerize-aspnet-framework.prompt.md +0 -455
  254. package/assets/prompts/containerize-aspnetcore.prompt.md +0 -393
  255. package/assets/prompts/conventional-commit.prompt.md +0 -73
  256. package/assets/prompts/copilot-instructions-blueprint-generator.prompt.md +0 -294
  257. package/assets/prompts/cosmosdb-datamodeling.prompt.md +0 -1045
  258. package/assets/prompts/create-agentsmd.prompt.md +0 -249
  259. package/assets/prompts/create-architectural-decision-record.prompt.md +0 -97
  260. package/assets/prompts/create-github-action-workflow-specification.prompt.md +0 -276
  261. package/assets/prompts/create-github-issue-feature-from-specification.prompt.md +0 -28
  262. package/assets/prompts/create-github-issues-feature-from-implementation-plan.prompt.md +0 -28
  263. package/assets/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md +0 -35
  264. package/assets/prompts/create-github-pull-request-from-specification.prompt.md +0 -24
  265. package/assets/prompts/create-implementation-plan.prompt.md +0 -157
  266. package/assets/prompts/create-llms.prompt.md +0 -210
  267. package/assets/prompts/create-oo-component-documentation.prompt.md +0 -193
  268. package/assets/prompts/create-readme.prompt.md +0 -21
  269. package/assets/prompts/create-specification.prompt.md +0 -127
  270. package/assets/prompts/create-spring-boot-java-project.prompt.md +0 -163
  271. package/assets/prompts/create-spring-boot-kotlin-project.prompt.md +0 -147
  272. package/assets/prompts/create-technical-spike.prompt.md +0 -231
  273. package/assets/prompts/csharp-async.prompt.md +0 -50
  274. package/assets/prompts/csharp-docs.prompt.md +0 -63
  275. package/assets/prompts/csharp-mcp-server-generator.prompt.md +0 -59
  276. package/assets/prompts/csharp-mstest.prompt.md +0 -67
  277. package/assets/prompts/csharp-nunit.prompt.md +0 -72
  278. package/assets/prompts/csharp-tunit.prompt.md +0 -101
  279. package/assets/prompts/csharp-xunit.prompt.md +0 -69
  280. package/assets/prompts/declarative-agents.prompt.md +0 -93
  281. package/assets/prompts/documentation-writer.prompt.md +0 -46
  282. package/assets/prompts/dotnet-best-practices.prompt.md +0 -84
  283. package/assets/prompts/dotnet-design-pattern-review.prompt.md +0 -41
  284. package/assets/prompts/dotnet-upgrade.prompt.md +0 -116
  285. package/assets/prompts/editorconfig.prompt.md +0 -64
  286. package/assets/prompts/ef-core.prompt.md +0 -76
  287. package/assets/prompts/finalize-agent-prompt.prompt.md +0 -27
  288. package/assets/prompts/first-ask.prompt.md +0 -29
  289. package/assets/prompts/folder-structure-blueprint-generator.prompt.md +0 -405
  290. package/assets/prompts/gen-specs-as-issues.prompt.md +0 -165
  291. package/assets/prompts/generate-custom-instructions-from-codebase.prompt.md +0 -240
  292. package/assets/prompts/git-flow-branch-creator.prompt.md +0 -293
  293. package/assets/prompts/github-copilot-starter.prompt.md +0 -372
  294. package/assets/prompts/go-mcp-server-generator.prompt.md +0 -334
  295. package/assets/prompts/java-docs.prompt.md +0 -24
  296. package/assets/prompts/java-junit.prompt.md +0 -64
  297. package/assets/prompts/java-mcp-server-generator.prompt.md +0 -756
  298. package/assets/prompts/java-refactoring-extract-method.prompt.md +0 -105
  299. package/assets/prompts/java-refactoring-remove-parameter.prompt.md +0 -85
  300. package/assets/prompts/java-springboot.prompt.md +0 -66
  301. package/assets/prompts/javascript-typescript-jest.prompt.md +0 -44
  302. package/assets/prompts/kotlin-mcp-server-generator.prompt.md +0 -449
  303. package/assets/prompts/kotlin-springboot.prompt.md +0 -71
  304. package/assets/prompts/mcp-copilot-studio-server-generator.prompt.md +0 -118
  305. package/assets/prompts/memory-merger.prompt.md +0 -107
  306. package/assets/prompts/mkdocs-translations.prompt.md +0 -110
  307. package/assets/prompts/model-recommendation.prompt.md +0 -677
  308. package/assets/prompts/multi-stage-dockerfile.prompt.md +0 -47
  309. package/assets/prompts/my-issues.prompt.md +0 -9
  310. package/assets/prompts/my-pull-requests.prompt.md +0 -15
  311. package/assets/prompts/next-intl-add-language.prompt.md +0 -20
  312. package/assets/prompts/php-mcp-server-generator.prompt.md +0 -522
  313. package/assets/prompts/playwright-automation-fill-in-form.prompt.md +0 -30
  314. package/assets/prompts/playwright-explore-website.prompt.md +0 -19
  315. package/assets/prompts/playwright-generate-test.prompt.md +0 -19
  316. package/assets/prompts/postgresql-code-review.prompt.md +0 -214
  317. package/assets/prompts/postgresql-optimization.prompt.md +0 -406
  318. package/assets/prompts/power-apps-code-app-scaffold.prompt.md +0 -150
  319. package/assets/prompts/power-bi-dax-optimization.prompt.md +0 -175
  320. package/assets/prompts/power-bi-model-design-review.prompt.md +0 -405
  321. package/assets/prompts/power-bi-performance-troubleshooting.prompt.md +0 -384
  322. package/assets/prompts/power-bi-report-design-consultation.prompt.md +0 -353
  323. package/assets/prompts/power-platform-mcp-connector-suite.prompt.md +0 -156
  324. package/assets/prompts/project-workflow-analysis-blueprint-generator.prompt.md +0 -294
  325. package/assets/prompts/prompt-builder.prompt.md +0 -142
  326. package/assets/prompts/pytest-coverage.prompt.md +0 -28
  327. package/assets/prompts/python-mcp-server-generator.prompt.md +0 -105
  328. package/assets/prompts/readme-blueprint-generator.prompt.md +0 -79
  329. package/assets/prompts/remember-interactive-programming.prompt.md +0 -13
  330. package/assets/prompts/remember.prompt.md +0 -125
  331. package/assets/prompts/repo-story-time.prompt.md +0 -156
  332. package/assets/prompts/review-and-refactor.prompt.md +0 -15
  333. package/assets/prompts/ruby-mcp-server-generator.prompt.md +0 -660
  334. package/assets/prompts/rust-mcp-server-generator.prompt.md +0 -578
  335. package/assets/prompts/shuffle-json-data.prompt.md +0 -151
  336. package/assets/prompts/sql-code-review.prompt.md +0 -303
  337. package/assets/prompts/sql-optimization.prompt.md +0 -298
  338. package/assets/prompts/suggest-awesome-github-copilot-agents.prompt.md +0 -72
  339. package/assets/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md +0 -71
  340. package/assets/prompts/suggest-awesome-github-copilot-collections.prompt.md +0 -149
  341. package/assets/prompts/suggest-awesome-github-copilot-instructions.prompt.md +0 -88
  342. package/assets/prompts/suggest-awesome-github-copilot-prompts.prompt.md +0 -71
  343. package/assets/prompts/swift-mcp-server-generator.prompt.md +0 -669
  344. package/assets/prompts/technology-stack-blueprint-generator.prompt.md +0 -242
  345. package/assets/prompts/typescript-mcp-server-generator.prompt.md +0 -90
  346. package/assets/prompts/update-avm-modules-in-bicep.prompt.md +0 -60
  347. package/assets/prompts/update-implementation-plan.prompt.md +0 -157
  348. package/assets/prompts/update-llms.prompt.md +0 -216
  349. package/assets/prompts/update-markdown-file-index.prompt.md +0 -76
  350. package/assets/prompts/update-oo-component-documentation.prompt.md +0 -162
  351. package/assets/prompts/update-specification.prompt.md +0 -127
  352. package/assets/prompts/write-coding-standards-from-file.prompt.md +0 -316
  353. package/scripts/sync.js +0 -99
  354. package/verdaccio/config.yaml +0 -202
package/bin/cli.js CHANGED
@@ -6,12 +6,15 @@ import fs from 'fs-extra';
6
6
  import path from 'path';
7
7
  import chalk from 'chalk';
8
8
  import { fileURLToPath } from 'url';
9
- import matter from 'gray-matter';
10
9
 
11
10
  const __filename = fileURLToPath(import.meta.url);
12
11
  const __dirname = path.dirname(__filename);
12
+ const ROOT_DIR = path.join(__dirname, '..');
13
+ const ASSETS_DIR = path.join(ROOT_DIR, 'assets');
14
+ const MANIFEST_PATH = path.join(ROOT_DIR, 'assets-manifest.json');
13
15
 
14
- const ASSETS_DIR = path.join(__dirname, '../assets');
16
+ // Check if running in local development mode (assets folder exists)
17
+ const IS_LOCAL = await fs.pathExists(ASSETS_DIR);
15
18
 
16
19
  program
17
20
  .name('github-copilot-packed')
@@ -52,39 +55,70 @@ program
52
55
  }
53
56
  });
54
57
 
55
- async function listAssets(type) {
56
- const dirPath = path.join(ASSETS_DIR, type);
57
- if (!await fs.pathExists(dirPath)) {
58
- console.log(chalk.yellow(`No assets found for type: ${type}`));
59
- return;
58
+ async function getManifest() {
59
+ if (await fs.pathExists(MANIFEST_PATH)) {
60
+ return fs.readJson(MANIFEST_PATH);
60
61
  }
62
+ throw new Error('Manifest file not found. Please report this issue.');
63
+ }
61
64
 
62
- const files = await fs.readdir(dirPath);
63
- if (files.length === 0) {
64
- console.log(chalk.yellow(`No assets found for type: ${type}`));
65
- return;
66
- }
65
+ async function listAssets(type) {
66
+ if (IS_LOCAL) {
67
+ // Local Development Mode
68
+ const matter = (await import('gray-matter')).default;
69
+ const dirPath = path.join(ASSETS_DIR, type);
70
+
71
+ if (!await fs.pathExists(dirPath)) {
72
+ console.log(chalk.yellow(`No assets found for type: ${type}`));
73
+ return;
74
+ }
75
+
76
+ const files = await fs.readdir(dirPath);
77
+ if (files.length === 0) {
78
+ console.log(chalk.yellow(`No assets found for type: ${type}`));
79
+ return;
80
+ }
67
81
 
68
- console.log(chalk.blue.bold(`\nAvailable ${type}:`));
69
- for (const file of files) {
70
- const filePath = path.join(dirPath, file);
71
- let description = '';
82
+ console.log(chalk.blue.bold(`\nAvailable ${type}:`));
83
+ for (const file of files) {
84
+ const filePath = path.join(dirPath, file);
85
+ let description = '';
72
86
 
73
- try {
74
- if (type === 'collections') {
75
- const content = await fs.readJson(filePath);
76
- description = content.description || '';
77
- } else {
78
- const content = await fs.readFile(filePath, 'utf8');
79
- const parsed = matter(content);
80
- description = parsed.data.description || '';
87
+ try {
88
+ if (type === 'collections') {
89
+ const content = await fs.readJson(filePath);
90
+ description = content.description || '';
91
+ } else {
92
+ const content = await fs.readFile(filePath, 'utf8');
93
+ const parsed = matter(content);
94
+ description = parsed.data.description || '';
95
+ }
96
+ } catch (e) {
97
+ // Ignore errors reading metadata
81
98
  }
82
- } catch (e) {
83
- // Ignore errors reading metadata
99
+
100
+ const name = path.parse(file).name;
101
+ console.log(` - ${name}${description ? ` - ${description}` : ''}`);
102
+ }
103
+ } else {
104
+ // Production Mode (Manifest)
105
+ const manifest = await getManifest();
106
+ const assets = Object.entries(manifest.assets)
107
+ .filter(([key, asset]) => asset.type === type)
108
+ .map(([key, asset]) => ({
109
+ id: key.split(':')[1],
110
+ ...asset
111
+ }));
112
+
113
+ if (assets.length === 0) {
114
+ console.log(chalk.yellow(`No assets found for type: ${type}`));
115
+ return;
84
116
  }
85
117
 
86
- const name = path.parse(file).name;
87
- console.log(` - ${name}${description ? ` - ${description}` : ''}`);
118
+ console.log(chalk.blue.bold(`\nAvailable ${type}:`));
119
+ for (const asset of assets) {
120
+ console.log(` - ${asset.id}${asset.description ? ` - ${asset.description}` : ''}`);
121
+ }
88
122
  }
89
123
  }
90
124
 
@@ -100,26 +134,31 @@ async function downloadAsset(id, options) {
100
134
  throw new Error(`Invalid type: ${type}. Valid types are: ${validTypes.join(', ')}`);
101
135
  }
102
136
 
137
+ // Handle Collections
103
138
  if (type === 'collections') {
104
- let fileName = name;
105
- if (!path.extname(name)) {
106
- fileName += '.json';
107
- }
108
- const sourcePath = path.join(ASSETS_DIR, type, fileName);
109
-
110
- if (!await fs.pathExists(sourcePath)) {
111
- throw new Error(`Collection not found: ${type}/${fileName}`);
112
- }
113
-
114
- const collectionContent = await fs.readJson(sourcePath);
115
139
  let items = [];
116
140
 
117
- if (Array.isArray(collectionContent)) {
118
- items = collectionContent;
119
- } else if (collectionContent.items && Array.isArray(collectionContent.items)) {
120
- items = collectionContent.items;
141
+ if (IS_LOCAL) {
142
+ let fileName = name;
143
+ if (!path.extname(name)) fileName += '.json';
144
+ const sourcePath = path.join(ASSETS_DIR, type, fileName);
145
+
146
+ if (!await fs.pathExists(sourcePath)) {
147
+ throw new Error(`Collection not found: ${type}/${fileName}`);
148
+ }
149
+
150
+ const collectionContent = await fs.readJson(sourcePath);
151
+ items = collectionContent.items || (Array.isArray(collectionContent) ? collectionContent : []);
121
152
  } else {
122
- throw new Error(`Invalid collection format: ${fileName} must be a JSON array or object with items array.`);
153
+ const manifest = await getManifest();
154
+ const key = `${type}:${name}`;
155
+ const asset = manifest.assets[key];
156
+
157
+ if (!asset) {
158
+ throw new Error(`Collection not found: ${id}`);
159
+ }
160
+
161
+ items = asset.items || [];
123
162
  }
124
163
 
125
164
  console.log(chalk.blue(`Downloading collection: ${name}`));
@@ -133,33 +172,56 @@ async function downloadAsset(id, options) {
133
172
  return;
134
173
  }
135
174
 
136
- // Try to find the file with various extensions
137
- const potentialFileNames = [
138
- name,
139
- name + '.md'
140
- ];
141
-
142
- // Add type-specific extensions
143
- if (type === 'chatmodes') potentialFileNames.push(name + '.chatmode.md');
144
- if (type === 'prompts') potentialFileNames.push(name + '.prompt.md');
145
- if (type === 'instructions') potentialFileNames.push(name + '.instructions.md');
146
-
147
- let sourcePath = null;
148
- let foundFileName = null;
149
-
150
- for (const fname of potentialFileNames) {
151
- const p = path.join(ASSETS_DIR, type, fname);
152
- if (await fs.pathExists(p)) {
153
- sourcePath = p;
154
- foundFileName = fname;
155
- break;
175
+ // Handle Single Asset
176
+ let content = '';
177
+ let fileName = '';
178
+
179
+ if (IS_LOCAL) {
180
+ // Try to find the file with various extensions
181
+ const potentialFileNames = [
182
+ name,
183
+ name + '.md'
184
+ ];
185
+ if (type === 'chatmodes') potentialFileNames.push(name + '.chatmode.md');
186
+ if (type === 'prompts') potentialFileNames.push(name + '.prompt.md');
187
+ if (type === 'instructions') potentialFileNames.push(name + '.instructions.md');
188
+
189
+ let sourcePath = null;
190
+ for (const fname of potentialFileNames) {
191
+ const p = path.join(ASSETS_DIR, type, fname);
192
+ if (await fs.pathExists(p)) {
193
+ sourcePath = p;
194
+ fileName = fname;
195
+ break;
196
+ }
156
197
  }
157
- }
158
198
 
159
- if (!sourcePath) {
160
- throw new Error(`Asset not found: ${type}/${name}`);
199
+ if (!sourcePath) {
200
+ throw new Error(`Asset not found: ${type}/${name}`);
201
+ }
202
+
203
+ content = await fs.readFile(sourcePath, 'utf8');
204
+ } else {
205
+ const manifest = await getManifest();
206
+ const key = `${type}:${name}`;
207
+ const asset = manifest.assets[key];
208
+
209
+ if (!asset) {
210
+ throw new Error(`Asset not found: ${id}`);
211
+ }
212
+
213
+ fileName = path.basename(asset.path);
214
+ const url = `https://raw.githubusercontent.com/archubbuck/workspace-architect/main/${asset.path}`;
215
+
216
+ console.log(chalk.dim(`Fetching ${url}...`));
217
+ const response = await fetch(url);
218
+ if (!response.ok) {
219
+ throw new Error(`Failed to fetch ${url}: ${response.statusText}`);
220
+ }
221
+ content = await response.text();
161
222
  }
162
223
 
224
+ // Determine Destination
163
225
  let destDir;
164
226
  if (options.output) {
165
227
  destDir = path.resolve(process.cwd(), options.output);
@@ -167,10 +229,10 @@ async function downloadAsset(id, options) {
167
229
  destDir = path.join(process.cwd(), '.github', type);
168
230
  }
169
231
 
170
- const destPath = path.join(destDir, foundFileName);
232
+ const destPath = path.join(destDir, fileName);
171
233
 
172
234
  if (options.dryRun) {
173
- console.log(chalk.cyan(`[Dry Run] Would copy ${sourcePath} to ${destPath}`));
235
+ console.log(chalk.cyan(`[Dry Run] Would write to ${destPath}`));
174
236
  return;
175
237
  }
176
238
 
@@ -182,7 +244,7 @@ async function downloadAsset(id, options) {
182
244
  {
183
245
  type: 'confirm',
184
246
  name: 'overwrite',
185
- message: `File ${foundFileName} already exists in ${destDir}. Overwrite?`,
247
+ message: `File ${fileName} already exists in ${destDir}. Overwrite?`,
186
248
  default: false
187
249
  }
188
250
  ]);
@@ -193,8 +255,8 @@ async function downloadAsset(id, options) {
193
255
  }
194
256
  }
195
257
 
196
- await fs.copy(sourcePath, destPath);
197
- console.log(chalk.green(`Successfully downloaded ${foundFileName} to ${destDir}`));
258
+ await fs.writeFile(destPath, content);
259
+ console.log(chalk.green(`Successfully downloaded ${fileName} to ${destDir}`));
198
260
  }
199
261
 
200
262
  program.parse();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workspace-architect",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "A comprehensive library of specialized AI personas and chat modes for GitHub Copilot, ranging from architectural planning and specific tech stacks to advanced cognitive reasoning models.",
5
5
  "bin": {
6
6
  "workspace-architect": "./bin/cli.js"
@@ -8,10 +8,19 @@
8
8
  "scripts": {
9
9
  "start:registry": "verdaccio --config verdaccio/config.yaml",
10
10
  "test:local": "node bin/cli.js list && node bin/cli.js download instructions:basic-setup --dry-run",
11
+ "analyze": "node scripts/analyze-collections.js",
12
+ "generate-manifest": "node scripts/generate-manifest.js",
13
+ "prepublishOnly": "npm run generate-manifest",
11
14
  "sync": "node scripts/sync.js",
12
15
  "release": "release-it",
13
16
  "publish:local": "npm run release && npm publish --registry http://localhost:4873"
14
17
  },
18
+ "files": [
19
+ "bin",
20
+ "assets-manifest.json",
21
+ "README.md",
22
+ "LICENSE"
23
+ ],
15
24
  "keywords": [
16
25
  "copilot",
17
26
  "chatmodes",
@@ -40,12 +49,12 @@
40
49
  "chalk": "^5.3.0",
41
50
  "commander": "^12.0.0",
42
51
  "fs-extra": "^11.2.0",
43
- "gray-matter": "^4.0.3",
44
52
  "inquirer": "^9.2.15"
45
53
  },
46
54
  "devDependencies": {
47
55
  "@release-it/conventional-changelog": "^8.0.2",
48
56
  "conventional-changelog-conventionalcommits": "^7.0.2",
57
+ "gray-matter": "^4.0.3",
49
58
  "release-it": "^17.11.0",
50
59
  "verdaccio": "^5.29.0"
51
60
  },
package/.env.example DELETED
@@ -1 +0,0 @@
1
- GITHUB_TOKEN=your_github_token_here
package/.gitattributes DELETED
@@ -1 +0,0 @@
1
- bin/*.js text eol=lf
@@ -1,36 +0,0 @@
1
- name: Manual Publish
2
-
3
- on:
4
- workflow_dispatch:
5
-
6
- jobs:
7
- publish:
8
- runs-on: ubuntu-latest
9
- permissions:
10
- contents: write
11
- steps:
12
- - name: Checkout repository
13
- uses: actions/checkout@v4
14
- with:
15
- fetch-depth: 0
16
-
17
- - name: Setup Node.js
18
- uses: actions/setup-node@v4
19
- with:
20
- node-version: '20'
21
- registry-url: 'https://registry.npmjs.org'
22
- cache: 'npm'
23
-
24
- - name: Install dependencies
25
- run: npm ci
26
-
27
- - name: Configure Git
28
- run: |
29
- git config --global user.name 'github-actions[bot]'
30
- git config --global user.email 'github-actions[bot]@users.noreply.github.com'
31
-
32
- - name: Release and Publish
33
- env:
34
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
35
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
36
- run: npm run release -- --ci --npm.publish --git.push
@@ -1,58 +0,0 @@
1
- name: Sync and Publish
2
-
3
- on:
4
- schedule:
5
- - cron: '0 * * * *' # Runs every hour
6
- workflow_dispatch:
7
-
8
- jobs:
9
- sync-and-publish:
10
- runs-on: ubuntu-latest
11
- permissions:
12
- contents: write
13
- steps:
14
- - name: Checkout repository
15
- uses: actions/checkout@v4
16
- with:
17
- fetch-depth: 0
18
-
19
- - name: Setup Node.js
20
- uses: actions/setup-node@v4
21
- with:
22
- node-version: '20'
23
- registry-url: 'https://registry.npmjs.org'
24
- cache: 'npm'
25
-
26
- - name: Install dependencies
27
- run: npm ci
28
-
29
- - name: Run Sync
30
- env:
31
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32
- run: npm run sync
33
-
34
- - name: Check for changes
35
- id: git-check
36
- run: |
37
- if [[ -n $(git status --porcelain) ]]; then
38
- echo "changes=true" >> $GITHUB_OUTPUT
39
- fi
40
-
41
- - name: Configure Git
42
- if: steps.git-check.outputs.changes == 'true'
43
- run: |
44
- git config --global user.name 'github-actions[bot]'
45
- git config --global user.email 'github-actions[bot]@users.noreply.github.com'
46
-
47
- - name: Commit Changes
48
- if: steps.git-check.outputs.changes == 'true'
49
- run: |
50
- git add assets/
51
- git commit -m "chore: sync content from awesome-copilot"
52
-
53
- - name: Release and Publish
54
- if: steps.git-check.outputs.changes == 'true'
55
- env:
56
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
57
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
58
- run: npm run release -- --ci --npm.publish --git.push
package/.release-it.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "git": {
3
- "commitMessage": "chore: release v${version}",
4
- "tagName": "v${version}",
5
- "push": false,
6
- "requireUpstream": false
7
- },
8
- "npm": {
9
- "publish": false
10
- },
11
- "github": {
12
- "release": false
13
- },
14
- "plugins": {
15
- "@release-it/conventional-changelog": {
16
- "preset": "conventionalcommits",
17
- "infile": "CHANGELOG.md"
18
- }
19
- }
20
- }
package/CHANGELOG.md DELETED
@@ -1,43 +0,0 @@
1
-
2
-
3
- ## 1.3.0 (2025-11-21)
4
-
5
-
6
- ### Features
7
-
8
- * add automated sync and publish workflow ([79f78e1](https://github.com/archubbuck/workspace-architect/commit/79f78e1698e1a698d7f5d8443e147b7157e4bf35))
9
- * add CLI entry point ([0986ba2](https://github.com/archubbuck/workspace-architect/commit/0986ba2e1b3de3f97ef7a46d2635458b1bf1bed4))
10
- * add initial assets for chat modes and prompts ([a242ecb](https://github.com/archubbuck/workspace-architect/commit/a242ecb127746085d952c2e3b1ddcb650dbfdafd))
11
- * add manual publish workflow ([081bf4b](https://github.com/archubbuck/workspace-architect/commit/081bf4b4b42bf6cdaee309ad357d107fc7e596a3))
12
- * add sync script to fetch awesome-copilot assets ([3c20eb5](https://github.com/archubbuck/workspace-architect/commit/3c20eb53aedb5c912d3f6058f6156c88cf010541))
13
- * import new chat modes from awesome-copilot ([918a31e](https://github.com/archubbuck/workspace-architect/commit/918a31e4e6ed5ee4f965c1026397d218e61842ff))
14
- * import new collections from awesome-copilot ([29c9244](https://github.com/archubbuck/workspace-architect/commit/29c9244a3bfff00dba6df369c1c5607f594ba49f))
15
- * import new instructions from awesome-copilot ([985a1a9](https://github.com/archubbuck/workspace-architect/commit/985a1a9b380ed69ba98d1455badad90e5e543bbc))
16
- * import new prompts from awesome-copilot ([ac993a8](https://github.com/archubbuck/workspace-architect/commit/ac993a8c78b73ebee8ee33ba9431350ff0c5c858))
17
-
18
-
19
- ### Bug Fixes
20
-
21
- * clean up and repopulate collections with valid assets ([d4f7926](https://github.com/archubbuck/workspace-architect/commit/d4f7926115a2c96780620755452e900e256a4129))
22
- * remove missing assets from software-architect collection ([78e5f05](https://github.com/archubbuck/workspace-architect/commit/78e5f0500b6d73324702cdef52c7a14a8936666c))
23
- * resolve asset filenames with correct extensions in CLI ([8cf79ba](https://github.com/archubbuck/workspace-architect/commit/8cf79bafeeee82884d97ef3cef2901e2a45d734f))
24
- * resolve CLI reference error and bump version to 1.2.2 ([819c883](https://github.com/archubbuck/workspace-architect/commit/819c8831b9f17b02b52a9457b4567503999f2ec5))
25
-
26
- ## [1.2.0](///compare/v1.1.0...v1.2.0) (2025-11-21)
27
-
28
-
29
- ### Features
30
-
31
- * add sync script to fetch awesome-copilot assets 3c20eb5
32
- * import new chat modes from awesome-copilot 918a31e
33
- * import new collections from awesome-copilot 29c9244
34
- * import new instructions from awesome-copilot 985a1a9
35
- * import new prompts from awesome-copilot ac993a8
36
-
37
- ## [1.1.0](///compare/v1.0.4...v1.1.0) (2025-11-21)
38
-
39
-
40
- ### Features
41
-
42
- * add CLI entry point 0986ba2
43
- * add initial assets for chat modes and prompts a242ecb
@@ -1,152 +0,0 @@
1
- ---
2
- description: 'GPT 4.1 as a top-notch coding agent.'
3
- model: GPT-4.1
4
- title: '4.1 Beast Mode v3.1'
5
- ---
6
-
7
- You are an agent - please keep going until the user’s query is completely resolved, before ending your turn and yielding back to the user.
8
-
9
- Your thinking should be thorough and so it's fine if it's very long. However, avoid unnecessary repetition and verbosity. You should be concise, but thorough.
10
-
11
- You MUST iterate and keep going until the problem is solved.
12
-
13
- You have everything you need to resolve this problem. I want you to fully solve this autonomously before coming back to me.
14
-
15
- Only terminate your turn when you are sure that the problem is solved and all items have been checked off. Go through the problem step by step, and make sure to verify that your changes are correct. NEVER end your turn without having truly and completely solved the problem, and when you say you are going to make a tool call, make sure you ACTUALLY make the tool call, instead of ending your turn.
16
-
17
- THE PROBLEM CAN NOT BE SOLVED WITHOUT EXTENSIVE INTERNET RESEARCH.
18
-
19
- You must use the fetch_webpage tool to recursively gather all information from URL's provided to you by the user, as well as any links you find in the content of those pages.
20
-
21
- Your knowledge on everything is out of date because your training date is in the past.
22
-
23
- You CANNOT successfully complete this task without using Google to verify your understanding of third party packages and dependencies is up to date. You must use the fetch_webpage tool to search google for how to properly use libraries, packages, frameworks, dependencies, etc. every single time you install or implement one. It is not enough to just search, you must also read the content of the pages you find and recursively gather all relevant information by fetching additional links until you have all the information you need.
24
-
25
- Always tell the user what you are going to do before making a tool call with a single concise sentence. This will help them understand what you are doing and why.
26
-
27
- If the user request is "resume" or "continue" or "try again", check the previous conversation history to see what the next incomplete step in the todo list is. Continue from that step, and do not hand back control to the user until the entire todo list is complete and all items are checked off. Inform the user that you are continuing from the last incomplete step, and what that step is.
28
-
29
- Take your time and think through every step - remember to check your solution rigorously and watch out for boundary cases, especially with the changes you made. Use the sequential thinking tool if available. Your solution must be perfect. If not, continue working on it. At the end, you must test your code rigorously using the tools provided, and do it many times, to catch all edge cases. If it is not robust, iterate more and make it perfect. Failing to test your code sufficiently rigorously is the NUMBER ONE failure mode on these types of tasks; make sure you handle all edge cases, and run existing tests if they are provided.
30
-
31
- You MUST plan extensively before each function call, and reflect extensively on the outcomes of the previous function calls. DO NOT do this entire process by making function calls only, as this can impair your ability to solve the problem and think insightfully.
32
-
33
- You MUST keep working until the problem is completely solved, and all items in the todo list are checked off. Do not end your turn until you have completed all steps in the todo list and verified that everything is working correctly. When you say "Next I will do X" or "Now I will do Y" or "I will do X", you MUST actually do X or Y instead of just saying that you will do it.
34
-
35
- You are a highly capable and autonomous agent, and you can definitely solve this problem without needing to ask the user for further input.
36
-
37
- # Workflow
38
- 1. Fetch any URL's provided by the user using the `fetch_webpage` tool.
39
- 2. Understand the problem deeply. Carefully read the issue and think critically about what is required. Use sequential thinking to break down the problem into manageable parts. Consider the following:
40
- - What is the expected behavior?
41
- - What are the edge cases?
42
- - What are the potential pitfalls?
43
- - How does this fit into the larger context of the codebase?
44
- - What are the dependencies and interactions with other parts of the code?
45
- 3. Investigate the codebase. Explore relevant files, search for key functions, and gather context.
46
- 4. Research the problem on the internet by reading relevant articles, documentation, and forums.
47
- 5. Develop a clear, step-by-step plan. Break down the fix into manageable, incremental steps. Display those steps in a simple todo list using emojis to indicate the status of each item.
48
- 6. Implement the fix incrementally. Make small, testable code changes.
49
- 7. Debug as needed. Use debugging techniques to isolate and resolve issues.
50
- 8. Test frequently. Run tests after each change to verify correctness.
51
- 9. Iterate until the root cause is fixed and all tests pass.
52
- 10. Reflect and validate comprehensively. After tests pass, think about the original intent, write additional tests to ensure correctness, and remember there are hidden tests that must also pass before the solution is truly complete.
53
-
54
- Refer to the detailed sections below for more information on each step.
55
-
56
- ## 1. Fetch Provided URLs
57
- - If the user provides a URL, use the `functions.fetch_webpage` tool to retrieve the content of the provided URL.
58
- - After fetching, review the content returned by the fetch tool.
59
- - If you find any additional URLs or links that are relevant, use the `fetch_webpage` tool again to retrieve those links.
60
- - Recursively gather all relevant information by fetching additional links until you have all the information you need.
61
-
62
- ## 2. Deeply Understand the Problem
63
- Carefully read the issue and think hard about a plan to solve it before coding.
64
-
65
- ## 3. Codebase Investigation
66
- - Explore relevant files and directories.
67
- - Search for key functions, classes, or variables related to the issue.
68
- - Read and understand relevant code snippets.
69
- - Identify the root cause of the problem.
70
- - Validate and update your understanding continuously as you gather more context.
71
-
72
- ## 4. Internet Research
73
- - Use the `fetch_webpage` tool to search google by fetching the URL `https://www.google.com/search?q=your+search+query`.
74
- - After fetching, review the content returned by the fetch tool.
75
- - You MUST fetch the contents of the most relevant links to gather information. Do not rely on the summary that you find in the search results.
76
- - As you fetch each link, read the content thoroughly and fetch any additional links that you find within the content that are relevant to the problem.
77
- - Recursively gather all relevant information by fetching links until you have all the information you need.
78
-
79
- ## 5. Develop a Detailed Plan
80
- - Outline a specific, simple, and verifiable sequence of steps to fix the problem.
81
- - Create a todo list in markdown format to track your progress.
82
- - Each time you complete a step, check it off using `[x]` syntax.
83
- - Each time you check off a step, display the updated todo list to the user.
84
- - Make sure that you ACTUALLY continue on to the next step after checking off a step instead of ending your turn and asking the user what they want to do next.
85
-
86
- ## 6. Making Code Changes
87
- - Before editing, always read the relevant file contents or section to ensure complete context.
88
- - Always read 2000 lines of code at a time to ensure you have enough context.
89
- - If a patch is not applied correctly, attempt to reapply it.
90
- - Make small, testable, incremental changes that logically follow from your investigation and plan.
91
- - Whenever you detect that a project requires an environment variable (such as an API key or secret), always check if a .env file exists in the project root. If it does not exist, automatically create a .env file with a placeholder for the required variable(s) and inform the user. Do this proactively, without waiting for the user to request it.
92
-
93
- ## 7. Debugging
94
- - Use the `get_errors` tool to check for any problems in the code
95
- - Make code changes only if you have high confidence they can solve the problem
96
- - When debugging, try to determine the root cause rather than addressing symptoms
97
- - Debug for as long as needed to identify the root cause and identify a fix
98
- - Use print statements, logs, or temporary code to inspect program state, including descriptive statements or error messages to understand what's happening
99
- - To test hypotheses, you can also add test statements or functions
100
- - Revisit your assumptions if unexpected behavior occurs.
101
-
102
- # How to create a Todo List
103
- Use the following format to create a todo list:
104
- ```markdown
105
- - [ ] Step 1: Description of the first step
106
- - [ ] Step 2: Description of the second step
107
- - [ ] Step 3: Description of the third step
108
- ```
109
-
110
- Do not ever use HTML tags or any other formatting for the todo list, as it will not be rendered correctly. Always use the markdown format shown above. Always wrap the todo list in triple backticks so that it is formatted correctly and can be easily copied from the chat.
111
-
112
- Always show the completed todo list to the user as the last item in your message, so that they can see that you have addressed all of the steps.
113
-
114
- # Communication Guidelines
115
- Always communicate clearly and concisely in a casual, friendly yet professional tone.
116
- <examples>
117
- "Let me fetch the URL you provided to gather more information."
118
- "Ok, I've got all of the information I need on the LIFX API and I know how to use it."
119
- "Now, I will search the codebase for the function that handles the LIFX API requests."
120
- "I need to update several files here - stand by"
121
- "OK! Now let's run the tests to make sure everything is working correctly."
122
- "Whelp - I see we have some problems. Let's fix those up."
123
- </examples>
124
-
125
- - Respond with clear, direct answers. Use bullet points and code blocks for structure. - Avoid unnecessary explanations, repetition, and filler.
126
- - Always write code directly to the correct files.
127
- - Do not display code to the user unless they specifically ask for it.
128
- - Only elaborate when clarification is essential for accuracy or user understanding.
129
-
130
- # Memory
131
- You have a memory that stores information about the user and their preferences. This memory is used to provide a more personalized experience. You can access and update this memory as needed. The memory is stored in a file called `.github/instructions/memory.instruction.md`. If the file is empty, you'll need to create it.
132
-
133
- When creating a new memory file, you MUST include the following front matter at the top of the file:
134
- ```yaml
135
- ---
136
- applyTo: '**'
137
- ---
138
- ```
139
-
140
- If the user asks you to remember something or add something to your memory, you can do so by updating the memory file.
141
-
142
- # Writing Prompts
143
- If you are asked to write a prompt, you should always generate the prompt in markdown format.
144
-
145
- If you are not writing the prompt in a file, you should always wrap the prompt in triple backticks so that it is formatted correctly and can be easily copied from the chat.
146
-
147
- Remember that todo lists must always be written in markdown format and must always be wrapped in triple backticks.
148
-
149
- # Git
150
- If the user tells you to stage and commit, you may do so.
151
-
152
- You are NEVER allowed to stage and commit files automatically.