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,302 @@
1
+ ---
2
+ applyTo: '**/*.{cs,ts,java}'
3
+ description: Enforces Object Calisthenics principles for business domain code to ensure clean, maintainable, and robust code
4
+ ---
5
+ # Object Calisthenics Rules
6
+
7
+ > ⚠️ **Warning:** This file contains the 9 original Object Calisthenics rules. No additional rules must be added, and none of these rules should be replaced or removed.
8
+ > Examples may be added later if needed.
9
+
10
+ ## Objective
11
+ This rule enforces the principles of Object Calisthenics to ensure clean, maintainable, and robust code in the backend, **primarily for business domain code**.
12
+
13
+ ## Scope and Application
14
+ - **Primary focus**: Business domain classes (aggregates, entities, value objects, domain services)
15
+ - **Secondary focus**: Application layer services and use case handlers
16
+ - **Exemptions**:
17
+ - DTOs (Data Transfer Objects)
18
+ - API models/contracts
19
+ - Configuration classes
20
+ - Simple data containers without business logic
21
+ - Infrastructure code where flexibility is needed
22
+
23
+ ## Key Principles
24
+
25
+
26
+ 1. **One Level of Indentation per Method**:
27
+ - Ensure methods are simple and do not exceed one level of indentation.
28
+
29
+ ```csharp
30
+ // Bad Example - this method has multiple levels of indentation
31
+ public void SendNewsletter() {
32
+ foreach (var user in users) {
33
+ if (user.IsActive) {
34
+ // Do something
35
+ mailer.Send(user.Email);
36
+ }
37
+ }
38
+ }
39
+ // Good Example - Extracted method to reduce indentation
40
+ public void SendNewsletter() {
41
+ foreach (var user in users) {
42
+ SendEmail(user);
43
+ }
44
+ }
45
+ private void SendEmail(User user) {
46
+ if (user.IsActive) {
47
+ mailer.Send(user.Email);
48
+ }
49
+ }
50
+
51
+ // Good Example - Filtering users before sending emails
52
+ public void SendNewsletter() {
53
+ var activeUsers = users.Where(user => user.IsActive);
54
+
55
+ foreach (var user in activeUsers) {
56
+ mailer.Send(user.Email);
57
+ }
58
+ }
59
+ ```
60
+ 2. **Don't Use the ELSE Keyword**:
61
+
62
+ - Avoid using the `else` keyword to reduce complexity and improve readability.
63
+ - Use early returns to handle conditions instead.
64
+ - Use Fail Fast principle
65
+ - Use Guard Clauses to validate inputs and conditions at the beginning of methods.
66
+
67
+ ```csharp
68
+ // Bad Example - Using else
69
+ public void ProcessOrder(Order order) {
70
+ if (order.IsValid) {
71
+ // Process order
72
+ } else {
73
+ // Handle invalid order
74
+ }
75
+ }
76
+ // Good Example - Avoiding else
77
+ public void ProcessOrder(Order order) {
78
+ if (!order.IsValid) return;
79
+ // Process order
80
+ }
81
+ ```
82
+
83
+ Sample Fail fast principle:
84
+ ```csharp
85
+ public void ProcessOrder(Order order) {
86
+ if (order == null) throw new ArgumentNullException(nameof(order));
87
+ if (!order.IsValid) throw new InvalidOperationException("Invalid order");
88
+ // Process order
89
+ }
90
+ ```
91
+
92
+ 3. **Wrapping All Primitives and Strings**:
93
+ - Avoid using primitive types directly in your code.
94
+ - Wrap them in classes to provide meaningful context and behavior.
95
+
96
+ ```csharp
97
+ // Bad Example - Using primitive types directly
98
+ public class User {
99
+ public string Name { get; set; }
100
+ public int Age { get; set; }
101
+ }
102
+ // Good Example - Wrapping primitives
103
+ public class User {
104
+ private string name;
105
+ private Age age;
106
+ public User(string name, Age age) {
107
+ this.name = name;
108
+ this.age = age;
109
+ }
110
+ }
111
+ public class Age {
112
+ private int value;
113
+ public Age(int value) {
114
+ if (value < 0) throw new ArgumentOutOfRangeException(nameof(value), "Age cannot be negative");
115
+ this.value = value;
116
+ }
117
+ }
118
+ ```
119
+
120
+ 4. **First Class Collections**:
121
+ - Use collections to encapsulate data and behavior, rather than exposing raw data structures.
122
+ First Class Collections: a class that contains an array as an attribute should not contain any other attributes
123
+
124
+ ```csharp
125
+ // Bad Example - Exposing raw collection
126
+ public class Group {
127
+ public int Id { get; private set; }
128
+ public string Name { get; private set; }
129
+ public List<User> Users { get; private set; }
130
+
131
+ public int GetNumberOfUsersIsActive() {
132
+ return Users
133
+ .Where(user => user.IsActive)
134
+ .Count();
135
+ }
136
+ }
137
+
138
+ // Good Example - Encapsulating collection behavior
139
+ public class Group {
140
+ public int Id { get; private set; }
141
+ public string Name { get; private set; }
142
+
143
+ public GroupUserCollection userCollection { get; private set; } // The list of users is encapsulated in a class
144
+
145
+ public int GetNumberOfUsersIsActive() {
146
+ return userCollection
147
+ .GetActiveUsers()
148
+ .Count();
149
+ }
150
+ }
151
+ ```
152
+
153
+ 5. **One Dot per Line**:
154
+ - Limit the number of method calls in a single line to improve readability and maintainability.
155
+
156
+ ```csharp
157
+ // Bad Example - Multiple dots in a single line
158
+ public void ProcessOrder(Order order) {
159
+ var userEmail = order.User.GetEmail().ToUpper().Trim();
160
+ // Do something with userEmail
161
+ }
162
+ // Good Example - One dot per line
163
+ public void ProcessOrder(Order order) {
164
+ var user = order.User;
165
+ var email = user.GetEmail();
166
+ var userEmail = email.ToUpper().Trim();
167
+ // Do something with userEmail
168
+ }
169
+ ```
170
+
171
+ 6. **Don't abbreviate**:
172
+ - Use meaningful names for classes, methods, and variables.
173
+ - Avoid abbreviations that can lead to confusion.
174
+
175
+ ```csharp
176
+ // Bad Example - Abbreviated names
177
+ public class U {
178
+ public string N { get; set; }
179
+ }
180
+ // Good Example - Meaningful names
181
+ public class User {
182
+ public string Name { get; set; }
183
+ }
184
+ ```
185
+
186
+ 7. **Keep entities small (Class, method, namespace or package)**:
187
+ - Limit the size of classes and methods to improve code readability and maintainability.
188
+ - Each class should have a single responsibility and be as small as possible.
189
+
190
+ Constraints:
191
+ - Maximum 10 methods per class
192
+ - Maximum 50 lines per class
193
+ - Maximum 10 classes per package or namespace
194
+
195
+ ```csharp
196
+ // Bad Example - Large class with multiple responsibilities
197
+ public class UserManager {
198
+ public void CreateUser(string name) { /*...*/ }
199
+ public void DeleteUser(int id) { /*...*/ }
200
+ public void SendEmail(string email) { /*...*/ }
201
+ }
202
+
203
+ // Good Example - Small classes with single responsibility
204
+ public class UserCreator {
205
+ public void CreateUser(string name) { /*...*/ }
206
+ }
207
+ public class UserDeleter {
208
+ public void DeleteUser(int id) { /*...*/ }
209
+ }
210
+
211
+ public class UserUpdater {
212
+ public void UpdateUser(int id, string name) { /*...*/ }
213
+ }
214
+ ```
215
+
216
+
217
+ 8. **No Classes with More Than Two Instance Variables**:
218
+ - Encourage classes to have a single responsibility by limiting the number of instance variables.
219
+ - Limit the number of instance variables to two to maintain simplicity.
220
+ - Do not count ILogger or any other logger as instance variable.
221
+
222
+ ```csharp
223
+ // Bad Example - Class with multiple instance variables
224
+ public class UserCreateCommandHandler {
225
+ // Bad: Too many instance variables
226
+ private readonly IUserRepository userRepository;
227
+ private readonly IEmailService emailService;
228
+ private readonly ILogger logger;
229
+ private readonly ISmsService smsService;
230
+
231
+ public UserCreateCommandHandler(IUserRepository userRepository, IEmailService emailService, ILogger logger, ISmsService smsService) {
232
+ this.userRepository = userRepository;
233
+ this.emailService = emailService;
234
+ this.logger = logger;
235
+ this.smsService = smsService;
236
+ }
237
+ }
238
+
239
+ // Good: Class with two instance variables
240
+ public class UserCreateCommandHandler {
241
+ private readonly IUserRepository userRepository;
242
+ private readonly INotificationService notificationService;
243
+ private readonly ILogger logger; // This is not counted as instance variable
244
+
245
+ public UserCreateCommandHandler(IUserRepository userRepository, INotificationService notificationService, ILogger logger) {
246
+ this.userRepository = userRepository;
247
+ this.notificationService = notificationService;
248
+ this.logger = logger;
249
+ }
250
+ }
251
+ ```
252
+
253
+ 9. **No Getters/Setters in Domain Classes**:
254
+ - Avoid exposing setters for properties in domain classes.
255
+ - Use private constructors and static factory methods for object creation.
256
+ - **Note**: This rule applies primarily to domain classes, not DTOs or data transfer objects.
257
+
258
+ ```csharp
259
+ // Bad Example - Domain class with public setters
260
+ public class User { // Domain class
261
+ public string Name { get; set; } // Avoid this in domain classes
262
+ }
263
+
264
+ // Good Example - Domain class with encapsulation
265
+ public class User { // Domain class
266
+ private string name;
267
+ private User(string name) { this.name = name; }
268
+ public static User Create(string name) => new User(name);
269
+ }
270
+
271
+ // Acceptable Example - DTO with public setters
272
+ public class UserDto { // DTO - exemption applies
273
+ public string Name { get; set; } // Acceptable for DTOs
274
+ }
275
+ ```
276
+
277
+ ## Implementation Guidelines
278
+ - **Domain Classes**:
279
+ - Use private constructors and static factory methods for creating instances.
280
+ - Avoid exposing setters for properties.
281
+ - Apply all 9 rules strictly for business domain code.
282
+
283
+ - **Application Layer**:
284
+ - Apply these rules to use case handlers and application services.
285
+ - Focus on maintaining single responsibility and clean abstractions.
286
+
287
+ - **DTOs and Data Objects**:
288
+ - Rules 3 (wrapping primitives), 8 (two instance variables), and 9 (no getters/setters) may be relaxed for DTOs.
289
+ - Public properties with getters/setters are acceptable for data transfer objects.
290
+
291
+ - **Testing**:
292
+ - Ensure tests validate the behavior of objects rather than their state.
293
+ - Test classes may have relaxed rules for readability and maintainability.
294
+
295
+ - **Code Reviews**:
296
+ - Enforce these rules during code reviews for domain and application code.
297
+ - Be pragmatic about infrastructure and DTO code.
298
+
299
+ ## References
300
+ - [Object Calisthenics - Original 9 Rules by Jeff Bay](https://www.cs.helsinki.fi/u/luontola/tdd-2009/ext/ObjectCalisthenics.pdf)
301
+ - [ThoughtWorks - Object Calisthenics](https://www.thoughtworks.com/insights/blog/object-calisthenics)
302
+ - [Clean Code: A Handbook of Agile Software Craftsmanship - Robert C. Martin](https://www.oreilly.com/library/view/clean-code-a/9780136083238/)
@@ -0,0 +1,86 @@
1
+ ---
2
+ description: 'Oqtane Module patterns'
3
+ applyTo: '**/*.razor, **/*.razor.cs, **/*.razor.css'
4
+ ---
5
+
6
+ ## Blazor Code Style and Structure
7
+
8
+ - Write idiomatic and efficient Blazor and C# code.
9
+ - Follow .NET and Blazor conventions.
10
+ - Use Razor Components appropriately for component-based UI development.
11
+ - Use Blazor Components appropriately for component-based UI development.
12
+ - Prefer inline functions for smaller components but separate complex logic into code-behind or service classes.
13
+ - Async/await should be used where applicable to ensure non-blocking UI operations.
14
+
15
+
16
+ ## Naming Conventions
17
+
18
+ - Follow PascalCase for component names, method names, and public members.
19
+ - Use camelCase for private fields and local variables.
20
+ - Prefix interface names with "I" (e.g., IUserService).
21
+
22
+ ## Blazor and .NET Specific Guidelines
23
+
24
+ - Utilize Blazor's built-in features for component lifecycle (e.g., OnInitializedAsync, OnParametersSetAsync).
25
+ - Use data binding effectively with @bind.
26
+ - Leverage Dependency Injection for services in Blazor.
27
+ - Structure Blazor components and services following Separation of Concerns.
28
+ - Always use the latest version C#, currently C# 13 features like record types, pattern matching, and global usings.
29
+
30
+ ## Oqtane specific Guidelines
31
+ - See base classes and patterns in the [Main Oqtane repo](https://github.com/oqtane/oqtane.framework)
32
+ - Follow client server patterns for module development.
33
+ - The Client project has various modules in the modules folder.
34
+ - Each action in the client module is a seperate razor file that inherits from ModuleBase with index.razor being the default action.
35
+ - For complex client processing like getting data, create a service class that inherits from ServiceBase and lives in the services folder. One service class for each module.
36
+ - Client service should call server endpoint using ServiceBase methods
37
+ - Server project contains MVC Controllers, one for each module that match the client service calls. Each controller will call server-side services or repositories managed by DI
38
+ - Server projects use repository patterns for modules, one repository class per module to match the controllers.
39
+
40
+ ## Error Handling and Validation
41
+
42
+ - Implement proper error handling for Blazor pages and API calls.
43
+ - Use built-in Oqtane logging methods from base classes.
44
+ - Use logging for error tracking in the backend and consider capturing UI-level errors in Blazor with tools like ErrorBoundary.
45
+ - Implement validation using FluentValidation or DataAnnotations in forms.
46
+
47
+ ## Blazor API and Performance Optimization
48
+
49
+ - Utilize Blazor server-side or WebAssembly optimally based on the project requirements.
50
+ - Use asynchronous methods (async/await) for API calls or UI actions that could block the main thread.
51
+ - Optimize Razor components by reducing unnecessary renders and using StateHasChanged() efficiently.
52
+ - Minimize the component render tree by avoiding re-renders unless necessary, using ShouldRender() where appropriate.
53
+ - Use EventCallbacks for handling user interactions efficiently, passing only minimal data when triggering events.
54
+
55
+ ## Caching Strategies
56
+
57
+ - Implement in-memory caching for frequently used data, especially for Blazor Server apps. Use IMemoryCache for lightweight caching solutions.
58
+ - For Blazor WebAssembly, utilize localStorage or sessionStorage to cache application state between user sessions.
59
+ - Consider Distributed Cache strategies (like Redis or SQL Server Cache) for larger applications that need shared state across multiple users or clients.
60
+ - Cache API calls by storing responses to avoid redundant calls when data is unlikely to change, thus improving the user experience.
61
+
62
+ ## State Management Libraries
63
+
64
+ - Use Blazor's built-in Cascading Parameters and EventCallbacks for basic state sharing across components.
65
+ - use built-in Oqtane state management in the base classes like PageState and SiteState when appropriate.
66
+ - Avoid adding extra depenencies like Fluxor or BlazorState when the application grows in complexity.
67
+ - For client-side state persistence in Blazor WebAssembly, consider using Blazored.LocalStorage or Blazored.SessionStorage to maintain state between page reloads.
68
+ - For server-side Blazor, use Scoped Services and the StateContainer pattern to manage state within user sessions while minimizing re-renders.
69
+
70
+ ## API Design and Integration
71
+
72
+ - Use service base methods to communicate with external APIs or server project backend.
73
+ - Implement error handling for API calls using try-catch and provide proper user feedback in the UI.
74
+
75
+ ## Testing and Debugging in Visual Studio
76
+
77
+ - All unit testing and integration testing should be done in Visual Studio Enterprise.
78
+ - Test Blazor components and services using xUnit, NUnit, or MSTest.
79
+ - Use Moq or NSubstitute for mocking dependencies during tests.
80
+ - Debug Blazor UI issues using browser developer tools and Visual Studio's debugging tools for backend and server-side issues.
81
+ - For performance profiling and optimization, rely on Visual Studio's diagnostics tools.
82
+
83
+ ## Security and Authentication
84
+
85
+ - Implement Authentication and Authorization using built-in Oqtane base class members like User.Roles.
86
+ - Use HTTPS for all web communication and ensure proper CORS policies are implemented.