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,104 @@
1
+ ---
2
+ description: 'Angular-specific coding standards and best practices'
3
+ applyTo: '**/*.ts, **/*.html, **/*.scss, **/*.css'
4
+ ---
5
+
6
+ # Angular Development Instructions
7
+
8
+ Instructions for generating high-quality Angular applications with TypeScript, using Angular Signals for state management, adhering to Angular best practices as outlined at https://angular.dev.
9
+
10
+ ## Project Context
11
+ - Latest Angular version (use standalone components by default)
12
+ - TypeScript for type safety
13
+ - Angular CLI for project setup and scaffolding
14
+ - Follow Angular Style Guide (https://angular.dev/style-guide)
15
+ - Use Angular Material or other modern UI libraries for consistent styling (if specified)
16
+
17
+ ## Development Standards
18
+
19
+ ### Architecture
20
+ - Use standalone components unless modules are explicitly required
21
+ - Organize code by standalone feature modules or domains for scalability
22
+ - Implement lazy loading for feature modules to optimize performance
23
+ - Use Angular's built-in dependency injection system effectively
24
+ - Structure components with a clear separation of concerns (smart vs. presentational components)
25
+
26
+ ### TypeScript
27
+ - Enable strict mode in `tsconfig.json` for type safety
28
+ - Define clear interfaces and types for components, services, and models
29
+ - Use type guards and union types for robust type checking
30
+ - Implement proper error handling with RxJS operators (e.g., `catchError`)
31
+ - Use typed forms (e.g., `FormGroup`, `FormControl`) for reactive forms
32
+
33
+ ### Component Design
34
+ - Follow Angular's component lifecycle hooks best practices
35
+ - When using Angular >= 19, Use `input()` `output()`, `viewChild()`, `viewChildren()`, `contentChild()` and `contentChildren()` functions instead of decorators; otherwise use decorators
36
+ - Leverage Angular's change detection strategy (default or `OnPush` for performance)
37
+ - Keep templates clean and logic in component classes or services
38
+ - Use Angular directives and pipes for reusable functionality
39
+
40
+ ### Styling
41
+ - Use Angular's component-level CSS encapsulation (default: ViewEncapsulation.Emulated)
42
+ - Prefer SCSS for styling with consistent theming
43
+ - Implement responsive design using CSS Grid, Flexbox, or Angular CDK Layout utilities
44
+ - Follow Angular Material's theming guidelines if used
45
+ - Maintain accessibility (a11y) with ARIA attributes and semantic HTML
46
+
47
+ ### State Management
48
+ - Use Angular Signals for reactive state management in components and services
49
+ - Leverage `signal()`, `computed()`, and `effect()` for reactive state updates
50
+ - Use writable signals for mutable state and computed signals for derived state
51
+ - Handle loading and error states with signals and proper UI feedback
52
+ - Use Angular's `AsyncPipe` to handle observables in templates when combining signals with RxJS
53
+
54
+ ### Data Fetching
55
+ - Use Angular's `HttpClient` for API calls with proper typing
56
+ - Implement RxJS operators for data transformation and error handling
57
+ - Use Angular's `inject()` function for dependency injection in standalone components
58
+ - Implement caching strategies (e.g., `shareReplay` for observables)
59
+ - Store API response data in signals for reactive updates
60
+ - Handle API errors with global interceptors for consistent error handling
61
+
62
+ ### Security
63
+ - Sanitize user inputs using Angular's built-in sanitization
64
+ - Implement route guards for authentication and authorization
65
+ - Use Angular's `HttpInterceptor` for CSRF protection and API authentication headers
66
+ - Validate form inputs with Angular's reactive forms and custom validators
67
+ - Follow Angular's security best practices (e.g., avoid direct DOM manipulation)
68
+
69
+ ### Performance
70
+ - Enable production builds with `ng build --prod` for optimization
71
+ - Use lazy loading for routes to reduce initial bundle size
72
+ - Optimize change detection with `OnPush` strategy and signals for fine-grained reactivity
73
+ - Use trackBy in `ngFor` loops to improve rendering performance
74
+ - Implement server-side rendering (SSR) or static site generation (SSG) with Angular Universal (if specified)
75
+
76
+ ### Testing
77
+ - Write unit tests for components, services, and pipes using Jasmine and Karma
78
+ - Use Angular's `TestBed` for component testing with mocked dependencies
79
+ - Test signal-based state updates using Angular's testing utilities
80
+ - Write end-to-end tests with Cypress or Playwright (if specified)
81
+ - Mock HTTP requests using `provideHttpClientTesting`
82
+ - Ensure high test coverage for critical functionality
83
+
84
+ ## Implementation Process
85
+ 1. Plan project structure and feature modules
86
+ 2. Define TypeScript interfaces and models
87
+ 3. Scaffold components, services, and pipes using Angular CLI
88
+ 4. Implement data services and API integrations with signal-based state
89
+ 5. Build reusable components with clear inputs and outputs
90
+ 6. Add reactive forms and validation
91
+ 7. Apply styling with SCSS and responsive design
92
+ 8. Implement lazy-loaded routes and guards
93
+ 9. Add error handling and loading states using signals
94
+ 10. Write unit and end-to-end tests
95
+ 11. Optimize performance and bundle size
96
+
97
+ ## Additional Guidelines
98
+ - Follow the Angular Style Guide for file naming conventions (see https://angular.dev/style-guide), e.g., use `feature.ts` for components and `feature-service.ts` for services. For legacy codebases, maintain consistency with existing pattern.
99
+ - Use Angular CLI commands for generating boilerplate code
100
+ - Document components and services with clear JSDoc comments
101
+ - Ensure accessibility compliance (WCAG 2.1) where applicable
102
+ - Use Angular's built-in i18n for internationalization (if specified)
103
+ - Keep code DRY by creating reusable utilities and shared modules
104
+ - Use signals consistently for state management to ensure reactive updates
@@ -0,0 +1,88 @@
1
+ ---
2
+ description: 'Ansible conventions and best practices'
3
+ applyTo: '**/*.yaml, **/*.yml'
4
+ ---
5
+
6
+ # Ansible Conventions and Best Practices
7
+
8
+ ## General Instructions
9
+
10
+ - Use Ansible to configure and manage infrastructure.
11
+ - Use version control for your Ansible configurations.
12
+ - Keep things simple; only use advanced features when necessary
13
+ - Give every play, block, and task a concise but descriptive `name`
14
+ - Start names with an action verb that indicates the operation being performed, such as "Install," "Configure," or "Copy"
15
+ - Capitalize the first letter of the task name
16
+ - Omit periods from the end of task names for brevity
17
+ - Omit the role name from role tasks; Ansible will automatically display the role name when running a role
18
+ - When including tasks from a separate file, you may include the filename in each task name to make tasks easier to locate (e.g., `<TASK_FILENAME> : <TASK_NAME>`)
19
+ - Use comments to provide additional context about **what**, **how**, and/or **why** something is being done
20
+ - Don't include redundant comments
21
+ - Use dynamic inventory for cloud resources
22
+ - Use tags to dynamically create groups based on environment, function, location, etc.
23
+ - Use `group_vars` to set variables based on these attributes
24
+ - Use idempotent Ansible modules whenever possible; avoid `shell`, `command`, and `raw`, as they break idempotency
25
+ - If you have to use `shell` or `command`, use the `creates:` or `removes:` parameter, where feasible, to prevent unnecessary execution
26
+ - Use [fully qualified collection names (FQCN)](https://docs.ansible.com/ansible/latest/reference_appendices/glossary.html#term-Fully-Qualified-Collection-Name-FQCN) to ensure the correct module or plugin is selected
27
+ - Use the `ansible.builtin` collection for [builtin modules and plugins](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/index.html#plugin-index)
28
+ - Group related tasks together to improve readability and modularity
29
+ - For modules where `state` is optional, explicitly set `state: present` or `state: absent` to improve clarity and consistency
30
+ - Use the lowest privileges necessary to perform a task
31
+ - Only set `become: true` at the play level or on an `include:` statement, if all included tasks require super user privileges; otherwise, specify `become: true` at the task level
32
+ - Only set `become: true` on a task if it requires super user privileges
33
+
34
+ ## Secret Management
35
+
36
+ - When using Ansible alone, store secrets using Ansible Vault
37
+ - Use the following process to make it easy to find where vaulted variables are defined
38
+ 1. Create a `group_vars/` subdirectory named after the group
39
+ 2. Inside this subdirectory, create two files named `vars` and `vault`
40
+ 3. In the `vars` file, define all of the variables needed, including any sensitive ones
41
+ 4. Copy all of the sensitive variables over to the `vault` file and prefix these variables with `vault_`
42
+ 5. Adjust the variables in the `vars` file to point to the matching `vault_` variables using Jinja2 syntax: `db_password: "{{ vault_db_password }}"`
43
+ 6. Encrypt the `vault` file to protect its contents
44
+ 7. Use the variable name from the `vars` file in your playbooks
45
+ - When using other tools with Ansible (e.g., Terraform), store secrets in a third-party secrets management tool (e.g., Hashicorp Vault, AWS Secrets Manager, etc.)
46
+ - This allows all tools to reference a single source of truth for secrets and prevents configurations from getting out of sync
47
+
48
+ ## Style
49
+
50
+ - Use 2-space indentation and always indent lists
51
+ - Separate each of the following with a single blank line:
52
+ - Two host blocks
53
+ - Two task blocks
54
+ - Host and include blocks
55
+ - Use `snake_case` for variable names
56
+ - Sort variables alphabetically when defining them in `vars:` maps or variable files
57
+ - Always use multi-line map syntax, regardless of how many pairs exist in the map
58
+ - It improves readability and reduces changeset collisions for version control
59
+ - Prefer single quotes over double quotes
60
+ - The only time you should use double quotes is when they are nested within single quotes (e.g. Jinja map reference), or when your string requires escaping characters (e.g., using "\n" to represent a newline)
61
+ - If you must write a long string, use folded block scalar syntax (i.e., `>`) to replace newlines with spaces or literal block scalar syntax (i.e., `|`) to preserve newlines; omit all special quoting
62
+ - The `host` section of a play should follow this general order:
63
+ - `hosts` declaration
64
+ - Host options in alphabetical order (e.g., `become`, `remote_user`, `vars`)
65
+ - `pre_tasks`
66
+ - `roles`
67
+ - `tasks`
68
+ - Each task should follow this general order:
69
+ - `name`
70
+ - Task declaration (e.g., `service:`, `package:`)
71
+ - Task parameters (using multi-line map syntax)
72
+ - Loop operators (e.g., `loop`)
73
+ - Task options in alphabetical order (e.g. `become`, `ignore_errors`, `register`)
74
+ - `tags`
75
+ - For `include` statements, quote filenames and only use blank lines between `include` statements if they are multi-line (e.g., they have tags)
76
+
77
+ ## Linting
78
+
79
+ - Use `ansible-lint` and `yamllint` to check syntax and enforce project standards
80
+ - Use `ansible-playbook --syntax-check` to check for syntax errors
81
+ - Use `ansible-playbook --check --diff` to perform a dry-run of playbook execution
82
+
83
+ <!--
84
+ These guidelines were based on, or copied from, the following sources:
85
+
86
+ - [Ansible Documentation - Tips and Tricks](https://docs.ansible.com/ansible/latest/tips_tricks/index.html)
87
+ - [Whitecloud Ansible Styleguide](https://github.com/whitecloud/ansible-styleguide)
88
+ -->
@@ -0,0 +1,110 @@
1
+ ---
2
+ description: 'Guidelines for building REST APIs with ASP.NET'
3
+ applyTo: '**/*.cs, **/*.json'
4
+ ---
5
+
6
+ # ASP.NET REST API Development
7
+
8
+ ## Instruction
9
+ - Guide users through building their first REST API using ASP.NET Core 9.
10
+ - Explain both traditional Web API controllers and the newer Minimal API approach.
11
+ - Provide educational context for each implementation decision to help users understand the underlying concepts.
12
+ - Emphasize best practices for API design, testing, documentation, and deployment.
13
+ - Focus on providing explanations alongside code examples rather than just implementing features.
14
+
15
+ ## API Design Fundamentals
16
+
17
+ - Explain REST architectural principles and how they apply to ASP.NET Core APIs.
18
+ - Guide users in designing meaningful resource-oriented URLs and appropriate HTTP verb usage.
19
+ - Demonstrate the difference between traditional controller-based APIs and Minimal APIs.
20
+ - Explain status codes, content negotiation, and response formatting in the context of REST.
21
+ - Help users understand when to choose Controllers vs. Minimal APIs based on project requirements.
22
+
23
+ ## Project Setup and Structure
24
+
25
+ - Guide users through creating a new ASP.NET Core 9 Web API project with the appropriate templates.
26
+ - Explain the purpose of each generated file and folder to build understanding of the project structure.
27
+ - Demonstrate how to organize code using feature folders or domain-driven design principles.
28
+ - Show proper separation of concerns with models, services, and data access layers.
29
+ - Explain the Program.cs and configuration system in ASP.NET Core 9 including environment-specific settings.
30
+
31
+ ## Building Controller-Based APIs
32
+
33
+ - Guide the creation of RESTful controllers with proper resource naming and HTTP verb implementation.
34
+ - Explain attribute routing and its advantages over conventional routing.
35
+ - Demonstrate model binding, validation, and the role of [ApiController] attribute.
36
+ - Show how dependency injection works within controllers.
37
+ - Explain action return types (IActionResult, ActionResult<T>, specific return types) and when to use each.
38
+
39
+ ## Implementing Minimal APIs
40
+
41
+ - Guide users through implementing the same endpoints using the Minimal API syntax.
42
+ - Explain the endpoint routing system and how to organize route groups.
43
+ - Demonstrate parameter binding, validation, and dependency injection in Minimal APIs.
44
+ - Show how to structure larger Minimal API applications to maintain readability.
45
+ - Compare and contrast with controller-based approach to help users understand the differences.
46
+
47
+ ## Data Access Patterns
48
+
49
+ - Guide the implementation of a data access layer using Entity Framework Core.
50
+ - Explain different options (SQL Server, SQLite, In-Memory) for development and production.
51
+ - Demonstrate repository pattern implementation and when it's beneficial.
52
+ - Show how to implement database migrations and data seeding.
53
+ - Explain efficient query patterns to avoid common performance issues.
54
+
55
+ ## Authentication and Authorization
56
+
57
+ - Guide users through implementing authentication using JWT Bearer tokens.
58
+ - Explain OAuth 2.0 and OpenID Connect concepts as they relate to ASP.NET Core.
59
+ - Show how to implement role-based and policy-based authorization.
60
+ - Demonstrate integration with Microsoft Entra ID (formerly Azure AD).
61
+ - Explain how to secure both controller-based and Minimal APIs consistently.
62
+
63
+ ## Validation and Error Handling
64
+
65
+ - Guide the implementation of model validation using data annotations and FluentValidation.
66
+ - Explain the validation pipeline and how to customize validation responses.
67
+ - Demonstrate a global exception handling strategy using middleware.
68
+ - Show how to create consistent error responses across the API.
69
+ - Explain problem details (RFC 7807) implementation for standardized error responses.
70
+
71
+ ## API Versioning and Documentation
72
+
73
+ - Guide users through implementing and explaining API versioning strategies.
74
+ - Demonstrate Swagger/OpenAPI implementation with proper documentation.
75
+ - Show how to document endpoints, parameters, responses, and authentication.
76
+ - Explain versioning in both controller-based and Minimal APIs.
77
+ - Guide users on creating meaningful API documentation that helps consumers.
78
+
79
+ ## Logging and Monitoring
80
+
81
+ - Guide the implementation of structured logging using Serilog or other providers.
82
+ - Explain the logging levels and when to use each.
83
+ - Demonstrate integration with Application Insights for telemetry collection.
84
+ - Show how to implement custom telemetry and correlation IDs for request tracking.
85
+ - Explain how to monitor API performance, errors, and usage patterns.
86
+
87
+ ## Testing REST APIs
88
+
89
+ - Guide users through creating unit tests for controllers, Minimal API endpoints, and services.
90
+ - Explain integration testing approaches for API endpoints.
91
+ - Demonstrate how to mock dependencies for effective testing.
92
+ - Show how to test authentication and authorization logic.
93
+ - Explain test-driven development principles as applied to API development.
94
+
95
+ ## Performance Optimization
96
+
97
+ - Guide users on implementing caching strategies (in-memory, distributed, response caching).
98
+ - Explain asynchronous programming patterns and why they matter for API performance.
99
+ - Demonstrate pagination, filtering, and sorting for large data sets.
100
+ - Show how to implement compression and other performance optimizations.
101
+ - Explain how to measure and benchmark API performance.
102
+
103
+ ## Deployment and DevOps
104
+
105
+ - Guide users through containerizing their API using .NET's built-in container support (`dotnet publish --os linux --arch x64 -p:PublishProfile=DefaultContainer`).
106
+ - Explain the differences between manual Dockerfile creation and .NET's container publishing features.
107
+ - Explain CI/CD pipelines for ASP.NET Core applications.
108
+ - Demonstrate deployment to Azure App Service, Azure Container Apps, or other hosting options.
109
+ - Show how to implement health checks and readiness probes.
110
+ - Explain environment-specific configurations for different deployment stages.
@@ -0,0 +1,182 @@
1
+ ---
2
+ description: 'Astro development standards and best practices for content-driven websites'
3
+ applyTo: '**/*.astro, **/*.ts, **/*.js, **/*.md, **/*.mdx'
4
+ ---
5
+
6
+ # Astro Development Instructions
7
+
8
+ Instructions for building high-quality Astro applications following the content-driven, server-first architecture with modern best practices.
9
+
10
+ ## Project Context
11
+ - Astro 5.x with Islands Architecture and Content Layer API
12
+ - TypeScript for type safety and better DX with auto-generated types
13
+ - Content-driven websites (blogs, marketing, e-commerce, documentation)
14
+ - Server-first rendering with selective client-side hydration
15
+ - Support for multiple UI frameworks (React, Vue, Svelte, Solid, etc.)
16
+ - Static site generation (SSG) by default with optional server-side rendering (SSR)
17
+ - Enhanced performance with modern content loading and build optimizations
18
+
19
+ ## Development Standards
20
+
21
+ ### Architecture
22
+ - Embrace the Islands Architecture: server-render by default, hydrate selectively
23
+ - Organize content with Content Collections for type-safe Markdown/MDX management
24
+ - Structure projects by feature or content type for scalability
25
+ - Use component-based architecture with clear separation of concerns
26
+ - Implement progressive enhancement patterns
27
+ - Follow Multi-Page App (MPA) approach over Single-Page App (SPA) patterns
28
+
29
+ ### TypeScript Integration
30
+ - Configure `tsconfig.json` with recommended v5.0 settings:
31
+ ```json
32
+ {
33
+ "extends": "astro/tsconfigs/base",
34
+ "include": [".astro/types.d.ts", "**/*"],
35
+ "exclude": ["dist"]
36
+ }
37
+ ```
38
+ - Types auto-generated in `.astro/types.d.ts` (replaces `src/env.d.ts`)
39
+ - Run `astro sync` to generate/update type definitions
40
+ - Define component props with TypeScript interfaces
41
+ - Leverage auto-generated types for content collections and Content Layer API
42
+
43
+ ### Component Design
44
+ - Use `.astro` components for static, server-rendered content
45
+ - Import framework components (React, Vue, Svelte) only when interactivity is needed
46
+ - Follow Astro's component script structure: frontmatter at top, template below
47
+ - Use meaningful component names following PascalCase convention
48
+ - Keep components focused and composable
49
+ - Implement proper prop validation and default values
50
+
51
+ ### Content Collections
52
+
53
+ #### Modern Content Layer API (v5.0+)
54
+ - Define collections in `src/content.config.ts` using the new Content Layer API
55
+ - Use built-in loaders: `glob()` for file-based content, `file()` for single files
56
+ - Leverage enhanced performance and scalability with the new loading system
57
+ - Example with Content Layer API:
58
+ ```typescript
59
+ import { defineCollection, z } from 'astro:content';
60
+ import { glob } from 'astro/loaders';
61
+
62
+ const blog = defineCollection({
63
+ loader: glob({ pattern: '**/*.md', base: './src/content/blog' }),
64
+ schema: z.object({
65
+ title: z.string(),
66
+ pubDate: z.date(),
67
+ tags: z.array(z.string()).optional()
68
+ })
69
+ });
70
+ ```
71
+
72
+ #### Legacy Collections (backward compatible)
73
+ - Legacy `type: 'content'` collections still supported via automatic glob() implementation
74
+ - Migrate existing collections by adding explicit `loader` configuration
75
+ - Use type-safe queries with `getCollection()` and `getEntry()`
76
+ - Structure content with frontmatter validation and auto-generated types
77
+
78
+ ### View Transitions & Client-Side Routing
79
+ - Enable with `<ClientRouter />` component in layout head (renamed from `<ViewTransitions />` in v5.0)
80
+ - Import from `astro:transitions`: `import { ClientRouter } from 'astro:transitions'`
81
+ - Provides SPA-like navigation without full page reloads
82
+ - Customize transition animations with CSS and view-transition-name
83
+ - Maintain state across page navigations with persistent islands
84
+ - Use `transition:persist` directive to preserve component state
85
+
86
+ ### Performance Optimization
87
+ - Default to zero JavaScript - only add interactivity where needed
88
+ - Use client directives strategically (`client:load`, `client:idle`, `client:visible`)
89
+ - Implement lazy loading for images and components
90
+ - Optimize static assets with Astro's built-in optimization
91
+ - Leverage Content Layer API for faster content loading and builds
92
+ - Minimize bundle size by avoiding unnecessary client-side JavaScript
93
+
94
+ ### Styling
95
+ - Use scoped styles in `.astro` components by default
96
+ - Implement CSS preprocessing (Sass, Less) when needed
97
+ - Use CSS custom properties for theming and design systems
98
+ - Follow mobile-first responsive design principles
99
+ - Ensure accessibility with semantic HTML and proper ARIA attributes
100
+ - Consider utility-first frameworks (Tailwind CSS) for rapid development
101
+
102
+ ### Client-Side Interactivity
103
+ - Use framework components (React, Vue, Svelte) for interactive elements
104
+ - Choose the right hydration strategy based on user interaction patterns
105
+ - Implement state management within framework boundaries
106
+ - Handle client-side routing carefully to maintain MPA benefits
107
+ - Use Web Components for framework-agnostic interactivity
108
+ - Share state between islands using stores or custom events
109
+
110
+ ### API Routes and SSR
111
+ - Create API routes in `src/pages/api/` for dynamic functionality
112
+ - Use proper HTTP methods and status codes
113
+ - Implement request validation and error handling
114
+ - Enable SSR mode for dynamic content requirements
115
+ - Use middleware for authentication and request processing
116
+ - Handle environment variables securely
117
+
118
+ ### SEO and Meta Management
119
+ - Use Astro's built-in SEO components and meta tag management
120
+ - Implement proper Open Graph and Twitter Card metadata
121
+ - Generate sitemaps automatically for better search indexing
122
+ - Use semantic HTML structure for better accessibility and SEO
123
+ - Implement structured data (JSON-LD) for rich snippets
124
+ - Optimize page titles and descriptions for search engines
125
+
126
+ ### Image Optimization
127
+ - Use Astro's `<Image />` component for automatic optimization
128
+ - Implement responsive images with proper srcset generation
129
+ - Use WebP and AVIF formats for modern browsers
130
+ - Lazy load images below the fold
131
+ - Provide proper alt text for accessibility
132
+ - Optimize images at build time for better performance
133
+
134
+ ### Data Fetching
135
+ - Fetch data at build time in component frontmatter
136
+ - Use dynamic imports for conditional data loading
137
+ - Implement proper error handling for external API calls
138
+ - Cache expensive operations during build process
139
+ - Use Astro's built-in fetch with automatic TypeScript inference
140
+ - Handle loading states and fallbacks appropriately
141
+
142
+ ### Build & Deployment
143
+ - Optimize static assets with Astro's built-in optimizations
144
+ - Configure deployment for static (SSG) or hybrid (SSR) rendering
145
+ - Use environment variables for configuration management
146
+ - Enable compression and caching for production builds
147
+
148
+ ## Key Astro v5.0 Updates
149
+
150
+ ### Breaking Changes
151
+ - **ClientRouter**: Use `<ClientRouter />` instead of `<ViewTransitions />`
152
+ - **TypeScript**: Auto-generated types in `.astro/types.d.ts` (run `astro sync`)
153
+ - **Content Layer API**: New `glob()` and `file()` loaders for enhanced performance
154
+
155
+ ### Migration Example
156
+ ```typescript
157
+ // Modern Content Layer API
158
+ import { defineCollection, z } from 'astro:content';
159
+ import { glob } from 'astro/loaders';
160
+
161
+ const blog = defineCollection({
162
+ loader: glob({ pattern: '**/*.md', base: './src/content/blog' }),
163
+ schema: z.object({ title: z.string(), pubDate: z.date() })
164
+ });
165
+ ```
166
+
167
+ ## Implementation Guidelines
168
+
169
+ ### Development Workflow
170
+ 1. Use `npm create astro@latest` with TypeScript template
171
+ 2. Configure Content Layer API with appropriate loaders
172
+ 3. Set up TypeScript with `astro sync` for type generation
173
+ 4. Create layout components with Islands Architecture
174
+ 5. Implement content pages with SEO and performance optimization
175
+
176
+ ### Astro-Specific Best Practices
177
+ - **Islands Architecture**: Server-first with selective hydration using client directives
178
+ - **Content Layer API**: Use `glob()` and `file()` loaders for scalable content management
179
+ - **Zero JavaScript**: Default to static rendering, add interactivity only when needed
180
+ - **View Transitions**: Enable SPA-like navigation with `<ClientRouter />`
181
+ - **Type Safety**: Leverage auto-generated types from Content Collections
182
+ - **Performance**: Optimize with built-in image optimization and minimal client bundles
@@ -0,0 +1,185 @@
1
+ ---
2
+ description: 'Best practices for Azure DevOps Pipeline YAML files'
3
+ applyTo: '**/azure-pipelines.yml, **/azure-pipelines*.yml, **/*.pipeline.yml'
4
+ ---
5
+
6
+ # Azure DevOps Pipeline YAML Best Practices
7
+
8
+ ## General Guidelines
9
+
10
+ - Use YAML syntax consistently with proper indentation (2 spaces)
11
+ - Always include meaningful names and display names for pipelines, stages, jobs, and steps
12
+ - Implement proper error handling and conditional execution
13
+ - Use variables and parameters to make pipelines reusable and maintainable
14
+ - Follow the principle of least privilege for service connections and permissions
15
+ - Include comprehensive logging and diagnostics for troubleshooting
16
+
17
+ ## Pipeline Structure
18
+
19
+ - Organize complex pipelines using stages for better visualization and control
20
+ - Use jobs to group related steps and enable parallel execution when possible
21
+ - Implement proper dependencies between stages and jobs
22
+ - Use templates for reusable pipeline components
23
+ - Keep pipeline files focused and modular - split large pipelines into multiple files
24
+
25
+ ## Build Best Practices
26
+
27
+ - Use specific agent pool versions and VM images for consistency
28
+ - Cache dependencies (npm, NuGet, Maven, etc.) to improve build performance
29
+ - Implement proper artifact management with meaningful names and retention policies
30
+ - Use build variables for version numbers and build metadata
31
+ - Include code quality gates (linting, testing, security scans)
32
+ - Ensure builds are reproducible and environment-independent
33
+
34
+ ## Testing Integration
35
+
36
+ - Run unit tests as part of the build process
37
+ - Publish test results in standard formats (JUnit, VSTest, etc.)
38
+ - Include code coverage reporting and quality gates
39
+ - Implement integration and end-to-end tests in appropriate stages
40
+ - Use test impact analysis when available to optimize test execution
41
+ - Fail fast on test failures to provide quick feedback
42
+
43
+ ## Security Considerations
44
+
45
+ - Use Azure Key Vault for sensitive configuration and secrets
46
+ - Implement proper secret management with variable groups
47
+ - Use service connections with minimal required permissions
48
+ - Enable security scans (dependency vulnerabilities, static analysis)
49
+ - Implement approval gates for production deployments
50
+ - Use managed identities when possible instead of service principals
51
+
52
+ ## Deployment Strategies
53
+
54
+ - Implement proper environment promotion (dev → staging → production)
55
+ - Use deployment jobs with proper environment targeting
56
+ - Implement blue-green or canary deployment strategies when appropriate
57
+ - Include rollback mechanisms and health checks
58
+ - Use infrastructure as code (ARM, Bicep, Terraform) for consistent deployments
59
+ - Implement proper configuration management per environment
60
+
61
+ ## Variable and Parameter Management
62
+
63
+ - Use variable groups for shared configuration across pipelines
64
+ - Implement runtime parameters for flexible pipeline execution
65
+ - Use conditional variables based on branches or environments
66
+ - Secure sensitive variables and mark them as secrets
67
+ - Document variable purposes and expected values
68
+ - Use variable templates for complex variable logic
69
+
70
+ ## Performance Optimization
71
+
72
+ - Use parallel jobs and matrix strategies when appropriate
73
+ - Implement proper caching strategies for dependencies and build outputs
74
+ - Use shallow clone for Git operations when full history isn't needed
75
+ - Optimize Docker image builds with multi-stage builds and layer caching
76
+ - Monitor pipeline performance and optimize bottlenecks
77
+ - Use pipeline resource triggers efficiently
78
+
79
+ ## Monitoring and Observability
80
+
81
+ - Include comprehensive logging throughout the pipeline
82
+ - Use Azure Monitor and Application Insights for deployment tracking
83
+ - Implement proper notification strategies for failures and successes
84
+ - Include deployment health checks and automated rollback triggers
85
+ - Use pipeline analytics to identify improvement opportunities
86
+ - Document pipeline behavior and troubleshooting steps
87
+
88
+ ## Template and Reusability
89
+
90
+ - Create pipeline templates for common patterns
91
+ - Use extends templates for complete pipeline inheritance
92
+ - Implement step templates for reusable task sequences
93
+ - Use variable templates for complex variable logic
94
+ - Version templates appropriately for stability
95
+ - Document template parameters and usage examples
96
+
97
+ ## Branch and Trigger Strategy
98
+
99
+ - Implement appropriate triggers for different branch types
100
+ - Use path filters to trigger builds only when relevant files change
101
+ - Configure proper CI/CD triggers for main/master branches
102
+ - Use pull request triggers for code validation
103
+ - Implement scheduled triggers for maintenance tasks
104
+ - Consider resource triggers for multi-repository scenarios
105
+
106
+ ## Example Structure
107
+
108
+ ```yaml
109
+ # azure-pipelines.yml
110
+ trigger:
111
+ branches:
112
+ include:
113
+ - main
114
+ - develop
115
+ paths:
116
+ exclude:
117
+ - docs/*
118
+ - README.md
119
+
120
+ variables:
121
+ - group: shared-variables
122
+ - name: buildConfiguration
123
+ value: 'Release'
124
+
125
+ stages:
126
+ - stage: Build
127
+ displayName: 'Build and Test'
128
+ jobs:
129
+ - job: Build
130
+ displayName: 'Build Application'
131
+ pool:
132
+ vmImage: 'ubuntu-latest'
133
+ steps:
134
+ - task: UseDotNet@2
135
+ displayName: 'Use .NET SDK'
136
+ inputs:
137
+ version: '8.x'
138
+
139
+ - task: DotNetCoreCLI@2
140
+ displayName: 'Restore dependencies'
141
+ inputs:
142
+ command: 'restore'
143
+ projects: '**/*.csproj'
144
+
145
+ - task: DotNetCoreCLI@2
146
+ displayName: 'Build application'
147
+ inputs:
148
+ command: 'build'
149
+ projects: '**/*.csproj'
150
+ arguments: '--configuration $(buildConfiguration) --no-restore'
151
+
152
+ - stage: Deploy
153
+ displayName: 'Deploy to Staging'
154
+ dependsOn: Build
155
+ condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
156
+ jobs:
157
+ - deployment: DeployToStaging
158
+ displayName: 'Deploy to Staging Environment'
159
+ environment: 'staging'
160
+ strategy:
161
+ runOnce:
162
+ deploy:
163
+ steps:
164
+ - download: current
165
+ displayName: 'Download drop artifact'
166
+ artifact: drop
167
+ - task: AzureWebApp@1
168
+ displayName: 'Deploy to Azure Web App'
169
+ inputs:
170
+ azureSubscription: 'staging-service-connection'
171
+ appType: 'webApp'
172
+ appName: 'myapp-staging'
173
+ package: '$(Pipeline.Workspace)/drop/**/*.zip'
174
+ ```
175
+
176
+ ## Common Anti-Patterns to Avoid
177
+
178
+ - Hardcoding sensitive values directly in YAML files
179
+ - Using overly broad triggers that cause unnecessary builds
180
+ - Mixing build and deployment logic in a single stage
181
+ - Not implementing proper error handling and cleanup
182
+ - Using deprecated task versions without upgrade plans
183
+ - Creating monolithic pipelines that are difficult to maintain
184
+ - Not using proper naming conventions for clarity
185
+ - Ignoring pipeline security best practices