workspace-architect 1.4.1 → 1.5.1

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 (355) hide show
  1. package/assets-manifest.json +3392 -0
  2. package/bin/cli.js +134 -72
  3. package/package.json +11 -3
  4. package/.env.example +0 -1
  5. package/.gitattributes +0 -1
  6. package/.github/workflows/manual-publish.yml +0 -36
  7. package/.github/workflows/sync-and-publish.yml +0 -58
  8. package/.release-it.json +0 -20
  9. package/CHANGELOG.md +0 -53
  10. package/assets/chatmodes/4.1-Beast.chatmode.md +0 -152
  11. package/assets/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -337
  12. package/assets/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -644
  13. package/assets/chatmodes/accessibility.chatmode.md +0 -298
  14. package/assets/chatmodes/address-comments.chatmode.md +0 -59
  15. package/assets/chatmodes/aem-frontend-specialist.chatmode.md +0 -385
  16. package/assets/chatmodes/api-architect.chatmode.md +0 -40
  17. package/assets/chatmodes/atlassian-requirements-to-jira.chatmode.md +0 -444
  18. package/assets/chatmodes/azure-logic-apps-expert.chatmode.md +0 -100
  19. package/assets/chatmodes/azure-principal-architect.chatmode.md +0 -58
  20. package/assets/chatmodes/azure-saas-architect.chatmode.md +0 -118
  21. package/assets/chatmodes/azure-verified-modules-bicep.chatmode.md +0 -44
  22. package/assets/chatmodes/azure-verified-modules-terraform.chatmode.md +0 -58
  23. package/assets/chatmodes/bicep-implement.chatmode.md +0 -40
  24. package/assets/chatmodes/bicep-plan.chatmode.md +0 -112
  25. package/assets/chatmodes/blueprint-mode-codex.chatmode.md +0 -110
  26. package/assets/chatmodes/blueprint-mode.chatmode.md +0 -171
  27. package/assets/chatmodes/clojure-interactive-programming.chatmode.md +0 -174
  28. package/assets/chatmodes/code-tour.chatmode.md +0 -205
  29. package/assets/chatmodes/critical-thinking.chatmode.md +0 -23
  30. package/assets/chatmodes/csharp-dotnet-janitor.chatmode.md +0 -83
  31. package/assets/chatmodes/csharp-mcp-expert.chatmode.md +0 -69
  32. package/assets/chatmodes/debug.chatmode.md +0 -79
  33. package/assets/chatmodes/declarative-agents-architect.chatmode.md +0 -76
  34. package/assets/chatmodes/demonstrate-understanding.chatmode.md +0 -60
  35. package/assets/chatmodes/dotnet-upgrade.chatmode.md +0 -222
  36. package/assets/chatmodes/drupal-expert.chatmode.md +0 -687
  37. package/assets/chatmodes/electron-angular-native.chatmode.md +0 -285
  38. package/assets/chatmodes/expert-cpp-software-engineer.chatmode.md +0 -27
  39. package/assets/chatmodes/expert-dotnet-software-engineer.chatmode.md +0 -22
  40. package/assets/chatmodes/expert-nextjs-developer.chatmode.md +0 -477
  41. package/assets/chatmodes/expert-react-frontend-engineer.chatmode.md +0 -738
  42. package/assets/chatmodes/gilfoyle.chatmode.md +0 -66
  43. package/assets/chatmodes/go-mcp-expert.chatmode.md +0 -122
  44. package/assets/chatmodes/gpt-5-beast-mode.chatmode.md +0 -109
  45. package/assets/chatmodes/hlbpa.chatmode.md +0 -232
  46. package/assets/chatmodes/implementation-plan.chatmode.md +0 -159
  47. package/assets/chatmodes/janitor.chatmode.md +0 -89
  48. package/assets/chatmodes/java-mcp-expert.chatmode.md +0 -325
  49. package/assets/chatmodes/kotlin-mcp-expert.chatmode.md +0 -181
  50. package/assets/chatmodes/kusto-assistant.chatmode.md +0 -143
  51. package/assets/chatmodes/laravel-expert-agent.chatmode.md +0 -628
  52. package/assets/chatmodes/mentor.chatmode.md +0 -32
  53. package/assets/chatmodes/meta-agentic-project-scaffold.chatmode.md +0 -15
  54. package/assets/chatmodes/microsoft-agent-framework-dotnet.chatmode.md +0 -62
  55. package/assets/chatmodes/microsoft-agent-framework-python.chatmode.md +0 -62
  56. package/assets/chatmodes/microsoft-study-mode.chatmode.md +0 -32
  57. package/assets/chatmodes/microsoft_learn_contributor.chatmode.md +0 -388
  58. package/assets/chatmodes/ms-sql-dba.chatmode.md +0 -25
  59. package/assets/chatmodes/php-mcp-expert.chatmode.md +0 -498
  60. package/assets/chatmodes/pimcore-expert.chatmode.md +0 -869
  61. package/assets/chatmodes/plan.chatmode.md +0 -114
  62. package/assets/chatmodes/planner.chatmode.md +0 -14
  63. package/assets/chatmodes/playwright-tester.chatmode.md +0 -13
  64. package/assets/chatmodes/postgresql-dba.chatmode.md +0 -17
  65. package/assets/chatmodes/power-bi-data-modeling-expert.chatmode.md +0 -319
  66. package/assets/chatmodes/power-bi-dax-expert.chatmode.md +0 -334
  67. package/assets/chatmodes/power-bi-performance-expert.chatmode.md +0 -533
  68. package/assets/chatmodes/power-bi-visualization-expert.chatmode.md +0 -549
  69. package/assets/chatmodes/power-platform-expert.chatmode.md +0 -116
  70. package/assets/chatmodes/power-platform-mcp-integration-expert.chatmode.md +0 -149
  71. package/assets/chatmodes/prd.chatmode.md +0 -201
  72. package/assets/chatmodes/principal-software-engineer.chatmode.md +0 -41
  73. package/assets/chatmodes/prompt-builder.chatmode.md +0 -352
  74. package/assets/chatmodes/prompt-engineer.chatmode.md +0 -72
  75. package/assets/chatmodes/python-mcp-expert.chatmode.md +0 -99
  76. package/assets/chatmodes/refine-issue.chatmode.md +0 -34
  77. package/assets/chatmodes/research-technical-spike.chatmode.md +0 -169
  78. package/assets/chatmodes/ruby-mcp-expert.chatmode.md +0 -346
  79. package/assets/chatmodes/rust-gpt-4.1-beast-mode.chatmode.md +0 -197
  80. package/assets/chatmodes/rust-mcp-expert.chatmode.md +0 -465
  81. package/assets/chatmodes/search-ai-optimization-expert.chatmode.md +0 -227
  82. package/assets/chatmodes/semantic-kernel-dotnet.chatmode.md +0 -31
  83. package/assets/chatmodes/semantic-kernel-python.chatmode.md +0 -28
  84. package/assets/chatmodes/shopify-expert.chatmode.md +0 -681
  85. package/assets/chatmodes/simple-app-idea-generator.chatmode.md +0 -134
  86. package/assets/chatmodes/software-engineer-agent-v1.chatmode.md +0 -164
  87. package/assets/chatmodes/specification.chatmode.md +0 -127
  88. package/assets/chatmodes/swift-mcp-expert.chatmode.md +0 -240
  89. package/assets/chatmodes/task-planner.chatmode.md +0 -374
  90. package/assets/chatmodes/task-researcher.chatmode.md +0 -254
  91. package/assets/chatmodes/tdd-green.chatmode.md +0 -59
  92. package/assets/chatmodes/tdd-red.chatmode.md +0 -59
  93. package/assets/chatmodes/tdd-refactor.chatmode.md +0 -84
  94. package/assets/chatmodes/tech-debt-remediation-plan.chatmode.md +0 -49
  95. package/assets/chatmodes/terraform-azure-implement.chatmode.md +0 -104
  96. package/assets/chatmodes/terraform-azure-planning.chatmode.md +0 -157
  97. package/assets/chatmodes/typescript-mcp-expert.chatmode.md +0 -91
  98. package/assets/chatmodes/voidbeast-gpt41enhanced.chatmode.md +0 -230
  99. package/assets/chatmodes/wg-code-alchemist.chatmode.md +0 -61
  100. package/assets/chatmodes/wg-code-sentinel.chatmode.md +0 -55
  101. package/assets/collections/ai-prompt-engineering.json +0 -95
  102. package/assets/collections/angular-development.json +0 -19
  103. package/assets/collections/azure-cloud-architect.json +0 -150
  104. package/assets/collections/cpp-development.json +0 -4
  105. package/assets/collections/database-administration.json +0 -13
  106. package/assets/collections/devops-sre.json +0 -33
  107. package/assets/collections/dotnet-development.json +0 -114
  108. package/assets/collections/general-productivity.json +0 -4
  109. package/assets/collections/go-development.json +0 -42
  110. package/assets/collections/java-spring-developer.json +0 -111
  111. package/assets/collections/learning-mentoring.json +0 -9
  112. package/assets/collections/legacy-migration.json +0 -6
  113. package/assets/collections/mcp-specialist.json +0 -92
  114. package/assets/collections/mobile-development.json +0 -12
  115. package/assets/collections/php-cms-development.json +0 -68
  116. package/assets/collections/power-platform-specialist.json +0 -128
  117. package/assets/collections/project-management.json +0 -50
  118. package/assets/collections/python-development.json +0 -66
  119. package/assets/collections/quality-assurance.json +0 -56
  120. package/assets/collections/ruby-development.json +0 -43
  121. package/assets/collections/rust-development.json +0 -63
  122. package/assets/collections/security-specialist.json +0 -65
  123. package/assets/collections/software-architect.json +0 -85
  124. package/assets/collections/technical-writing.json +0 -23
  125. package/assets/collections/web-frontend-development.json +0 -52
  126. package/assets/instructions/a11y.instructions.md +0 -369
  127. package/assets/instructions/ai-prompt-engineering-safety-best-practices.instructions.md +0 -867
  128. package/assets/instructions/angular.instructions.md +0 -104
  129. package/assets/instructions/ansible.instructions.md +0 -88
  130. package/assets/instructions/aspnet-rest-apis.instructions.md +0 -110
  131. package/assets/instructions/astro.instructions.md +0 -182
  132. package/assets/instructions/azure-devops-pipelines.instructions.md +0 -185
  133. package/assets/instructions/azure-functions-typescript.instructions.md +0 -14
  134. package/assets/instructions/azure-logic-apps-power-automate.instructions.md +0 -1943
  135. package/assets/instructions/azure-verified-modules-terraform.instructions.md +0 -229
  136. package/assets/instructions/bicep-code-best-practices.instructions.md +0 -54
  137. package/assets/instructions/blazor.instructions.md +0 -77
  138. package/assets/instructions/clojure.instructions.md +0 -349
  139. package/assets/instructions/cmake-vcpkg.instructions.md +0 -10
  140. package/assets/instructions/codexer.instructions.md +0 -428
  141. package/assets/instructions/coldfusion-cfc.instructions.md +0 -30
  142. package/assets/instructions/coldfusion-cfm.instructions.md +0 -28
  143. package/assets/instructions/collections.instructions.md +0 -54
  144. package/assets/instructions/containerization-docker-best-practices.instructions.md +0 -681
  145. package/assets/instructions/convert-jpa-to-spring-data-cosmos.instructions.md +0 -949
  146. package/assets/instructions/copilot-thought-logging.instructions.md +0 -62
  147. package/assets/instructions/csharp-ja.instructions.md +0 -114
  148. package/assets/instructions/csharp-ko.instructions.md +0 -77
  149. package/assets/instructions/csharp-mcp-server.instructions.md +0 -95
  150. package/assets/instructions/csharp.instructions.md +0 -114
  151. package/assets/instructions/dart-n-flutter.instructions.md +0 -447
  152. package/assets/instructions/declarative-agents-microsoft365.instructions.md +0 -316
  153. package/assets/instructions/devbox-image-definition.instructions.md +0 -302
  154. package/assets/instructions/devops-core-principles.instructions.md +0 -167
  155. package/assets/instructions/dotnet-architecture-good-practices.instructions.md +0 -279
  156. package/assets/instructions/dotnet-framework.instructions.md +0 -113
  157. package/assets/instructions/dotnet-maui-9-to-dotnet-maui-10-upgrade.instructions.md +0 -1922
  158. package/assets/instructions/dotnet-maui.instructions.md +0 -69
  159. package/assets/instructions/dotnet-upgrade.instructions.md +0 -287
  160. package/assets/instructions/dotnet-wpf.instructions.md +0 -79
  161. package/assets/instructions/genaiscript.instructions.md +0 -21
  162. package/assets/instructions/generate-modern-terraform-code-for-azure.instructions.md +0 -82
  163. package/assets/instructions/gilfoyle-code-review.instructions.md +0 -114
  164. package/assets/instructions/github-actions-ci-cd-best-practices.instructions.md +0 -607
  165. package/assets/instructions/go-mcp-server.instructions.md +0 -346
  166. package/assets/instructions/go.instructions.md +0 -373
  167. package/assets/instructions/instructions.instructions.md +0 -256
  168. package/assets/instructions/java-11-to-java-17-upgrade.instructions.md +0 -793
  169. package/assets/instructions/java-17-to-java-21-upgrade.instructions.md +0 -464
  170. package/assets/instructions/java-21-to-java-25-upgrade.instructions.md +0 -311
  171. package/assets/instructions/java-mcp-server.instructions.md +0 -553
  172. package/assets/instructions/java.instructions.md +0 -81
  173. package/assets/instructions/joyride-user-project.instructions.md +0 -206
  174. package/assets/instructions/joyride-workspace-automation.instructions.md +0 -46
  175. package/assets/instructions/kotlin-mcp-server.instructions.md +0 -481
  176. package/assets/instructions/kubernetes-deployment-best-practices.instructions.md +0 -307
  177. package/assets/instructions/langchain-python.instructions.md +0 -229
  178. package/assets/instructions/localization.instructions.md +0 -39
  179. package/assets/instructions/makefile.instructions.md +0 -410
  180. package/assets/instructions/markdown.instructions.md +0 -52
  181. package/assets/instructions/memory-bank.instructions.md +0 -299
  182. package/assets/instructions/mongo-dba.instructions.md +0 -25
  183. package/assets/instructions/ms-sql-dba.instructions.md +0 -25
  184. package/assets/instructions/nestjs.instructions.md +0 -406
  185. package/assets/instructions/nextjs-tailwind.instructions.md +0 -72
  186. package/assets/instructions/nextjs.instructions.md +0 -143
  187. package/assets/instructions/nodejs-javascript-vitest.instructions.md +0 -30
  188. package/assets/instructions/object-calisthenics.instructions.md +0 -302
  189. package/assets/instructions/oqtane.instructions.md +0 -86
  190. package/assets/instructions/performance-optimization.instructions.md +0 -420
  191. package/assets/instructions/php-mcp-server.instructions.md +0 -809
  192. package/assets/instructions/playwright-dotnet.instructions.md +0 -101
  193. package/assets/instructions/playwright-python.instructions.md +0 -62
  194. package/assets/instructions/playwright-typescript.instructions.md +0 -86
  195. package/assets/instructions/power-apps-canvas-yaml.instructions.md +0 -827
  196. package/assets/instructions/power-apps-code-apps.instructions.md +0 -601
  197. package/assets/instructions/power-bi-custom-visuals-development.instructions.md +0 -810
  198. package/assets/instructions/power-bi-data-modeling-best-practices.instructions.md +0 -639
  199. package/assets/instructions/power-bi-dax-best-practices.instructions.md +0 -795
  200. package/assets/instructions/power-bi-devops-alm-best-practices.instructions.md +0 -623
  201. package/assets/instructions/power-bi-report-design-best-practices.instructions.md +0 -752
  202. package/assets/instructions/power-bi-security-rls-best-practices.instructions.md +0 -504
  203. package/assets/instructions/power-platform-connector.instructions.md +0 -430
  204. package/assets/instructions/power-platform-mcp-development.instructions.md +0 -88
  205. package/assets/instructions/powershell-pester-5.instructions.md +0 -197
  206. package/assets/instructions/powershell.instructions.md +0 -356
  207. package/assets/instructions/prompt.instructions.md +0 -73
  208. package/assets/instructions/python-mcp-server.instructions.md +0 -204
  209. package/assets/instructions/python.instructions.md +0 -56
  210. package/assets/instructions/quarkus-mcp-server-sse.instructions.md +0 -49
  211. package/assets/instructions/quarkus.instructions.md +0 -98
  212. package/assets/instructions/r.instructions.md +0 -116
  213. package/assets/instructions/reactjs.instructions.md +0 -162
  214. package/assets/instructions/ruby-mcp-server.instructions.md +0 -629
  215. package/assets/instructions/ruby-on-rails.instructions.md +0 -124
  216. package/assets/instructions/rust-mcp-server.instructions.md +0 -715
  217. package/assets/instructions/rust.instructions.md +0 -135
  218. package/assets/instructions/security-and-owasp.instructions.md +0 -51
  219. package/assets/instructions/self-explanatory-code-commenting.instructions.md +0 -162
  220. package/assets/instructions/shell.instructions.md +0 -132
  221. package/assets/instructions/spec-driven-workflow-v1.instructions.md +0 -323
  222. package/assets/instructions/springboot.instructions.md +0 -68
  223. package/assets/instructions/sql-sp-generation.instructions.md +0 -74
  224. package/assets/instructions/svelte.instructions.md +0 -161
  225. package/assets/instructions/swift-mcp-server.instructions.md +0 -498
  226. package/assets/instructions/taming-copilot.instructions.md +0 -40
  227. package/assets/instructions/tanstack-start-shadcn-tailwind.instructions.md +0 -212
  228. package/assets/instructions/task-implementation.instructions.md +0 -190
  229. package/assets/instructions/tasksync.instructions.md +0 -352
  230. package/assets/instructions/terraform-azure.instructions.md +0 -254
  231. package/assets/instructions/terraform-sap-btp.instructions.md +0 -195
  232. package/assets/instructions/terraform.instructions.md +0 -113
  233. package/assets/instructions/typescript-5-es2022.instructions.md +0 -114
  234. package/assets/instructions/typescript-mcp-server.instructions.md +0 -228
  235. package/assets/instructions/update-code-from-shorthand.instructions.md +0 -130
  236. package/assets/instructions/vuejs3.instructions.md +0 -153
  237. package/assets/instructions/wordpress.instructions.md +0 -186
  238. package/assets/prompts/add-educational-comments.prompt.md +0 -129
  239. package/assets/prompts/ai-prompt-engineering-safety-review.prompt.md +0 -230
  240. package/assets/prompts/architecture-blueprint-generator.prompt.md +0 -322
  241. package/assets/prompts/aspnet-minimal-api-openapi.prompt.md +0 -42
  242. package/assets/prompts/az-cost-optimize.prompt.md +0 -305
  243. package/assets/prompts/azure-resource-health-diagnose.prompt.md +0 -290
  244. package/assets/prompts/boost-prompt.prompt.md +0 -25
  245. package/assets/prompts/breakdown-epic-arch.prompt.md +0 -66
  246. package/assets/prompts/breakdown-epic-pm.prompt.md +0 -58
  247. package/assets/prompts/breakdown-feature-implementation.prompt.md +0 -128
  248. package/assets/prompts/breakdown-feature-prd.prompt.md +0 -61
  249. package/assets/prompts/breakdown-plan.prompt.md +0 -509
  250. package/assets/prompts/breakdown-test.prompt.md +0 -365
  251. package/assets/prompts/code-exemplars-blueprint-generator.prompt.md +0 -126
  252. package/assets/prompts/comment-code-generate-a-tutorial.prompt.md +0 -26
  253. package/assets/prompts/containerize-aspnet-framework.prompt.md +0 -455
  254. package/assets/prompts/containerize-aspnetcore.prompt.md +0 -393
  255. package/assets/prompts/conventional-commit.prompt.md +0 -73
  256. package/assets/prompts/copilot-instructions-blueprint-generator.prompt.md +0 -294
  257. package/assets/prompts/cosmosdb-datamodeling.prompt.md +0 -1045
  258. package/assets/prompts/create-agentsmd.prompt.md +0 -249
  259. package/assets/prompts/create-architectural-decision-record.prompt.md +0 -97
  260. package/assets/prompts/create-github-action-workflow-specification.prompt.md +0 -276
  261. package/assets/prompts/create-github-issue-feature-from-specification.prompt.md +0 -28
  262. package/assets/prompts/create-github-issues-feature-from-implementation-plan.prompt.md +0 -28
  263. package/assets/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md +0 -35
  264. package/assets/prompts/create-github-pull-request-from-specification.prompt.md +0 -24
  265. package/assets/prompts/create-implementation-plan.prompt.md +0 -157
  266. package/assets/prompts/create-llms.prompt.md +0 -210
  267. package/assets/prompts/create-oo-component-documentation.prompt.md +0 -193
  268. package/assets/prompts/create-readme.prompt.md +0 -21
  269. package/assets/prompts/create-specification.prompt.md +0 -127
  270. package/assets/prompts/create-spring-boot-java-project.prompt.md +0 -163
  271. package/assets/prompts/create-spring-boot-kotlin-project.prompt.md +0 -147
  272. package/assets/prompts/create-technical-spike.prompt.md +0 -231
  273. package/assets/prompts/csharp-async.prompt.md +0 -50
  274. package/assets/prompts/csharp-docs.prompt.md +0 -63
  275. package/assets/prompts/csharp-mcp-server-generator.prompt.md +0 -59
  276. package/assets/prompts/csharp-mstest.prompt.md +0 -67
  277. package/assets/prompts/csharp-nunit.prompt.md +0 -72
  278. package/assets/prompts/csharp-tunit.prompt.md +0 -101
  279. package/assets/prompts/csharp-xunit.prompt.md +0 -69
  280. package/assets/prompts/declarative-agents.prompt.md +0 -93
  281. package/assets/prompts/documentation-writer.prompt.md +0 -46
  282. package/assets/prompts/dotnet-best-practices.prompt.md +0 -84
  283. package/assets/prompts/dotnet-design-pattern-review.prompt.md +0 -41
  284. package/assets/prompts/dotnet-upgrade.prompt.md +0 -116
  285. package/assets/prompts/editorconfig.prompt.md +0 -64
  286. package/assets/prompts/ef-core.prompt.md +0 -76
  287. package/assets/prompts/finalize-agent-prompt.prompt.md +0 -27
  288. package/assets/prompts/first-ask.prompt.md +0 -29
  289. package/assets/prompts/folder-structure-blueprint-generator.prompt.md +0 -405
  290. package/assets/prompts/gen-specs-as-issues.prompt.md +0 -165
  291. package/assets/prompts/generate-custom-instructions-from-codebase.prompt.md +0 -240
  292. package/assets/prompts/git-flow-branch-creator.prompt.md +0 -293
  293. package/assets/prompts/github-copilot-starter.prompt.md +0 -372
  294. package/assets/prompts/go-mcp-server-generator.prompt.md +0 -334
  295. package/assets/prompts/java-docs.prompt.md +0 -24
  296. package/assets/prompts/java-junit.prompt.md +0 -64
  297. package/assets/prompts/java-mcp-server-generator.prompt.md +0 -756
  298. package/assets/prompts/java-refactoring-extract-method.prompt.md +0 -105
  299. package/assets/prompts/java-refactoring-remove-parameter.prompt.md +0 -85
  300. package/assets/prompts/java-springboot.prompt.md +0 -66
  301. package/assets/prompts/javascript-typescript-jest.prompt.md +0 -44
  302. package/assets/prompts/kotlin-mcp-server-generator.prompt.md +0 -449
  303. package/assets/prompts/kotlin-springboot.prompt.md +0 -71
  304. package/assets/prompts/mcp-copilot-studio-server-generator.prompt.md +0 -118
  305. package/assets/prompts/memory-merger.prompt.md +0 -107
  306. package/assets/prompts/mkdocs-translations.prompt.md +0 -110
  307. package/assets/prompts/model-recommendation.prompt.md +0 -677
  308. package/assets/prompts/multi-stage-dockerfile.prompt.md +0 -47
  309. package/assets/prompts/my-issues.prompt.md +0 -9
  310. package/assets/prompts/my-pull-requests.prompt.md +0 -15
  311. package/assets/prompts/next-intl-add-language.prompt.md +0 -20
  312. package/assets/prompts/php-mcp-server-generator.prompt.md +0 -522
  313. package/assets/prompts/playwright-automation-fill-in-form.prompt.md +0 -30
  314. package/assets/prompts/playwright-explore-website.prompt.md +0 -19
  315. package/assets/prompts/playwright-generate-test.prompt.md +0 -19
  316. package/assets/prompts/postgresql-code-review.prompt.md +0 -214
  317. package/assets/prompts/postgresql-optimization.prompt.md +0 -406
  318. package/assets/prompts/power-apps-code-app-scaffold.prompt.md +0 -150
  319. package/assets/prompts/power-bi-dax-optimization.prompt.md +0 -175
  320. package/assets/prompts/power-bi-model-design-review.prompt.md +0 -405
  321. package/assets/prompts/power-bi-performance-troubleshooting.prompt.md +0 -384
  322. package/assets/prompts/power-bi-report-design-consultation.prompt.md +0 -353
  323. package/assets/prompts/power-platform-mcp-connector-suite.prompt.md +0 -156
  324. package/assets/prompts/project-workflow-analysis-blueprint-generator.prompt.md +0 -294
  325. package/assets/prompts/prompt-builder.prompt.md +0 -142
  326. package/assets/prompts/pytest-coverage.prompt.md +0 -28
  327. package/assets/prompts/python-mcp-server-generator.prompt.md +0 -105
  328. package/assets/prompts/readme-blueprint-generator.prompt.md +0 -79
  329. package/assets/prompts/remember-interactive-programming.prompt.md +0 -13
  330. package/assets/prompts/remember.prompt.md +0 -125
  331. package/assets/prompts/repo-story-time.prompt.md +0 -156
  332. package/assets/prompts/review-and-refactor.prompt.md +0 -15
  333. package/assets/prompts/ruby-mcp-server-generator.prompt.md +0 -660
  334. package/assets/prompts/rust-mcp-server-generator.prompt.md +0 -578
  335. package/assets/prompts/shuffle-json-data.prompt.md +0 -151
  336. package/assets/prompts/sql-code-review.prompt.md +0 -303
  337. package/assets/prompts/sql-optimization.prompt.md +0 -298
  338. package/assets/prompts/suggest-awesome-github-copilot-agents.prompt.md +0 -72
  339. package/assets/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md +0 -71
  340. package/assets/prompts/suggest-awesome-github-copilot-collections.prompt.md +0 -149
  341. package/assets/prompts/suggest-awesome-github-copilot-instructions.prompt.md +0 -88
  342. package/assets/prompts/suggest-awesome-github-copilot-prompts.prompt.md +0 -71
  343. package/assets/prompts/swift-mcp-server-generator.prompt.md +0 -669
  344. package/assets/prompts/technology-stack-blueprint-generator.prompt.md +0 -242
  345. package/assets/prompts/typescript-mcp-server-generator.prompt.md +0 -90
  346. package/assets/prompts/update-avm-modules-in-bicep.prompt.md +0 -60
  347. package/assets/prompts/update-implementation-plan.prompt.md +0 -157
  348. package/assets/prompts/update-llms.prompt.md +0 -216
  349. package/assets/prompts/update-markdown-file-index.prompt.md +0 -76
  350. package/assets/prompts/update-oo-component-documentation.prompt.md +0 -162
  351. package/assets/prompts/update-specification.prompt.md +0 -127
  352. package/assets/prompts/write-coding-standards-from-file.prompt.md +0 -316
  353. package/scripts/analyze-collections.js +0 -387
  354. package/scripts/sync.js +0 -99
  355. package/verdaccio/config.yaml +0 -202
@@ -1,827 +0,0 @@
1
- ---
2
- description: 'Comprehensive guide for working with Power Apps Canvas Apps YAML structure based on Microsoft Power Apps YAML schema v3.0. Covers Power Fx formulas, control structures, data types, and source control best practices.'
3
- applyTo: '**/*.{yaml,yml,md,pa.yaml}'
4
- ---
5
-
6
- # Power Apps Canvas Apps YAML Structure Guide
7
-
8
- ## Overview
9
- This document provides comprehensive instructions for working with YAML code for Power Apps canvas apps based on the official Microsoft Power Apps YAML schema (v3.0) and Power Fx documentation.
10
-
11
- **Official Schema Source**: https://raw.githubusercontent.com/microsoft/PowerApps-Tooling/refs/heads/master/schemas/pa-yaml/v3.0/pa.schema.yaml
12
-
13
- ## Power Fx Design Principles
14
- Power Fx is the formula language used throughout Power Apps canvas apps. It follows these core principles:
15
-
16
- ### Design Principles
17
- - **Simple**: Uses familiar concepts from Excel formulas
18
- - **Excel Consistency**: Aligns with Excel formula syntax and behavior
19
- - **Declarative**: Describes what you want, not how to achieve it
20
- - **Functional**: Avoids side effects; most functions are pure
21
- - **Composition**: Complex logic built by combining simpler functions
22
- - **Strongly Typed**: Type system ensures data integrity
23
- - **Integrated**: Works seamlessly across the Power Platform
24
-
25
- ### Language Philosophy
26
- Power Fx promotes:
27
- - Low-code development through familiar Excel-like formulas
28
- - Automatic recalculation when dependencies change
29
- - Type safety with compile-time checking
30
- - Functional programming patterns
31
-
32
- ## Root Structure
33
- Every Power Apps YAML file follows this top-level structure:
34
-
35
- ```yaml
36
- App:
37
- Properties:
38
- # App-level properties and formulas
39
- StartScreen: =Screen1
40
-
41
- Screens:
42
- # Screen definitions
43
-
44
- ComponentDefinitions:
45
- # Custom component definitions
46
-
47
- DataSources:
48
- # Data source configurations
49
-
50
- EditorState:
51
- # Editor metadata (screen order, etc.)
52
- ```
53
-
54
- ## 1. App Section
55
- The `App` section defines application-level properties and configuration.
56
-
57
- ```yaml
58
- App:
59
- Properties:
60
- StartScreen: =Screen1
61
- BackEnabled: =false
62
- # Other app properties with Power Fx formulas
63
- ```
64
-
65
- ### Key Points:
66
- - Contains application-wide settings
67
- - Properties use Power Fx formulas (prefixed with `=`)
68
- - `StartScreen` property is commonly specified
69
-
70
- ## 2. Screens Section
71
- Defines all screens in the application as an unordered map.
72
-
73
- ```yaml
74
- Screens:
75
- Screen1:
76
- Properties:
77
- # Screen properties
78
- Children:
79
- - Label1:
80
- Control: Label
81
- Properties:
82
- Text: ="Hello World"
83
- X: =10
84
- Y: =10
85
- - Button1:
86
- Control: Button
87
- Properties:
88
- Text: ="Click Me"
89
- X: =10
90
- Y: =100
91
- ```
92
-
93
- ### Screen Structure:
94
- - **Properties**: Screen-level properties and formulas
95
- - **Children**: Array of controls on the screen (ordered by z-index)
96
-
97
- ### Control Definition Format:
98
- ```yaml
99
- ControlName:
100
- Control: ControlType # Required: Control type identifier
101
- Properties:
102
- PropertyName: =PowerFxFormula
103
- # Optional properties:
104
- Group: GroupName # For organizing controls in Studio
105
- Variant: VariantName # Control variant (affects default properties)
106
- MetadataKey: Key # Metadata identifier for control
107
- Layout: LayoutName # Layout configuration
108
- IsLocked: true/false # Whether control is locked in editor
109
- Children: [] # For container controls (ordered by z-index)
110
- ```
111
-
112
- ### Control Versioning:
113
- You can specify control versions using the `@` operator:
114
- ```yaml
115
- MyButton:
116
- Control: Button@2.1.0 # Specific version
117
- Properties:
118
- Text: ="Click Me"
119
-
120
- MyLabel:
121
- Control: Label # Uses latest version by default
122
- Properties:
123
- Text: ="Hello World"
124
- ```
125
-
126
- ## 3. Control Types
127
-
128
- ### Standard Controls
129
- Common first-party controls include:
130
- - **Basic Controls**: `Label`, `Button`, `TextInput`, `HTMLText`
131
- - **Input Controls**: `Slider`, `Toggle`, `Checkbox`, `Radio`, `Dropdown`, `Combobox`, `DatePicker`, `ListBox`
132
- - **Display Controls**: `Image`, `Icon`, `Video`, `Audio`, `PDF viewer`, `Barcode scanner`
133
- - **Layout Controls**: `Container`, `Rectangle`, `Circle`, `Gallery`, `DataTable`, `Form`
134
- - **Chart Controls**: `Column chart`, `Line chart`, `Pie chart`
135
- - **Advanced Controls**: `Timer`, `Camera`, `Microphone`, `Add picture`, `Import`, `Export`
136
-
137
- ### Container and Layout Controls
138
- Special attention for container controls and their children:
139
- ```yaml
140
- MyContainer:
141
- Control: Container
142
- Properties:
143
- Width: =300
144
- Height: =200
145
- Fill: =RGBA(240, 240, 240, 1)
146
- Children:
147
- - Label1:
148
- Control: Label
149
- Properties:
150
- Text: ="Inside Container"
151
- X: =10 # Relative to container
152
- Y: =10 # Relative to container
153
- - Button1:
154
- Control: Button
155
- Properties:
156
- Text: ="Container Button"
157
- X: =10
158
- Y: =50
159
- ```
160
-
161
- ### Custom Components
162
- ```yaml
163
- MyCustomControl:
164
- Control: Component
165
- ComponentName: MyComponent
166
- Properties:
167
- X: =10
168
- Y: =10
169
- # Custom component properties
170
- ```
171
-
172
- ### Code Components (PCF)
173
- ```yaml
174
- MyPCFControl:
175
- Control: CodeComponent
176
- ComponentName: publisherprefix_namespace.classname
177
- Properties:
178
- X: =10
179
- Y: =10
180
- ```
181
-
182
- ## 4. Component Definitions
183
- Define reusable custom components:
184
-
185
- ```yaml
186
- ComponentDefinitions:
187
- MyComponent:
188
- DefinitionType: CanvasComponent
189
- Description: "A reusable component"
190
- AllowCustomization: true
191
- AccessAppScope: false
192
- CustomProperties:
193
- InputText:
194
- PropertyKind: Input
195
- DataType: Text
196
- Description: "Input text property"
197
- Default: ="Default Value"
198
- OutputValue:
199
- PropertyKind: Output
200
- DataType: Number
201
- Description: "Output number value"
202
- Properties:
203
- Fill: =RGBA(255, 255, 255, 1)
204
- Height: =100
205
- Width: =200
206
- Children:
207
- - Label1:
208
- Control: Label
209
- Properties:
210
- Text: =Parent.InputText
211
- ```
212
-
213
- ### Custom Property Types:
214
- - **Input**: Receives values from parent
215
- - **Output**: Sends values to parent
216
- - **InputFunction**: Function called by parent
217
- - **OutputFunction**: Function defined in component
218
- - **Event**: Triggers events to parent
219
- - **Action**: Function with side effects
220
-
221
- ### Data Types:
222
- - `Text`, `Number`, `Boolean`
223
- - `DateAndTime`, `Color`, `Currency`
224
- - `Record`, `Table`, `Image`
225
- - `VideoOrAudio`, `Screen`
226
-
227
- ## 5. Data Sources
228
- Configure data connections:
229
-
230
- ```yaml
231
- DataSources:
232
- MyTable:
233
- Type: Table
234
- Parameters:
235
- TableLogicalName: account
236
-
237
- MyActions:
238
- Type: Actions
239
- ConnectorId: shared_office365users
240
- Parameters:
241
- # Additional connector parameters
242
- ```
243
-
244
- ### Data Source Types:
245
- - **Table**: Dataverse tables or other tabular data
246
- - **Actions**: Connector actions and flows
247
-
248
- ## 6. Editor State
249
- Maintains editor organization:
250
-
251
- ```yaml
252
- EditorState:
253
- ScreensOrder:
254
- - Screen1
255
- - Screen2
256
- - Screen3
257
- ComponentDefinitionsOrder:
258
- - MyComponent
259
- - AnotherComponent
260
- ```
261
-
262
- ## Power Fx Formula Guidelines
263
-
264
- ### Formula Syntax:
265
- - All formulas must start with `=`
266
- - Use Power Fx syntax for expressions
267
- - Null values can be represented as `null` (without quotes)
268
- - Examples:
269
- ```yaml
270
- Text: ="Hello World"
271
- X: =10
272
- Visible: =Toggle1.Value
273
- OnSelect: =Navigate(Screen2, ScreenTransition.Fade)
274
- OptionalProperty: null # Represents no value
275
- ```
276
-
277
- ### Common Formula Patterns:
278
- ```yaml
279
- # Static values
280
- Text: ="Static Text"
281
- X: =50
282
- Visible: =true
283
-
284
- # Control references
285
- Text: =TextInput1.Text
286
- Visible: =Toggle1.Value
287
-
288
- # Parent references (for controls in containers/galleries)
289
- Width: =Parent.Width - 20
290
- Height: =Parent.TemplateHeight # In gallery templates
291
-
292
- # Functions
293
- OnSelect: =Navigate(NextScreen, ScreenTransition.Slide)
294
- Text: =Concatenate("Hello ", User().FullName)
295
-
296
- # Conditional logic
297
- Visible: =If(Toggle1.Value, true, false)
298
- Fill: =If(Button1.Pressed, RGBA(255,0,0,1), RGBA(0,255,0,1))
299
-
300
- # Data operations
301
- Items: =Filter(DataSource, Status = "Active")
302
- Text: =LookUp(Users, ID = 123).Name
303
- ```
304
-
305
- ### Z-Index and Control Ordering:
306
- - Controls in the `Children` array are ordered by z-index
307
- - First control in array = bottom layer (z-index 1)
308
- - Last control in array = top layer (highest z-index)
309
- - All controls use ascending order starting from 1
310
-
311
- ## Naming Conventions
312
-
313
- ### Entity Names:
314
- - Screen names: Descriptive and unique
315
- - Control names: TypeName + Number (e.g., `Button1`, `Label2`)
316
- - Component names: PascalCase
317
-
318
- ### Property Names:
319
- - Standard properties: Use exact casing from schema
320
- - Custom properties: PascalCase recommended
321
-
322
- ## Best Practices
323
-
324
- ### 1. Structure Organization:
325
- - Keep screens logically organized
326
- - Group related controls using the `Group` property
327
- - Use meaningful names for all entities
328
-
329
- ### 2. Formula Writing:
330
- - Keep formulas readable and well-formatted
331
- - Use comments in complex formulas when possible
332
- - Avoid overly complex nested expressions
333
-
334
- ### 3. Component Design:
335
- - Design components to be reusable
336
- - Provide clear descriptions for custom properties
337
- - Use appropriate property kinds (Input/Output)
338
-
339
- ### 4. Data Source Management:
340
- - Use descriptive names for data sources
341
- - Document connection requirements
342
- - Keep data source configurations minimal
343
-
344
- ## Validation Rules
345
-
346
- ### Required Properties:
347
- - All controls must have a `Control` property
348
- - Component definitions must have `DefinitionType`
349
- - Data sources must have `Type`
350
-
351
- ### Naming Patterns:
352
- - Entity names: Minimum 1 character, alphanumeric
353
- - Control type IDs: Follow pattern `^([A-Z][a-zA-Z0-9]*/)?[A-Z][a-zA-Z0-9]*(@\d+\.\d+\.\d+)?$`
354
- - Code component names: Follow pattern `^([a-z][a-z0-9]{1,7})_([a-zA-Z0-9]\.)+[a-zA-Z0-9]+$`
355
-
356
- ## Common Issues and Solutions
357
-
358
- ### 1. Invalid Control Types:
359
- - Ensure control types are spelled correctly
360
- - Check for proper casing
361
- - Verify control type is supported in schema
362
-
363
- ### 2. Formula Errors:
364
- - All formulas must start with `=`
365
- - Use proper Power Fx syntax
366
- - Check for correct property references
367
-
368
- ### 3. Structure Validation:
369
- - Maintain proper YAML indentation
370
- - Ensure required properties are present
371
- - Follow the schema structure exactly
372
-
373
- ### 4. Custom Component Issues:
374
- - Verify `ComponentName` matches definition
375
- - Ensure custom properties are properly defined
376
- - Check property kinds are appropriate
377
- - Validate component library references if using external components
378
-
379
- ### 5. Performance Considerations:
380
- - Avoid deeply nested formulas in YAML
381
- - Use efficient data source queries
382
- - Consider delegable formulas for large datasets
383
- - Minimize complex calculations in frequently updated properties
384
-
385
- ## Advanced Topics
386
-
387
- ### 1. Component Library Integration:
388
- ```yaml
389
- ComponentDefinitions:
390
- MyLibraryComponent:
391
- DefinitionType: CanvasComponent
392
- AllowCustomization: true
393
- ComponentLibraryUniqueName: "pub_MyComponentLibrary"
394
- # Component definition details
395
- ```
396
-
397
- ### 2. Responsive Design Considerations:
398
- - Use `Parent.Width` and `Parent.Height` for responsive sizing
399
- - Consider container-based layouts for complex UIs
400
- - Use formulas for dynamic positioning and sizing
401
-
402
- ### 3. Gallery Templates:
403
- ```yaml
404
- MyGallery:
405
- Control: Gallery
406
- Properties:
407
- Items: =DataSource
408
- TemplateSize: =100
409
- Children:
410
- - GalleryTemplate: # Template for each gallery item
411
- Children:
412
- - TitleLabel:
413
- Control: Label
414
- Properties:
415
- Text: =ThisItem.Title
416
- Width: =Parent.TemplateWidth - 20
417
- ```
418
-
419
- ### 4. Form Controls and Data Cards:
420
- ```yaml
421
- MyForm:
422
- Control: Form
423
- Properties:
424
- DataSource: =DataSource
425
- DefaultMode: =FormMode.New
426
- Children:
427
- - DataCard1:
428
- Control: DataCard
429
- Properties:
430
- DataField: ="Title"
431
- Children:
432
- - DataCardValue1:
433
- Control: TextInput
434
- Properties:
435
- Default: =Parent.Default
436
- ```
437
-
438
- ### 5. Error Handling in Formulas:
439
- ```yaml
440
- Properties:
441
- Text: =IfError(LookUp(DataSource, ID = 123).Name, "Not Found")
442
- Visible: =!IsError(DataSource)
443
- OnSelect: =IfError(
444
- Navigate(DetailScreen, ScreenTransition.Cover),
445
- Notify("Navigation failed", NotificationType.Error)
446
- )
447
- ```
448
-
449
- ## Power Apps Source Code Management
450
-
451
- ### Accessing Source Code Files:
452
- Power Apps YAML files can be obtained through several methods:
453
-
454
- 1. **Power Platform CLI**:
455
- ```powershell
456
- # List canvas apps in environment
457
- pac canvas list
458
-
459
- # Download and extract YAML files
460
- pac canvas download --name "MyApp" --extract-to-directory "C:\path\to\destination"
461
- ```
462
-
463
- 2. **Manual Extraction from .msapp**:
464
- ```powershell
465
- # Extract .msapp file using PowerShell
466
- Expand-Archive -Path "C:\path\to\yourFile.msapp" -DestinationPath "C:\path\to\destination"
467
- ```
468
-
469
- 3. **Dataverse Git Integration**: Direct access to source files without .msapp files
470
-
471
- ### File Structure in .msapp:
472
- - `\src\App.pa.yaml` - Represents the main App configuration
473
- - `\src\[ScreenName].pa.yaml` - One file for each screen
474
- - `\src\Component\[ComponentName].pa.yaml` - Component definitions
475
-
476
- **Important Notes**:
477
- - Only files in the `\src` folder are intended for source control
478
- - .pa.yaml files are **read-only** and for review purposes only
479
- - External editing, merging, and conflict resolution isn't supported
480
- - JSON files in .msapp aren't stable for source control
481
-
482
- ### Schema Version Evolution:
483
- 1. **Experimental Format** (*.fx.yaml): No longer in development
484
- 2. **Early Preview**: Temporary format, no longer in use
485
- 3. **Source Code** (*.pa.yaml): Current active format with version control support
486
-
487
- ## Power Fx Formula Reference
488
-
489
- ### Formula Categories:
490
-
491
- #### **Functions**: Take parameters, perform operations, return values
492
- ```yaml
493
- Properties:
494
- Text: =Concatenate("Hello ", User().FullName)
495
- X: =Sum(10, 20, 30)
496
- Items: =Filter(DataSource, Status = "Active")
497
- ```
498
-
499
- #### **Signals**: Return environment information (no parameters)
500
- ```yaml
501
- Properties:
502
- Text: =Location.Latitude & ", " & Location.Longitude
503
- Visible: =Connection.Connected
504
- Color: =If(Acceleration.X > 5, Color.Red, Color.Blue)
505
- ```
506
-
507
- #### **Enumerations**: Predefined constant values
508
- ```yaml
509
- Properties:
510
- Fill: =Color.Blue
511
- Transition: =ScreenTransition.Fade
512
- Align: =Align.Center
513
- ```
514
-
515
- #### **Named Operators**: Access container information
516
- ```yaml
517
- Properties:
518
- Text: =ThisItem.Title # In galleries
519
- Width: =Parent.Width - 20 # In containers
520
- Height: =Self.Height / 2 # Self-reference
521
- ```
522
-
523
- ### Essential Power Fx Functions for YAML:
524
-
525
- #### **Navigation & App Control**:
526
- ```yaml
527
- OnSelect: =Navigate(NextScreen, ScreenTransition.Cover)
528
- OnSelect: =Back()
529
- OnSelect: =Exit()
530
- OnSelect: =Launch("https://example.com")
531
- ```
532
-
533
- #### **Data Operations**:
534
- ```yaml
535
- Items: =Filter(DataSource, Category = "Active")
536
- Text: =LookUp(Users, ID = 123).Name
537
- OnSelect: =Patch(DataSource, ThisItem, {Status: "Complete"})
538
- OnSelect: =Collect(LocalCollection, {Name: TextInput1.Text})
539
- ```
540
-
541
- #### **Conditional Logic**:
542
- ```yaml
543
- Visible: =If(Toggle1.Value, true, false)
544
- Text: =Switch(Status, "New", "🆕", "Complete", "✅", "❓")
545
- Fill: =If(Value < 0, Color.Red, Color.Green)
546
- ```
547
-
548
- #### **Text Manipulation**:
549
- ```yaml
550
- Text: =Concatenate("Hello ", User().FullName)
551
- Text: =Upper(TextInput1.Text)
552
- Text: =Substitute(Label1.Text, "old", "new")
553
- Text: =Left(Title, 10) & "..."
554
- ```
555
-
556
- #### **Mathematical Operations**:
557
- ```yaml
558
- Text: =Sum(Sales[Amount])
559
- Text: =Average(Ratings[Score])
560
- Text: =Round(Calculation, 2)
561
- Text: =Max(Values[Number])
562
- ```
563
-
564
- #### **Date & Time Functions**:
565
- ```yaml
566
- Text: =Text(Now(), "mm/dd/yyyy")
567
- Text: =DateDiff(StartDate, EndDate, Days)
568
- Text: =Text(Today(), "dddd, mmmm dd, yyyy")
569
- Visible: =IsToday(DueDate)
570
- ```
571
-
572
- ### Formula Syntax Guidelines:
573
-
574
- #### **Basic Syntax Rules**:
575
- - All formulas start with `=`
576
- - No preceding `+` or `=` sign (unlike Excel)
577
- - Double quotes for text strings: `="Hello World"`
578
- - Property references: `ControlName.PropertyName`
579
- - Comments not supported in YAML context
580
-
581
- #### **Formula Elements**:
582
- ```yaml
583
- # Literal values
584
- Text: ="Static Text"
585
- X: =42
586
- Visible: =true
587
-
588
- # Control property references
589
- Text: =TextInput1.Text
590
- Visible: =Checkbox1.Value
591
-
592
- # Function calls
593
- Text: =Upper(TextInput1.Text)
594
- Items: =Sort(DataSource, Title)
595
-
596
- # Complex expressions
597
- Text: =If(IsBlank(TextInput1.Text), "Enter text", Upper(TextInput1.Text))
598
- ```
599
-
600
- #### **Behavior vs. Property Formulas**:
601
- ```yaml
602
- # Property formulas (calculate values)
603
- Properties:
604
- Text: =Concatenate("Hello ", User().FullName)
605
- Visible: =Toggle1.Value
606
-
607
- # Behavior formulas (perform actions - use semicolon for multiple actions)
608
- Properties:
609
- OnSelect: =Set(MyVar, true); Navigate(NextScreen); Notify("Done!")
610
- ```
611
-
612
- ### Advanced Formula Patterns:
613
-
614
- #### **Working with Collections**:
615
- ```yaml
616
- Properties:
617
- Items: =Filter(MyCollection, Status = "Active")
618
- OnSelect: =ClearCollect(MyCollection, DataSource)
619
- OnSelect: =Collect(MyCollection, {Name: "New Item", Status: "Active"})
620
- ```
621
-
622
- #### **Error Handling**:
623
- ```yaml
624
- Properties:
625
- Text: =IfError(Value(TextInput1.Text), 0)
626
- OnSelect: =IfError(
627
- Patch(DataSource, ThisItem, {Field: Value}),
628
- Notify("Error updating record", NotificationType.Error)
629
- )
630
- ```
631
-
632
- #### **Dynamic Property Setting**:
633
- ```yaml
634
- Properties:
635
- Fill: =ColorValue("#" & HexInput.Text)
636
- Height: =Parent.Height * (Slider1.Value / 100)
637
- X: =If(Alignment = "Center", (Parent.Width - Self.Width) / 2, 0)
638
- ```
639
-
640
- ## Working with Formulas Best Practices
641
-
642
- ### Formula Organization:
643
- - Break complex formulas into smaller, readable parts
644
- - Use variables to store intermediate calculations
645
- - Comment complex logic using descriptive control names
646
- - Group related calculations together
647
-
648
- ### Performance Optimization:
649
- - Use delegation-friendly functions when working with large datasets
650
- - Avoid nested function calls in frequently updated properties
651
- - Use collections for complex data transformations
652
- - Minimize calls to external data sources
653
-
654
- ## Power Fx Data Types and Operations
655
-
656
- ### Data Type Categories:
657
-
658
- #### **Primitive Types**:
659
- - **Boolean**: `=true`, `=false`
660
- - **Number**: `=123`, `=45.67`
661
- - **Text**: `="Hello World"`
662
- - **Date**: `=Date(2024, 12, 25)`
663
- - **Time**: `=Time(14, 30, 0)`
664
- - **DateTime**: `=Now()`
665
-
666
- #### **Complex Types**:
667
- - **Color**: `=Color.Red`, `=RGBA(255, 128, 0, 1)`
668
- - **Record**: `={Name: "John", Age: 30}`
669
- - **Table**: `=Table({Name: "John"}, {Name: "Jane"})`
670
- - **GUID**: `=GUID()`
671
-
672
- #### **Type Conversion**:
673
- ```yaml
674
- Properties:
675
- Text: =Text(123.45, "#,##0.00") # Number to text
676
- Text: =Value("123.45") # Text to number
677
- Text: =DateValue("12/25/2024") # Text to date
678
- Visible: =Boolean("true") # Text to boolean
679
- ```
680
-
681
- #### **Type Checking**:
682
- ```yaml
683
- Properties:
684
- Visible: =Not(IsBlank(OptionalField))
685
- Visible: =Not(IsError(Value(TextInput1.Text)))
686
- Visible: =IsNumeric(TextInput1.Text)
687
- ```
688
-
689
- ### Table Operations:
690
-
691
- #### **Creating Tables**:
692
- ```yaml
693
- Properties:
694
- Items: =Table(
695
- {Name: "Product A", Price: 10.99},
696
- {Name: "Product B", Price: 15.99}
697
- )
698
- Items: =["Option 1", "Option 2", "Option 3"] # Single-column table
699
- ```
700
-
701
- #### **Filtering and Sorting**:
702
- ```yaml
703
- Properties:
704
- Items: =Filter(Products, Price > 10)
705
- Items: =Sort(Products, Name, Ascending)
706
- Items: =SortByColumns(Products, "Price", Descending, "Name", Ascending)
707
- ```
708
-
709
- #### **Data Transformation**:
710
- ```yaml
711
- Properties:
712
- Items: =AddColumns(Products, "Total", Price * Quantity)
713
- Items: =RenameColumns(Products, "Price", "Cost")
714
- Items: =ShowColumns(Products, "Name", "Price")
715
- Items: =DropColumns(Products, "InternalID")
716
- ```
717
-
718
- #### **Aggregation**:
719
- ```yaml
720
- Properties:
721
- Text: =Sum(Products, Price)
722
- Text: =Average(Products, Rating)
723
- Text: =Max(Products, Price)
724
- Text: =CountRows(Products)
725
- ```
726
-
727
- ### Variables and State Management:
728
-
729
- #### **Global Variables**:
730
- ```yaml
731
- Properties:
732
- OnSelect: =Set(MyGlobalVar, "Hello World")
733
- Text: =MyGlobalVar
734
- ```
735
-
736
- #### **Context Variables**:
737
- ```yaml
738
- Properties:
739
- OnSelect: =UpdateContext({LocalVar: "Screen Specific"})
740
- OnSelect: =Navigate(NextScreen, None, {PassedValue: 42})
741
- ```
742
-
743
- #### **Collections**:
744
- ```yaml
745
- Properties:
746
- OnSelect: =ClearCollect(MyCollection, DataSource)
747
- OnSelect: =Collect(MyCollection, {Name: "New Item"})
748
- Items: =MyCollection
749
- ```
750
-
751
- ## Power Fx Enhanced Connectors and External Data
752
-
753
- ### Connector Integration:
754
- ```yaml
755
- DataSources:
756
- SharePointList:
757
- Type: Table
758
- Parameters:
759
- TableLogicalName: "Custom List"
760
-
761
- Office365Users:
762
- Type: Actions
763
- ConnectorId: shared_office365users
764
- ```
765
-
766
- ### Working with External Data:
767
- ```yaml
768
- Properties:
769
- Items: =Filter(SharePointList, Status = "Active")
770
- OnSelect: =Office365Users.SearchUser({searchTerm: SearchInput.Text})
771
- ```
772
-
773
- ### Delegation Considerations:
774
- ```yaml
775
- Properties:
776
- # Delegable operations (executed server-side)
777
- Items: =Filter(LargeTable, Status = "Active") # Efficient
778
-
779
- # Non-delegable operations (may download all records)
780
- Items: =Filter(LargeTable, Len(Description) > 100) # Warning issued
781
- ```
782
-
783
- ## Troubleshooting and Common Patterns
784
-
785
- ### Common Error Patterns:
786
- ```yaml
787
- # Handle blank values
788
- Properties:
789
- Text: =If(IsBlank(OptionalText), "Default", OptionalText)
790
-
791
- # Handle errors gracefully
792
- Properties:
793
- Text: =IfError(RiskyOperation(), "Fallback Value")
794
-
795
- # Validate input
796
- Properties:
797
- Visible: =And(
798
- Not(IsBlank(NameInput.Text)),
799
- IsNumeric(AgeInput.Text),
800
- IsMatch(EmailInput.Text, Email)
801
- )
802
- ```
803
-
804
- ### Performance Optimization:
805
- ```yaml
806
- # Efficient data loading
807
- Properties:
808
- Items: =Filter(LargeDataSource, Status = "Active") # Server-side filtering
809
-
810
- # Use delegation-friendly operations
811
- Properties:
812
- Items: =Sort(Filter(DataSource, Active), Name) # Delegable
813
- # Avoid: Sort(DataSource, If(Active, Name, "")) # Not delegable
814
- ```
815
-
816
- ### Memory Management:
817
- ```yaml
818
- # Clear unused collections
819
- Properties:
820
- OnSelect: =Clear(TempCollection)
821
-
822
- # Limit data retrieval
823
- Properties:
824
- Items: =FirstN(Filter(DataSource, Status = "Active"), 50)
825
- ```
826
-
827
- Remember: This guide provides comprehensive coverage of Power Apps Canvas Apps YAML structure and Power Fx formulas. Always validate your YAML against the official schema and test formulas in the Power Apps Studio environment.