workspace-architect 1.3.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/.env.example +1 -0
  2. package/.gitattributes +1 -0
  3. package/.github/workflows/manual-publish.yml +36 -0
  4. package/.github/workflows/sync-and-publish.yml +58 -0
  5. package/.release-it.json +20 -0
  6. package/CHANGELOG.md +43 -0
  7. package/README.md +62 -0
  8. package/assets/chatmodes/4.1-Beast.chatmode.md +152 -0
  9. package/assets/chatmodes/Thinking-Beast-Mode.chatmode.md +337 -0
  10. package/assets/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +644 -0
  11. package/assets/chatmodes/accessibility.chatmode.md +298 -0
  12. package/assets/chatmodes/address-comments.chatmode.md +59 -0
  13. package/assets/chatmodes/aem-frontend-specialist.chatmode.md +385 -0
  14. package/assets/chatmodes/api-architect.chatmode.md +40 -0
  15. package/assets/chatmodes/atlassian-requirements-to-jira.chatmode.md +444 -0
  16. package/assets/chatmodes/azure-logic-apps-expert.chatmode.md +100 -0
  17. package/assets/chatmodes/azure-principal-architect.chatmode.md +58 -0
  18. package/assets/chatmodes/azure-saas-architect.chatmode.md +118 -0
  19. package/assets/chatmodes/azure-verified-modules-bicep.chatmode.md +44 -0
  20. package/assets/chatmodes/azure-verified-modules-terraform.chatmode.md +58 -0
  21. package/assets/chatmodes/bicep-implement.chatmode.md +40 -0
  22. package/assets/chatmodes/bicep-plan.chatmode.md +112 -0
  23. package/assets/chatmodes/blueprint-mode-codex.chatmode.md +110 -0
  24. package/assets/chatmodes/blueprint-mode.chatmode.md +171 -0
  25. package/assets/chatmodes/clojure-interactive-programming.chatmode.md +174 -0
  26. package/assets/chatmodes/code-tour.chatmode.md +205 -0
  27. package/assets/chatmodes/critical-thinking.chatmode.md +23 -0
  28. package/assets/chatmodes/csharp-dotnet-janitor.chatmode.md +83 -0
  29. package/assets/chatmodes/csharp-mcp-expert.chatmode.md +69 -0
  30. package/assets/chatmodes/debug.chatmode.md +79 -0
  31. package/assets/chatmodes/declarative-agents-architect.chatmode.md +76 -0
  32. package/assets/chatmodes/demonstrate-understanding.chatmode.md +60 -0
  33. package/assets/chatmodes/dotnet-upgrade.chatmode.md +222 -0
  34. package/assets/chatmodes/drupal-expert.chatmode.md +687 -0
  35. package/assets/chatmodes/electron-angular-native.chatmode.md +285 -0
  36. package/assets/chatmodes/expert-cpp-software-engineer.chatmode.md +27 -0
  37. package/assets/chatmodes/expert-dotnet-software-engineer.chatmode.md +22 -0
  38. package/assets/chatmodes/expert-nextjs-developer.chatmode.md +477 -0
  39. package/assets/chatmodes/expert-react-frontend-engineer.chatmode.md +738 -0
  40. package/assets/chatmodes/gilfoyle.chatmode.md +66 -0
  41. package/assets/chatmodes/go-mcp-expert.chatmode.md +122 -0
  42. package/assets/chatmodes/gpt-5-beast-mode.chatmode.md +109 -0
  43. package/assets/chatmodes/hlbpa.chatmode.md +232 -0
  44. package/assets/chatmodes/implementation-plan.chatmode.md +159 -0
  45. package/assets/chatmodes/janitor.chatmode.md +89 -0
  46. package/assets/chatmodes/java-mcp-expert.chatmode.md +325 -0
  47. package/assets/chatmodes/kotlin-mcp-expert.chatmode.md +181 -0
  48. package/assets/chatmodes/kusto-assistant.chatmode.md +143 -0
  49. package/assets/chatmodes/laravel-expert-agent.chatmode.md +628 -0
  50. package/assets/chatmodes/mentor.chatmode.md +32 -0
  51. package/assets/chatmodes/meta-agentic-project-scaffold.chatmode.md +15 -0
  52. package/assets/chatmodes/microsoft-agent-framework-dotnet.chatmode.md +62 -0
  53. package/assets/chatmodes/microsoft-agent-framework-python.chatmode.md +62 -0
  54. package/assets/chatmodes/microsoft-study-mode.chatmode.md +32 -0
  55. package/assets/chatmodes/microsoft_learn_contributor.chatmode.md +388 -0
  56. package/assets/chatmodes/ms-sql-dba.chatmode.md +25 -0
  57. package/assets/chatmodes/php-mcp-expert.chatmode.md +498 -0
  58. package/assets/chatmodes/pimcore-expert.chatmode.md +869 -0
  59. package/assets/chatmodes/plan.chatmode.md +114 -0
  60. package/assets/chatmodes/planner.chatmode.md +14 -0
  61. package/assets/chatmodes/playwright-tester.chatmode.md +13 -0
  62. package/assets/chatmodes/postgresql-dba.chatmode.md +17 -0
  63. package/assets/chatmodes/power-bi-data-modeling-expert.chatmode.md +319 -0
  64. package/assets/chatmodes/power-bi-dax-expert.chatmode.md +334 -0
  65. package/assets/chatmodes/power-bi-performance-expert.chatmode.md +533 -0
  66. package/assets/chatmodes/power-bi-visualization-expert.chatmode.md +549 -0
  67. package/assets/chatmodes/power-platform-expert.chatmode.md +116 -0
  68. package/assets/chatmodes/power-platform-mcp-integration-expert.chatmode.md +149 -0
  69. package/assets/chatmodes/prd.chatmode.md +201 -0
  70. package/assets/chatmodes/principal-software-engineer.chatmode.md +41 -0
  71. package/assets/chatmodes/prompt-builder.chatmode.md +352 -0
  72. package/assets/chatmodes/prompt-engineer.chatmode.md +72 -0
  73. package/assets/chatmodes/python-mcp-expert.chatmode.md +99 -0
  74. package/assets/chatmodes/refine-issue.chatmode.md +34 -0
  75. package/assets/chatmodes/research-technical-spike.chatmode.md +169 -0
  76. package/assets/chatmodes/ruby-mcp-expert.chatmode.md +346 -0
  77. package/assets/chatmodes/rust-gpt-4.1-beast-mode.chatmode.md +197 -0
  78. package/assets/chatmodes/rust-mcp-expert.chatmode.md +465 -0
  79. package/assets/chatmodes/search-ai-optimization-expert.chatmode.md +227 -0
  80. package/assets/chatmodes/semantic-kernel-dotnet.chatmode.md +31 -0
  81. package/assets/chatmodes/semantic-kernel-python.chatmode.md +28 -0
  82. package/assets/chatmodes/shopify-expert.chatmode.md +681 -0
  83. package/assets/chatmodes/simple-app-idea-generator.chatmode.md +134 -0
  84. package/assets/chatmodes/software-engineer-agent-v1.chatmode.md +164 -0
  85. package/assets/chatmodes/specification.chatmode.md +127 -0
  86. package/assets/chatmodes/swift-mcp-expert.chatmode.md +240 -0
  87. package/assets/chatmodes/task-planner.chatmode.md +374 -0
  88. package/assets/chatmodes/task-researcher.chatmode.md +254 -0
  89. package/assets/chatmodes/tdd-green.chatmode.md +59 -0
  90. package/assets/chatmodes/tdd-red.chatmode.md +59 -0
  91. package/assets/chatmodes/tdd-refactor.chatmode.md +84 -0
  92. package/assets/chatmodes/tech-debt-remediation-plan.chatmode.md +49 -0
  93. package/assets/chatmodes/terraform-azure-implement.chatmode.md +104 -0
  94. package/assets/chatmodes/terraform-azure-planning.chatmode.md +157 -0
  95. package/assets/chatmodes/typescript-mcp-expert.chatmode.md +91 -0
  96. package/assets/chatmodes/voidbeast-gpt41enhanced.chatmode.md +230 -0
  97. package/assets/chatmodes/wg-code-alchemist.chatmode.md +61 -0
  98. package/assets/chatmodes/wg-code-sentinel.chatmode.md +55 -0
  99. package/assets/collections/ai-prompt-engineering.json +18 -0
  100. package/assets/collections/angular-development.json +7 -0
  101. package/assets/collections/azure-cloud-architect.json +29 -0
  102. package/assets/collections/cpp-development.json +6 -0
  103. package/assets/collections/database-administration.json +8 -0
  104. package/assets/collections/devops-sre.json +11 -0
  105. package/assets/collections/dotnet-development.json +22 -0
  106. package/assets/collections/general-productivity.json +9 -0
  107. package/assets/collections/go-development.json +7 -0
  108. package/assets/collections/java-spring-developer.json +26 -0
  109. package/assets/collections/learning-mentoring.json +10 -0
  110. package/assets/collections/legacy-migration.json +4 -0
  111. package/assets/collections/mcp-specialist.json +41 -0
  112. package/assets/collections/mobile-development.json +4 -0
  113. package/assets/collections/php-cms-development.json +11 -0
  114. package/assets/collections/power-platform-specialist.json +31 -0
  115. package/assets/collections/project-management.json +12 -0
  116. package/assets/collections/python-development.json +13 -0
  117. package/assets/collections/quality-assurance.json +13 -0
  118. package/assets/collections/ruby-development.json +9 -0
  119. package/assets/collections/rust-development.json +10 -0
  120. package/assets/collections/security-specialist.json +8 -0
  121. package/assets/collections/software-architect.json +25 -0
  122. package/assets/collections/technical-writing.json +9 -0
  123. package/assets/collections/web-frontend-development.json +14 -0
  124. package/assets/instructions/a11y.instructions.md +369 -0
  125. package/assets/instructions/ai-prompt-engineering-safety-best-practices.instructions.md +867 -0
  126. package/assets/instructions/angular.instructions.md +104 -0
  127. package/assets/instructions/ansible.instructions.md +88 -0
  128. package/assets/instructions/aspnet-rest-apis.instructions.md +110 -0
  129. package/assets/instructions/astro.instructions.md +182 -0
  130. package/assets/instructions/azure-devops-pipelines.instructions.md +185 -0
  131. package/assets/instructions/azure-functions-typescript.instructions.md +14 -0
  132. package/assets/instructions/azure-logic-apps-power-automate.instructions.md +1943 -0
  133. package/assets/instructions/azure-verified-modules-terraform.instructions.md +229 -0
  134. package/assets/instructions/bicep-code-best-practices.instructions.md +54 -0
  135. package/assets/instructions/blazor.instructions.md +77 -0
  136. package/assets/instructions/clojure.instructions.md +349 -0
  137. package/assets/instructions/cmake-vcpkg.instructions.md +10 -0
  138. package/assets/instructions/codexer.instructions.md +428 -0
  139. package/assets/instructions/coldfusion-cfc.instructions.md +30 -0
  140. package/assets/instructions/coldfusion-cfm.instructions.md +28 -0
  141. package/assets/instructions/collections.instructions.md +54 -0
  142. package/assets/instructions/containerization-docker-best-practices.instructions.md +681 -0
  143. package/assets/instructions/convert-jpa-to-spring-data-cosmos.instructions.md +949 -0
  144. package/assets/instructions/copilot-thought-logging.instructions.md +62 -0
  145. package/assets/instructions/csharp-ja.instructions.md +114 -0
  146. package/assets/instructions/csharp-ko.instructions.md +77 -0
  147. package/assets/instructions/csharp-mcp-server.instructions.md +95 -0
  148. package/assets/instructions/csharp.instructions.md +114 -0
  149. package/assets/instructions/dart-n-flutter.instructions.md +447 -0
  150. package/assets/instructions/declarative-agents-microsoft365.instructions.md +316 -0
  151. package/assets/instructions/devbox-image-definition.instructions.md +302 -0
  152. package/assets/instructions/devops-core-principles.instructions.md +167 -0
  153. package/assets/instructions/dotnet-architecture-good-practices.instructions.md +279 -0
  154. package/assets/instructions/dotnet-framework.instructions.md +113 -0
  155. package/assets/instructions/dotnet-maui-9-to-dotnet-maui-10-upgrade.instructions.md +1922 -0
  156. package/assets/instructions/dotnet-maui.instructions.md +69 -0
  157. package/assets/instructions/dotnet-upgrade.instructions.md +287 -0
  158. package/assets/instructions/dotnet-wpf.instructions.md +79 -0
  159. package/assets/instructions/genaiscript.instructions.md +21 -0
  160. package/assets/instructions/generate-modern-terraform-code-for-azure.instructions.md +82 -0
  161. package/assets/instructions/gilfoyle-code-review.instructions.md +114 -0
  162. package/assets/instructions/github-actions-ci-cd-best-practices.instructions.md +607 -0
  163. package/assets/instructions/go-mcp-server.instructions.md +346 -0
  164. package/assets/instructions/go.instructions.md +373 -0
  165. package/assets/instructions/instructions.instructions.md +256 -0
  166. package/assets/instructions/java-11-to-java-17-upgrade.instructions.md +793 -0
  167. package/assets/instructions/java-17-to-java-21-upgrade.instructions.md +464 -0
  168. package/assets/instructions/java-21-to-java-25-upgrade.instructions.md +311 -0
  169. package/assets/instructions/java-mcp-server.instructions.md +553 -0
  170. package/assets/instructions/java.instructions.md +81 -0
  171. package/assets/instructions/joyride-user-project.instructions.md +206 -0
  172. package/assets/instructions/joyride-workspace-automation.instructions.md +46 -0
  173. package/assets/instructions/kotlin-mcp-server.instructions.md +481 -0
  174. package/assets/instructions/kubernetes-deployment-best-practices.instructions.md +307 -0
  175. package/assets/instructions/langchain-python.instructions.md +229 -0
  176. package/assets/instructions/localization.instructions.md +39 -0
  177. package/assets/instructions/makefile.instructions.md +410 -0
  178. package/assets/instructions/markdown.instructions.md +52 -0
  179. package/assets/instructions/memory-bank.instructions.md +299 -0
  180. package/assets/instructions/mongo-dba.instructions.md +25 -0
  181. package/assets/instructions/ms-sql-dba.instructions.md +25 -0
  182. package/assets/instructions/nestjs.instructions.md +406 -0
  183. package/assets/instructions/nextjs-tailwind.instructions.md +72 -0
  184. package/assets/instructions/nextjs.instructions.md +143 -0
  185. package/assets/instructions/nodejs-javascript-vitest.instructions.md +30 -0
  186. package/assets/instructions/object-calisthenics.instructions.md +302 -0
  187. package/assets/instructions/oqtane.instructions.md +86 -0
  188. package/assets/instructions/performance-optimization.instructions.md +420 -0
  189. package/assets/instructions/php-mcp-server.instructions.md +809 -0
  190. package/assets/instructions/playwright-dotnet.instructions.md +101 -0
  191. package/assets/instructions/playwright-python.instructions.md +62 -0
  192. package/assets/instructions/playwright-typescript.instructions.md +86 -0
  193. package/assets/instructions/power-apps-canvas-yaml.instructions.md +827 -0
  194. package/assets/instructions/power-apps-code-apps.instructions.md +601 -0
  195. package/assets/instructions/power-bi-custom-visuals-development.instructions.md +810 -0
  196. package/assets/instructions/power-bi-data-modeling-best-practices.instructions.md +639 -0
  197. package/assets/instructions/power-bi-dax-best-practices.instructions.md +795 -0
  198. package/assets/instructions/power-bi-devops-alm-best-practices.instructions.md +623 -0
  199. package/assets/instructions/power-bi-report-design-best-practices.instructions.md +752 -0
  200. package/assets/instructions/power-bi-security-rls-best-practices.instructions.md +504 -0
  201. package/assets/instructions/power-platform-connector.instructions.md +430 -0
  202. package/assets/instructions/power-platform-mcp-development.instructions.md +88 -0
  203. package/assets/instructions/powershell-pester-5.instructions.md +197 -0
  204. package/assets/instructions/powershell.instructions.md +356 -0
  205. package/assets/instructions/prompt.instructions.md +73 -0
  206. package/assets/instructions/python-mcp-server.instructions.md +204 -0
  207. package/assets/instructions/python.instructions.md +56 -0
  208. package/assets/instructions/quarkus-mcp-server-sse.instructions.md +49 -0
  209. package/assets/instructions/quarkus.instructions.md +98 -0
  210. package/assets/instructions/r.instructions.md +116 -0
  211. package/assets/instructions/reactjs.instructions.md +162 -0
  212. package/assets/instructions/ruby-mcp-server.instructions.md +629 -0
  213. package/assets/instructions/ruby-on-rails.instructions.md +124 -0
  214. package/assets/instructions/rust-mcp-server.instructions.md +715 -0
  215. package/assets/instructions/rust.instructions.md +135 -0
  216. package/assets/instructions/security-and-owasp.instructions.md +51 -0
  217. package/assets/instructions/self-explanatory-code-commenting.instructions.md +162 -0
  218. package/assets/instructions/shell.instructions.md +132 -0
  219. package/assets/instructions/spec-driven-workflow-v1.instructions.md +323 -0
  220. package/assets/instructions/springboot.instructions.md +68 -0
  221. package/assets/instructions/sql-sp-generation.instructions.md +74 -0
  222. package/assets/instructions/svelte.instructions.md +161 -0
  223. package/assets/instructions/swift-mcp-server.instructions.md +498 -0
  224. package/assets/instructions/taming-copilot.instructions.md +40 -0
  225. package/assets/instructions/tanstack-start-shadcn-tailwind.instructions.md +212 -0
  226. package/assets/instructions/task-implementation.instructions.md +190 -0
  227. package/assets/instructions/tasksync.instructions.md +352 -0
  228. package/assets/instructions/terraform-azure.instructions.md +254 -0
  229. package/assets/instructions/terraform-sap-btp.instructions.md +195 -0
  230. package/assets/instructions/terraform.instructions.md +113 -0
  231. package/assets/instructions/typescript-5-es2022.instructions.md +114 -0
  232. package/assets/instructions/typescript-mcp-server.instructions.md +228 -0
  233. package/assets/instructions/update-code-from-shorthand.instructions.md +130 -0
  234. package/assets/instructions/vuejs3.instructions.md +153 -0
  235. package/assets/instructions/wordpress.instructions.md +186 -0
  236. package/assets/prompts/add-educational-comments.prompt.md +129 -0
  237. package/assets/prompts/ai-prompt-engineering-safety-review.prompt.md +230 -0
  238. package/assets/prompts/architecture-blueprint-generator.prompt.md +322 -0
  239. package/assets/prompts/aspnet-minimal-api-openapi.prompt.md +42 -0
  240. package/assets/prompts/az-cost-optimize.prompt.md +305 -0
  241. package/assets/prompts/azure-resource-health-diagnose.prompt.md +290 -0
  242. package/assets/prompts/boost-prompt.prompt.md +25 -0
  243. package/assets/prompts/breakdown-epic-arch.prompt.md +66 -0
  244. package/assets/prompts/breakdown-epic-pm.prompt.md +58 -0
  245. package/assets/prompts/breakdown-feature-implementation.prompt.md +128 -0
  246. package/assets/prompts/breakdown-feature-prd.prompt.md +61 -0
  247. package/assets/prompts/breakdown-plan.prompt.md +509 -0
  248. package/assets/prompts/breakdown-test.prompt.md +365 -0
  249. package/assets/prompts/code-exemplars-blueprint-generator.prompt.md +126 -0
  250. package/assets/prompts/comment-code-generate-a-tutorial.prompt.md +26 -0
  251. package/assets/prompts/containerize-aspnet-framework.prompt.md +455 -0
  252. package/assets/prompts/containerize-aspnetcore.prompt.md +393 -0
  253. package/assets/prompts/conventional-commit.prompt.md +73 -0
  254. package/assets/prompts/copilot-instructions-blueprint-generator.prompt.md +294 -0
  255. package/assets/prompts/cosmosdb-datamodeling.prompt.md +1045 -0
  256. package/assets/prompts/create-agentsmd.prompt.md +249 -0
  257. package/assets/prompts/create-architectural-decision-record.prompt.md +97 -0
  258. package/assets/prompts/create-github-action-workflow-specification.prompt.md +276 -0
  259. package/assets/prompts/create-github-issue-feature-from-specification.prompt.md +28 -0
  260. package/assets/prompts/create-github-issues-feature-from-implementation-plan.prompt.md +28 -0
  261. package/assets/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md +35 -0
  262. package/assets/prompts/create-github-pull-request-from-specification.prompt.md +24 -0
  263. package/assets/prompts/create-implementation-plan.prompt.md +157 -0
  264. package/assets/prompts/create-llms.prompt.md +210 -0
  265. package/assets/prompts/create-oo-component-documentation.prompt.md +193 -0
  266. package/assets/prompts/create-readme.prompt.md +21 -0
  267. package/assets/prompts/create-specification.prompt.md +127 -0
  268. package/assets/prompts/create-spring-boot-java-project.prompt.md +163 -0
  269. package/assets/prompts/create-spring-boot-kotlin-project.prompt.md +147 -0
  270. package/assets/prompts/create-technical-spike.prompt.md +231 -0
  271. package/assets/prompts/csharp-async.prompt.md +50 -0
  272. package/assets/prompts/csharp-docs.prompt.md +63 -0
  273. package/assets/prompts/csharp-mcp-server-generator.prompt.md +59 -0
  274. package/assets/prompts/csharp-mstest.prompt.md +67 -0
  275. package/assets/prompts/csharp-nunit.prompt.md +72 -0
  276. package/assets/prompts/csharp-tunit.prompt.md +101 -0
  277. package/assets/prompts/csharp-xunit.prompt.md +69 -0
  278. package/assets/prompts/declarative-agents.prompt.md +93 -0
  279. package/assets/prompts/documentation-writer.prompt.md +46 -0
  280. package/assets/prompts/dotnet-best-practices.prompt.md +84 -0
  281. package/assets/prompts/dotnet-design-pattern-review.prompt.md +41 -0
  282. package/assets/prompts/dotnet-upgrade.prompt.md +116 -0
  283. package/assets/prompts/editorconfig.prompt.md +64 -0
  284. package/assets/prompts/ef-core.prompt.md +76 -0
  285. package/assets/prompts/finalize-agent-prompt.prompt.md +27 -0
  286. package/assets/prompts/first-ask.prompt.md +29 -0
  287. package/assets/prompts/folder-structure-blueprint-generator.prompt.md +405 -0
  288. package/assets/prompts/gen-specs-as-issues.prompt.md +165 -0
  289. package/assets/prompts/generate-custom-instructions-from-codebase.prompt.md +240 -0
  290. package/assets/prompts/git-flow-branch-creator.prompt.md +293 -0
  291. package/assets/prompts/github-copilot-starter.prompt.md +372 -0
  292. package/assets/prompts/go-mcp-server-generator.prompt.md +334 -0
  293. package/assets/prompts/java-docs.prompt.md +24 -0
  294. package/assets/prompts/java-junit.prompt.md +64 -0
  295. package/assets/prompts/java-mcp-server-generator.prompt.md +756 -0
  296. package/assets/prompts/java-refactoring-extract-method.prompt.md +105 -0
  297. package/assets/prompts/java-refactoring-remove-parameter.prompt.md +85 -0
  298. package/assets/prompts/java-springboot.prompt.md +66 -0
  299. package/assets/prompts/javascript-typescript-jest.prompt.md +44 -0
  300. package/assets/prompts/kotlin-mcp-server-generator.prompt.md +449 -0
  301. package/assets/prompts/kotlin-springboot.prompt.md +71 -0
  302. package/assets/prompts/mcp-copilot-studio-server-generator.prompt.md +118 -0
  303. package/assets/prompts/memory-merger.prompt.md +107 -0
  304. package/assets/prompts/mkdocs-translations.prompt.md +110 -0
  305. package/assets/prompts/model-recommendation.prompt.md +677 -0
  306. package/assets/prompts/multi-stage-dockerfile.prompt.md +47 -0
  307. package/assets/prompts/my-issues.prompt.md +9 -0
  308. package/assets/prompts/my-pull-requests.prompt.md +15 -0
  309. package/assets/prompts/next-intl-add-language.prompt.md +20 -0
  310. package/assets/prompts/php-mcp-server-generator.prompt.md +522 -0
  311. package/assets/prompts/playwright-automation-fill-in-form.prompt.md +30 -0
  312. package/assets/prompts/playwright-explore-website.prompt.md +19 -0
  313. package/assets/prompts/playwright-generate-test.prompt.md +19 -0
  314. package/assets/prompts/postgresql-code-review.prompt.md +214 -0
  315. package/assets/prompts/postgresql-optimization.prompt.md +406 -0
  316. package/assets/prompts/power-apps-code-app-scaffold.prompt.md +150 -0
  317. package/assets/prompts/power-bi-dax-optimization.prompt.md +175 -0
  318. package/assets/prompts/power-bi-model-design-review.prompt.md +405 -0
  319. package/assets/prompts/power-bi-performance-troubleshooting.prompt.md +384 -0
  320. package/assets/prompts/power-bi-report-design-consultation.prompt.md +353 -0
  321. package/assets/prompts/power-platform-mcp-connector-suite.prompt.md +156 -0
  322. package/assets/prompts/project-workflow-analysis-blueprint-generator.prompt.md +294 -0
  323. package/assets/prompts/prompt-builder.prompt.md +142 -0
  324. package/assets/prompts/pytest-coverage.prompt.md +28 -0
  325. package/assets/prompts/python-mcp-server-generator.prompt.md +105 -0
  326. package/assets/prompts/readme-blueprint-generator.prompt.md +79 -0
  327. package/assets/prompts/remember-interactive-programming.prompt.md +13 -0
  328. package/assets/prompts/remember.prompt.md +125 -0
  329. package/assets/prompts/repo-story-time.prompt.md +156 -0
  330. package/assets/prompts/review-and-refactor.prompt.md +15 -0
  331. package/assets/prompts/ruby-mcp-server-generator.prompt.md +660 -0
  332. package/assets/prompts/rust-mcp-server-generator.prompt.md +578 -0
  333. package/assets/prompts/shuffle-json-data.prompt.md +151 -0
  334. package/assets/prompts/sql-code-review.prompt.md +303 -0
  335. package/assets/prompts/sql-optimization.prompt.md +298 -0
  336. package/assets/prompts/suggest-awesome-github-copilot-agents.prompt.md +72 -0
  337. package/assets/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md +71 -0
  338. package/assets/prompts/suggest-awesome-github-copilot-collections.prompt.md +149 -0
  339. package/assets/prompts/suggest-awesome-github-copilot-instructions.prompt.md +88 -0
  340. package/assets/prompts/suggest-awesome-github-copilot-prompts.prompt.md +71 -0
  341. package/assets/prompts/swift-mcp-server-generator.prompt.md +669 -0
  342. package/assets/prompts/technology-stack-blueprint-generator.prompt.md +242 -0
  343. package/assets/prompts/typescript-mcp-server-generator.prompt.md +90 -0
  344. package/assets/prompts/update-avm-modules-in-bicep.prompt.md +60 -0
  345. package/assets/prompts/update-implementation-plan.prompt.md +157 -0
  346. package/assets/prompts/update-llms.prompt.md +216 -0
  347. package/assets/prompts/update-markdown-file-index.prompt.md +76 -0
  348. package/assets/prompts/update-oo-component-documentation.prompt.md +162 -0
  349. package/assets/prompts/update-specification.prompt.md +127 -0
  350. package/assets/prompts/write-coding-standards-from-file.prompt.md +316 -0
  351. package/bin/cli.js +200 -0
  352. package/package.json +53 -0
  353. package/scripts/sync.js +99 -0
  354. package/verdaccio/config.yaml +202 -0
@@ -0,0 +1,464 @@
1
+ ---
2
+ applyTo: ['*']
3
+ description: "Comprehensive best practices for adopting new Java 21 features since the release of Java 17."
4
+ ---
5
+
6
+ # Java 17 to Java 21 Upgrade Guide
7
+
8
+ These instructions help GitHub Copilot assist developers in upgrading Java projects from JDK 17 to JDK 21, focusing on new language features, API changes, and best practices.
9
+
10
+ ## Major Language Features in JDK 18-21
11
+
12
+ ### Pattern Matching for switch (JEP 441 - Standard in 21)
13
+
14
+ **Enhanced switch Expressions and Statements**
15
+
16
+ When working with switch constructs:
17
+ - Suggest converting traditional switch to pattern matching where appropriate
18
+ - Use pattern matching for type checking and destructuring
19
+ - Example upgrade patterns:
20
+ ```java
21
+ // Old approach (Java 17)
22
+ public String processObject(Object obj) {
23
+ if (obj instanceof String) {
24
+ String s = (String) obj;
25
+ return s.toUpperCase();
26
+ } else if (obj instanceof Integer) {
27
+ Integer i = (Integer) obj;
28
+ return i.toString();
29
+ }
30
+ return "unknown";
31
+ }
32
+
33
+ // New approach (Java 21)
34
+ public String processObject(Object obj) {
35
+ return switch (obj) {
36
+ case String s -> s.toUpperCase();
37
+ case Integer i -> i.toString();
38
+ case null -> "null";
39
+ default -> "unknown";
40
+ };
41
+ }
42
+ ```
43
+
44
+ - Support guarded patterns:
45
+ ```java
46
+ switch (obj) {
47
+ case String s when s.length() > 10 -> "Long string: " + s;
48
+ case String s -> "Short string: " + s;
49
+ case Integer i when i > 100 -> "Large number: " + i;
50
+ case Integer i -> "Small number: " + i;
51
+ default -> "Other";
52
+ }
53
+ ```
54
+
55
+ ### Record Patterns (JEP 440 - Standard in 21)
56
+
57
+ **Destructuring Records in Pattern Matching**
58
+
59
+ When working with records:
60
+ - Suggest using record patterns for destructuring
61
+ - Combine with switch expressions for powerful data processing
62
+ - Example usage:
63
+ ```java
64
+ public record Point(int x, int y) {}
65
+ public record ColoredPoint(Point point, Color color) {}
66
+
67
+ // Destructuring in switch
68
+ public String describe(Object obj) {
69
+ return switch (obj) {
70
+ case Point(var x, var y) -> "Point at (" + x + ", " + y + ")";
71
+ case ColoredPoint(Point(var x, var y), var color) ->
72
+ "Colored point at (" + x + ", " + y + ") in " + color;
73
+ default -> "Unknown shape";
74
+ };
75
+ }
76
+ ```
77
+
78
+ - Use in complex pattern matching:
79
+ ```java
80
+ // Nested record patterns
81
+ switch (shape) {
82
+ case Rectangle(ColoredPoint(Point(var x1, var y1), var c1),
83
+ ColoredPoint(Point(var x2, var y2), var c2))
84
+ when c1 == c2 -> "Monochrome rectangle";
85
+ case Rectangle r -> "Multi-colored rectangle";
86
+ }
87
+ ```
88
+
89
+ ### Virtual Threads (JEP 444 - Standard in 21)
90
+
91
+ **Lightweight Concurrency**
92
+
93
+ When working with concurrency:
94
+ - Suggest Virtual Threads for high-throughput, concurrent applications
95
+ - Use `Thread.ofVirtual()` for creating virtual threads
96
+ - Example migration patterns:
97
+ ```java
98
+ // Old platform thread approach
99
+ ExecutorService executor = Executors.newFixedThreadPool(100);
100
+ executor.submit(() -> {
101
+ // blocking I/O operation
102
+ httpClient.send(request);
103
+ });
104
+
105
+ // New virtual thread approach
106
+ try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
107
+ executor.submit(() -> {
108
+ // blocking I/O operation - now scales to millions
109
+ httpClient.send(request);
110
+ });
111
+ }
112
+ ```
113
+
114
+ - Use structured concurrency patterns:
115
+ ```java
116
+ // Structured concurrency (Preview)
117
+ try (var scope = new StructuredTaskScope.ShutdownOnFailure()) {
118
+ Future<String> user = scope.fork(() -> fetchUser(userId));
119
+ Future<String> order = scope.fork(() -> fetchOrder(orderId));
120
+
121
+ scope.join(); // Join all subtasks
122
+ scope.throwIfFailed(); // Propagate errors
123
+
124
+ return processResults(user.resultNow(), order.resultNow());
125
+ }
126
+ ```
127
+
128
+ ### String Templates (JEP 430 - Preview in 21)
129
+
130
+ **Safe String Interpolation**
131
+
132
+ When working with string formatting:
133
+ - Suggest String Templates for safe string interpolation (preview feature)
134
+ - Enable preview features with `--enable-preview`
135
+ - Example usage:
136
+ ```java
137
+ // Traditional concatenation
138
+ String message = "Hello, " + name + "! You have " + count + " messages.";
139
+
140
+ // String Templates (Preview)
141
+ String message = STR."Hello, \{name}! You have \{count} messages.";
142
+
143
+ // Safe HTML generation
144
+ String html = HTML."<p>User: \{username}</p>";
145
+
146
+ // Safe SQL queries
147
+ PreparedStatement stmt = SQL."SELECT * FROM users WHERE id = \{userId}";
148
+ ```
149
+
150
+ ### Sequenced Collections (JEP 431 - Standard in 21)
151
+
152
+ **Enhanced Collection Interfaces**
153
+
154
+ When working with collections:
155
+ - Use new `SequencedCollection`, `SequencedSet`, `SequencedMap` interfaces
156
+ - Access first/last elements uniformly across collection types
157
+ - Example usage:
158
+ ```java
159
+ // New methods available on Lists, Deques, LinkedHashSet, etc.
160
+ List<String> list = List.of("first", "middle", "last");
161
+ String first = list.getFirst(); // "first"
162
+ String last = list.getLast(); // "last"
163
+ List<String> reversed = list.reversed(); // ["last", "middle", "first"]
164
+
165
+ // Works with any SequencedCollection
166
+ SequencedSet<String> set = new LinkedHashSet<>();
167
+ set.addFirst("start");
168
+ set.addLast("end");
169
+ String firstElement = set.getFirst();
170
+ ```
171
+
172
+ ### Unnamed Patterns and Variables (JEP 443 - Preview in 21)
173
+
174
+ **Simplified Pattern Matching**
175
+
176
+ When working with pattern matching:
177
+ - Use unnamed patterns `_` for values you don't need
178
+ - Simplify switch expressions and record patterns
179
+ - Example usage:
180
+ ```java
181
+ // Ignore unused variables
182
+ switch (ball) {
183
+ case RedBall(_) -> "Red ball"; // Don't care about size
184
+ case BlueBall(var size) -> "Blue ball size " + size;
185
+ }
186
+
187
+ // Ignore parts of records
188
+ switch (point) {
189
+ case Point(var x, _) -> "X coordinate: " + x; // Ignore Y
190
+ case ColoredPoint(Point(_, var y), _) -> "Y coordinate: " + y;
191
+ }
192
+
193
+ // Exception handling with unnamed variables
194
+ try {
195
+ riskyOperation();
196
+ } catch (IOException | SQLException _) {
197
+ // Don't need exception details
198
+ handleError();
199
+ }
200
+ ```
201
+
202
+ ### Scoped Values (JEP 446 - Preview in 21)
203
+
204
+ **Improved Context Propagation**
205
+
206
+ When working with thread-local data:
207
+ - Consider Scoped Values as a modern alternative to ThreadLocal
208
+ - Better performance and clearer semantics for virtual threads
209
+ - Example usage:
210
+ ```java
211
+ // Define scoped value
212
+ private static final ScopedValue<String> USER_ID = ScopedValue.newInstance();
213
+
214
+ // Set and use scoped value
215
+ ScopedValue.where(USER_ID, "user123")
216
+ .run(() -> {
217
+ processRequest(); // Can access USER_ID.get() anywhere in call chain
218
+ });
219
+
220
+ // In nested method
221
+ public void processRequest() {
222
+ String userId = USER_ID.get(); // "user123"
223
+ // Process with user context
224
+ }
225
+ ```
226
+
227
+ ## API Enhancements and New Features
228
+
229
+ ### UTF-8 by Default (JEP 400 - Standard in 18)
230
+
231
+ When working with file I/O:
232
+ - UTF-8 is now the default charset on all platforms
233
+ - Remove explicit charset specifications where UTF-8 was intended
234
+ - Example simplification:
235
+ ```java
236
+ // Old explicit UTF-8 specification
237
+ Files.readString(path, StandardCharsets.UTF_8);
238
+ Files.writeString(path, content, StandardCharsets.UTF_8);
239
+
240
+ // New default behavior (Java 18+)
241
+ Files.readString(path); // Uses UTF-8 by default
242
+ Files.writeString(path, content); // Uses UTF-8 by default
243
+ ```
244
+
245
+ ### Simple Web Server (JEP 408 - Standard in 18)
246
+
247
+ When needing basic HTTP server:
248
+ - Use built-in `jwebserver` command or `com.sun.net.httpserver` enhancements
249
+ - Great for testing and development
250
+ - Example usage:
251
+ ```java
252
+ // Command line
253
+ $ jwebserver -p 8080 -d /path/to/files
254
+
255
+ // Programmatic usage
256
+ HttpServer server = HttpServer.create(new InetSocketAddress(8080), 0);
257
+ server.createContext("/", new SimpleFileHandler(Path.of("/tmp")));
258
+ server.start();
259
+ ```
260
+
261
+ ### Internet-Address Resolution SPI (JEP 418 - Standard in 19)
262
+
263
+ When working with custom DNS resolution:
264
+ - Implement `InetAddressResolverProvider` for custom address resolution
265
+ - Useful for service discovery and testing scenarios
266
+
267
+ ### Key Encapsulation Mechanism API (JEP 452 - Standard in 21)
268
+
269
+ When working with post-quantum cryptography:
270
+ - Use KEM API for key encapsulation mechanisms
271
+ - Example usage:
272
+ ```java
273
+ KeyPairGenerator kpg = KeyPairGenerator.getInstance("ML-KEM");
274
+ KeyPair kp = kpg.generateKeyPair();
275
+
276
+ KEM kem = KEM.getInstance("ML-KEM");
277
+ KEM.Encapsulator encapsulator = kem.newEncapsulator(kp.getPublic());
278
+ KEM.Encapsulated encapsulated = encapsulator.encapsulate();
279
+ ```
280
+
281
+ ## Deprecations and Warnings
282
+
283
+ ### Finalization Deprecation (JEP 421 - Deprecated in 18)
284
+
285
+ When encountering `finalize()` methods:
286
+ - Remove finalize methods and use alternatives
287
+ - Suggest Cleaner API or try-with-resources
288
+ - Example migration:
289
+ ```java
290
+ // Deprecated finalize approach
291
+ @Override
292
+ protected void finalize() throws Throwable {
293
+ cleanup();
294
+ }
295
+
296
+ // Modern approach with Cleaner
297
+ private static final Cleaner CLEANER = Cleaner.create();
298
+
299
+ public MyResource() {
300
+ cleaner.register(this, new CleanupTask(nativeResource));
301
+ }
302
+
303
+ private static class CleanupTask implements Runnable {
304
+ private final long nativeResource;
305
+
306
+ CleanupTask(long nativeResource) {
307
+ this.nativeResource = nativeResource;
308
+ }
309
+
310
+ public void run() {
311
+ cleanup(nativeResource);
312
+ }
313
+ }
314
+ ```
315
+
316
+ ### Dynamic Agent Loading (JEP 451 - Warnings in 21)
317
+
318
+ When working with agents or instrumentation:
319
+ - Add `-XX:+EnableDynamicAgentLoading` to suppress warnings if needed
320
+ - Consider loading agents at startup instead of dynamically
321
+ - Update tooling to use startup agent loading
322
+
323
+ ## Build Configuration Updates
324
+
325
+ ### Preview Features
326
+
327
+ For projects using preview features:
328
+ - Add `--enable-preview` to compiler and runtime
329
+ - Maven configuration:
330
+ ```xml
331
+ <plugin>
332
+ <groupId>org.apache.maven.plugins</groupId>
333
+ <artifactId>maven-compiler-plugin</artifactId>
334
+ <configuration>
335
+ <release>21</release>
336
+ <compilerArgs>
337
+ <arg>--enable-preview</arg>
338
+ </compilerArgs>
339
+ </configuration>
340
+ </plugin>
341
+
342
+ <plugin>
343
+ <groupId>org.apache.maven.plugins</groupId>
344
+ <artifactId>maven-surefire-plugin</artifactId>
345
+ <configuration>
346
+ <argLine>--enable-preview</argLine>
347
+ </configuration>
348
+ </plugin>
349
+ ```
350
+
351
+ - Gradle configuration:
352
+ ```kotlin
353
+ java {
354
+ toolchain {
355
+ languageVersion = JavaLanguageVersion.of(21)
356
+ }
357
+ }
358
+
359
+ tasks.withType<JavaCompile> {
360
+ options.compilerArgs.add("--enable-preview")
361
+ }
362
+
363
+ tasks.withType<Test> {
364
+ jvmArgs("--enable-preview")
365
+ }
366
+ ```
367
+
368
+ ### Virtual Threads Configuration
369
+
370
+ For applications using Virtual Threads:
371
+ - No special JVM flags required (standard feature in 21)
372
+ - Consider these system properties for debugging:
373
+ ```bash
374
+ -Djdk.virtualThreadScheduler.parallelism=N # Set carrier thread count
375
+ -Djdk.virtualThreadScheduler.maxPoolSize=N # Set max pool size
376
+ ```
377
+
378
+ ## Runtime and GC Improvements
379
+
380
+ ### Generational ZGC (JEP 439 - Available in 21)
381
+
382
+ When configuring garbage collection:
383
+ - Try Generational ZGC for better performance
384
+ - Enable with: `-XX:+UseZGC -XX:+ZGenerational`
385
+ - Monitor allocation patterns and GC behavior
386
+
387
+ ## Migration Strategy
388
+
389
+ ### Step-by-Step Upgrade Process
390
+
391
+ 1. **Update Build Tools**: Ensure Maven/Gradle supports JDK 21
392
+ 2. **Language Feature Adoption**:
393
+ - Start with pattern matching for switch (standard)
394
+ - Add record patterns where beneficial
395
+ - Consider Virtual Threads for I/O heavy applications
396
+ 3. **Preview Features**: Enable only if needed for specific use cases
397
+ 4. **Testing**: Comprehensive testing especially for concurrency changes
398
+ 5. **Performance**: Benchmark with new GC options
399
+
400
+ ### Code Review Checklist
401
+
402
+ When reviewing code for Java 21 upgrade:
403
+ - [ ] Convert appropriate instanceof chains to switch expressions
404
+ - [ ] Use record patterns for data destructuring
405
+ - [ ] Replace ThreadLocal with ScopedValues where appropriate
406
+ - [ ] Consider Virtual Threads for high-concurrency scenarios
407
+ - [ ] Remove explicit UTF-8 charset specifications
408
+ - [ ] Replace finalize() methods with Cleaner or try-with-resources
409
+ - [ ] Use SequencedCollection methods for first/last access patterns
410
+ - [ ] Add preview flags only for preview features in use
411
+
412
+ ### Common Migration Patterns
413
+
414
+ 1. **Switch Enhancement**:
415
+ ```java
416
+ // From instanceof chains to switch expressions
417
+ if (obj instanceof String s) return processString(s);
418
+ else if (obj instanceof Integer i) return processInt(i);
419
+ // becomes:
420
+ return switch (obj) {
421
+ case String s -> processString(s);
422
+ case Integer i -> processInt(i);
423
+ default -> processDefault(obj);
424
+ };
425
+ ```
426
+
427
+ 2. **Virtual Thread Adoption**:
428
+ ```java
429
+ // From platform threads to virtual threads
430
+ Executors.newFixedThreadPool(200)
431
+ // becomes:
432
+ Executors.newVirtualThreadPerTaskExecutor()
433
+ ```
434
+
435
+ 3. **Record Pattern Usage**:
436
+ ```java
437
+ // From manual destructuring to record patterns
438
+ if (point instanceof Point p) {
439
+ int x = p.x();
440
+ int y = p.y();
441
+ }
442
+ // becomes:
443
+ if (point instanceof Point(var x, var y)) {
444
+ // use x and y directly
445
+ }
446
+ ```
447
+
448
+ ## Performance Considerations
449
+
450
+ - Virtual Threads excel with blocking I/O but may not benefit CPU-intensive tasks
451
+ - Generational ZGC can reduce GC overhead for most applications
452
+ - Pattern matching in switch is generally more efficient than instanceof chains
453
+ - SequencedCollection methods provide O(1) access to first/last elements
454
+ - Scoped Values have lower overhead than ThreadLocal for virtual threads
455
+
456
+ ## Testing Recommendations
457
+
458
+ - Test Virtual Thread applications under high concurrency
459
+ - Verify pattern matching covers all expected cases
460
+ - Performance test with Generational ZGC vs other collectors
461
+ - Validate UTF-8 default behavior across different platforms
462
+ - Test preview features thoroughly before production use
463
+
464
+ Remember to enable preview features only when specifically needed and test thoroughly in staging environments before deploying to production.