@pega/sdk 0.0.4 → 0.0.5

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 (317) hide show
  1. package/dist/index.js +287 -1
  2. package/package.json +1 -1
  3. package/templates/angular-sdk-reference/package.json +12 -12
  4. package/templates/angular-sdk-reference/tsconfig.json +1 -1
  5. package/templates/react-native-sdk-reference/expo-env.d.ts +3 -0
  6. package/templates/react-sdk-reference/{.github/agents/implementation-expert.agent.md → .ai-common/agents/implementation-expert.md} +23 -26
  7. package/templates/react-sdk-reference/{.github/copilot-instructions.md → .ai-common/global/ai-agent-instructions.md} +7 -7
  8. package/templates/react-sdk-reference/{.github/instructions/component-map.instructions.md → .ai-common/instructions/component-map.md} +8 -1
  9. package/templates/react-sdk-reference/{.github/instructions/dse-component.instructions.md → .ai-common/instructions/dse-component.md} +1 -1
  10. package/templates/react-sdk-reference/{.github/instructions/field-component.instructions.md → .ai-common/instructions/field-component.md} +2 -1
  11. package/templates/react-sdk-reference/{.github/instructions/template-component.instructions.md → .ai-common/instructions/template-component.md} +1 -1
  12. package/templates/react-sdk-reference/{.github/instructions/widget-component.instructions.md → .ai-common/instructions/widget-component.md} +1 -1
  13. package/templates/react-sdk-reference/{.github/prompts/add-component.prompt.md → .ai-common/prompts/add-component.md} +45 -18
  14. package/templates/react-sdk-reference/{.cursor/rules → .ai-common}/prompts/component-manifest.json +8 -2
  15. package/templates/react-sdk-reference/{.github/prompts/generate-all-components.prompt.md → .ai-common/prompts/generate-all-components.md} +195 -78
  16. package/templates/react-sdk-reference/{.github/prompts/generate-dse-components.prompt.md → .ai-common/prompts/generate-dse-components.md} +28 -17
  17. package/templates/react-sdk-reference/{.github/prompts/generate-field-components.prompt.md → .ai-common/prompts/generate-field-components.md} +32 -16
  18. package/templates/react-sdk-reference/{.github/prompts/generate-template-components.prompt.md → .ai-common/prompts/generate-template-components.md} +76 -22
  19. package/templates/react-sdk-reference/{.github/prompts/generate-widget-components.prompt.md → .ai-common/prompts/generate-widget-components.md} +44 -30
  20. package/templates/react-sdk-reference/{.claude → .ai-common}/prompts/identify-components.md +4 -0
  21. package/templates/react-sdk-reference/{.cursor/rules/prompts/replace-design-system.mdrules → .ai-common/prompts/replace-design-system.md} +2 -3
  22. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/AlertBanner.md +50 -0
  23. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/Banner.md +44 -0
  24. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/CaseSummaryFields.md +54 -0
  25. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/DetailsFields.md +49 -0
  26. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/FieldGroup.md +44 -0
  27. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/FieldGroupList.md +43 -0
  28. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/FieldValueList.md +46 -0
  29. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/Operator.md +67 -0
  30. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/Pulse.md +20 -0
  31. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/RichTextEditor.md +58 -0
  32. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/WssQuickCreate.md +31 -0
  33. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension.md +1 -1
  34. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-components.md +18 -1
  35. package/templates/react-sdk-reference/.ai-common/skills/field-skills/AutoComplete.md +298 -0
  36. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/CancelAlert.md +132 -3
  37. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Checkbox.md +358 -0
  38. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Currency.md +230 -0
  39. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Date.md +221 -0
  40. package/templates/react-sdk-reference/.ai-common/skills/field-skills/DateTime.md +213 -0
  41. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Decimal.md +112 -13
  42. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Dropdown.md +127 -1
  43. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Email.md +68 -0
  44. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Group.md +51 -0
  45. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Integer.md +81 -0
  46. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Location.md +105 -0
  47. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Multiselect.md +70 -0
  48. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/ObjectReference.md +74 -0
  49. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Percentage.md +84 -0
  50. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Phone.md +81 -0
  51. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/RadioButtons.md +93 -0
  52. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/RichText.md +85 -0
  53. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/ScalarList.md +54 -0
  54. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/SelectableCard.md +55 -0
  55. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/SemanticLink.md +64 -0
  56. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/TextArea.md +66 -0
  57. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/TextContent.md +28 -0
  58. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/TextInput.md +67 -0
  59. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Time.md +67 -0
  60. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/URL.md +59 -0
  61. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/UserReference.md +90 -0
  62. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-components.md +83 -52
  63. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/AdvancedSearch.md +77 -0
  64. package/templates/react-sdk-reference/.ai-common/skills/template-skills/AppShell.md +273 -0
  65. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/BannerPage.md +39 -0
  66. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/CaseSummary.md +79 -0
  67. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseView.md +399 -0
  68. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseViewActionsMenu.md +282 -0
  69. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/Confirmation.md +89 -0
  70. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DataReference.md +50 -0
  71. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DefaultForm.md +117 -0
  72. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DefaultPage.md +49 -0
  73. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/Details.md +59 -0
  74. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/DetailsSubTabs.md +60 -0
  75. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DetailsThreeColumn.md +12 -0
  76. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/DetailsTwoColumn.md +12 -0
  77. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DynamicTabs.md +67 -0
  78. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/FieldGroupTemplate.md +119 -0
  79. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/HierarchicalForm.md +45 -0
  80. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/InlineDashboard.md +41 -0
  81. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/InlineDashboardPage.md +56 -0
  82. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/ListPage.md +18 -0
  83. package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListView.md +419 -0
  84. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/MultiReferenceReadOnly.md +40 -0
  85. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/NarrowWide.md +66 -0
  86. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/OneColumn.md +34 -0
  87. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/PromotedFilters.md +92 -0
  88. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/SelfServiceCaseView.md +56 -0
  89. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/SimpleTable.md +59 -0
  90. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/SingleReferenceReadOnly.md +52 -0
  91. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/SubTabs.md +47 -0
  92. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/TwoColumn.md +49 -0
  93. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/WssNavBar.md +71 -0
  94. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-components.md +1 -1
  95. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/AppAnnouncement.md +38 -1
  96. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/Attachment.md +58 -0
  97. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/CaseHistory.md +63 -0
  98. package/templates/react-sdk-reference/{.github → .ai-common}/skills/widget-skills/FileUtility.md +81 -14
  99. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/Followers.md +20 -0
  100. package/templates/react-sdk-reference/{.github → .ai-common}/skills/widget-skills/QuickCreate.md +48 -0
  101. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/SummaryItem.md +66 -0
  102. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/ToDo.md +492 -0
  103. package/templates/react-sdk-reference/package.minimal.json +29 -0
  104. package/templates/react-sdk-reference/src/AppProviders.tsx +17 -0
  105. package/templates/react-sdk-reference/src/MashupApp.tsx +8 -19
  106. package/templates/react-sdk-reference/src/PortalApp.tsx +6 -17
  107. package/templates/react-sdk-reference/.claude/instructions/component-map.md +0 -38
  108. package/templates/react-sdk-reference/.claude/instructions/dse-component.md +0 -75
  109. package/templates/react-sdk-reference/.claude/instructions/field-component.md +0 -75
  110. package/templates/react-sdk-reference/.claude/instructions/template-component.md +0 -93
  111. package/templates/react-sdk-reference/.claude/instructions/widget-component.md +0 -88
  112. package/templates/react-sdk-reference/.claude/prompts/add-component.md +0 -152
  113. package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +0 -193
  114. package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +0 -158
  115. package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +0 -140
  116. package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +0 -153
  117. package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +0 -165
  118. package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +0 -138
  119. package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +0 -519
  120. package/templates/react-sdk-reference/.claude/skills/component-contracts.md +0 -140
  121. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +0 -137
  122. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +0 -134
  123. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +0 -118
  124. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +0 -85
  125. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +0 -232
  126. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +0 -137
  127. package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +0 -291
  128. package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +0 -113
  129. package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +0 -175
  130. package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +0 -109
  131. package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +0 -101
  132. package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +0 -106
  133. package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +0 -88
  134. package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +0 -188
  135. package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +0 -173
  136. package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +0 -93
  137. package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +0 -129
  138. package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +0 -167
  139. package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +0 -149
  140. package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +0 -134
  141. package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +0 -231
  142. package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +0 -155
  143. package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +0 -107
  144. package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +0 -89
  145. package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +0 -86
  146. package/templates/react-sdk-reference/.claude/skills/template-components.md +0 -321
  147. package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +0 -150
  148. package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +0 -124
  149. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +0 -106
  150. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +0 -137
  151. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +0 -131
  152. package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +0 -109
  153. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +0 -97
  154. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +0 -80
  155. package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +0 -70
  156. package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +0 -142
  157. package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +0 -82
  158. package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +0 -114
  159. package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +0 -131
  160. package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +0 -108
  161. package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +0 -82
  162. package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +0 -206
  163. package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +0 -118
  164. package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +0 -198
  165. package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +0 -41
  166. package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +0 -78
  167. package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +0 -74
  168. package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +0 -247
  169. package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +0 -149
  170. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +0 -154
  171. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +0 -131
  172. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +0 -144
  173. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +0 -156
  174. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +0 -129
  175. package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +0 -110
  176. package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +0 -145
  177. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +0 -140
  178. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +0 -154
  179. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +0 -159
  180. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +0 -149
  181. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +0 -136
  182. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +0 -116
  183. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +0 -120
  184. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +0 -154
  185. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +0 -88
  186. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +0 -211
  187. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +0 -140
  188. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +0 -294
  189. package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +0 -299
  190. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +0 -117
  191. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +0 -208
  192. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +0 -163
  193. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +0 -111
  194. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +0 -104
  195. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +0 -108
  196. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +0 -103
  197. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +0 -119
  198. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +0 -112
  199. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +0 -95
  200. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +0 -92
  201. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +0 -141
  202. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +0 -169
  203. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +0 -169
  204. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +0 -97
  205. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +0 -115
  206. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +0 -151
  207. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +0 -143
  208. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +0 -129
  209. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +0 -221
  210. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +0 -153
  211. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +0 -101
  212. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +0 -106
  213. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +0 -109
  214. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +0 -93
  215. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +0 -90
  216. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +0 -185
  217. package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +0 -73
  218. package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +0 -327
  219. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +0 -149
  220. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +0 -127
  221. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +0 -88
  222. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +0 -105
  223. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +0 -136
  224. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +0 -131
  225. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +0 -112
  226. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +0 -125
  227. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +0 -107
  228. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +0 -115
  229. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +0 -93
  230. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +0 -100
  231. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +0 -83
  232. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +0 -83
  233. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +0 -106
  234. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +0 -114
  235. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +0 -118
  236. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +0 -109
  237. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +0 -90
  238. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +0 -73
  239. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +0 -144
  240. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +0 -85
  241. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +0 -146
  242. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +0 -114
  243. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +0 -129
  244. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +0 -140
  245. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +0 -132
  246. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +0 -108
  247. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +0 -84
  248. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +0 -136
  249. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +0 -155
  250. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +0 -140
  251. package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +0 -276
  252. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +0 -87
  253. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +0 -151
  254. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +0 -112
  255. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +0 -205
  256. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +0 -104
  257. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +0 -119
  258. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +0 -172
  259. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +0 -195
  260. package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +0 -95
  261. package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +0 -90
  262. package/templates/react-sdk-reference/.github/prompts/component-manifest.json +0 -193
  263. package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +0 -110
  264. package/templates/react-sdk-reference/.github/prompts/replace-design-system.prompt.md +0 -524
  265. package/templates/react-sdk-reference/.github/skills/component-contracts.md +0 -140
  266. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +0 -152
  267. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +0 -159
  268. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +0 -148
  269. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +0 -113
  270. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +0 -155
  271. package/templates/react-sdk-reference/.github/skills/field-components.md +0 -295
  272. package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +0 -113
  273. package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +0 -211
  274. package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +0 -175
  275. package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +0 -109
  276. package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +0 -101
  277. package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +0 -106
  278. package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +0 -99
  279. package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +0 -134
  280. package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +0 -109
  281. package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +0 -96
  282. package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +0 -145
  283. package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +0 -98
  284. package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +0 -117
  285. package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +0 -203
  286. package/templates/react-sdk-reference/.github/skills/run-and-verify.md +0 -70
  287. package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +0 -124
  288. package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +0 -86
  289. package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +0 -137
  290. package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +0 -131
  291. package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +0 -124
  292. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +0 -104
  293. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +0 -112
  294. package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +0 -90
  295. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +0 -80
  296. package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +0 -106
  297. package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +0 -112
  298. package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +0 -116
  299. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +0 -108
  300. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +0 -82
  301. package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +0 -142
  302. package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +0 -143
  303. package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +0 -130
  304. package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +0 -142
  305. package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +0 -133
  306. package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +0 -152
  307. package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +0 -139
  308. package/templates/react-sdk-reference/.github/skills/widget-components.md +0 -260
  309. package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +0 -84
  310. package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +0 -151
  311. package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +0 -110
  312. package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +0 -103
  313. package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +0 -169
  314. package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +0 -198
  315. package/templates/react-sdk-reference/AGENTS.md +0 -246
  316. /package/templates/react-sdk-reference/{.claude → .ai-common}/skills/run-and-verify.md +0 -0
  317. /package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/WideNarrow.md +0 -0
@@ -1,524 +0,0 @@
1
- ---
2
- agent: agent
3
- description: Replace design system components — full app, by scope/folder, by named shorthand, or by explicit component list
4
- ---
5
-
6
- # replace-design-system
7
-
8
- Replace the current design system in this application with **{{designSystem}}**.
9
-
10
- > **Before doing anything else:** if `{{designSystem}}` is empty or not provided, stop immediately and ask the user: _"Which design system should I migrate to? (e.g. Ant Design, Carbon Design System, Chakra UI)"_ — do not proceed with any migration steps until it is provided.
11
-
12
- ---
13
-
14
- ## Step 0: Determine target component list
15
-
16
- Read `.github/prompts/component-manifest.json` first.
17
-
18
- Collect components from **every applicable source** below, then merge and deduplicate into a single final list.
19
-
20
- ---
21
-
22
- ### Source A — Screenshot / image attached
23
-
24
- > Applies when: one or more images or screenshots are attached to this prompt invocation.
25
-
26
- Analyze **each attached image** using the **[Visual Recognition Guide](#visual-recognition-guide)** below.
27
- Produce a list of SDK component names visible across **all** screenshots, then union the results into a single list.
28
-
29
- ---
30
-
31
- ### Source B — `components` param provided (explicit list)
32
-
33
- > Applies when: `{{components}}` is non-empty (e.g. `components="TextInput,Phone,Stages"`)
34
-
35
- Resolve each name against the manifest's `components` map to get its path and category.
36
-
37
- ---
38
-
39
- ### Source C — `scope` param provided
40
-
41
- > Applies when: `{{scope}}` is provided
42
-
43
- **If `{{scope}}` is a folder name** (one of `field`, `template`, `widget`, `infra`, `designSystemExtension`):
44
- Read every entry under `manifest.components["{{scope}}"]` — that is the full component list for this source.
45
-
46
- **If `{{scope}}` is a named shorthand** (a key in `manifest.namedScopes`, e.g. `workflow-form`):
47
- Read `manifest.namedScopes["{{scope}}"]`:
48
-
49
- - For each entry in `folders[]`: collect all components in `manifest.components[folder]`
50
- - For each entry in `components[]`: add that component directly (it includes path + category)
51
-
52
- ---
53
-
54
- ### Merge & deduplicate
55
-
56
- Take the union of all non-empty source lists (A, B, C).
57
- Remove duplicates using **case-insensitive component name matching** — the manifest is authoritative for path and category regardless of which source contributed the name.
58
-
59
- **If the merged list is non-empty → [Targeted Migration](#targeted-migration)**
60
- **If ALL sources produced nothing (no image, no params) → [Full Migration (9 waves)](#full-migration)**
61
-
62
- ---
63
-
64
- ### Combination examples
65
-
66
- | Sources active | Behaviour |
67
- | ----------------------------------- | ------------------------------------------------------ |
68
- | One image only | A only → targeted migration of identified components |
69
- | Multiple images only | A only (union across all images) → targeted migration |
70
- | `components=` only | B only → targeted migration (same as before) |
71
- | `scope=` only | C only → all components in that scope (same as before) |
72
- | Image(s) + `components=` | A ∪ B, deduplicated → targeted migration |
73
- | Image(s) + `scope=` | A ∪ C, deduplicated → targeted migration |
74
- | `scope=` + `components=` | B ∪ C, deduplicated → targeted migration |
75
- | Image(s) + `scope=` + `components=` | A ∪ B ∪ C, deduplicated → targeted migration |
76
- | No image, no params | Full 9-wave migration |
77
-
78
- ---
79
-
80
- ## Visual Recognition Guide
81
-
82
- Use the tables below to map what you see in an attached image to SDK component names.
83
-
84
- ### Structural / layout components
85
-
86
- | What you see | SDK component name | Category |
87
- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | -------- |
88
- | Chevron/arrow step bar at the top of a form (e.g. "Step 1 → Step 2 → Step 3") | `Stages` | infra |
89
- | Full case shell: step bar + case title + **action menu (⋮ or kebab)** + tabbed content area | `CaseView` | template |
90
- | Avatar + assignment/step name at the top **and** form fields in the body **and** action buttons (e.g. Cancel / Save for later / Submit) at the bottom — all three must be present | `FlowContainer` | template |
91
- | Row of action buttons at the bottom (Cancel / Save / Submit) | `ActionButtons` | infra |
92
- | White/card area wrapping form fields | `DefaultForm` | template |
93
- | Full-page layout with header + sidebar + content area | `AppShell` | template |
94
- | Left-side vertical tab navigation | `VerticalTabs` | infra |
95
- | Top navigation bar with logo + user menu | `NavBar` | infra |
96
- | Top navigation bar (WSS / self-service variant) | `WssNavBar` | template |
97
- | Two-column layout (equal or narrow/wide split) | `TwoColumn` / `NarrowWide` / `WideNarrow` | template |
98
- | Single-column stacked layout | `OneColumn` | template |
99
- | Tabbed panel inside a form or page | `SubTabs` / `Details` | template |
100
-
101
- ### Field components
102
-
103
- | What you see | SDK component name | Category |
104
- | ---------------------------------------------------------- | ------------------ | -------- |
105
- | Single-line text input box | `TextInput` | field |
106
- | Multi-line text input / textarea | `TextArea` | field |
107
- | Dropdown / select menu (chevron on right) | `Dropdown` | field |
108
- | Phone input with country code prefix (e.g. "+1 ▼") | `Phone` | field |
109
- | Date picker input (calendar icon) | `Date` | field |
110
- | Date + time picker input | `DateTime` | field |
111
- | Time-only picker | `Time` | field |
112
- | Currency input ($ prefix or formatted number) | `Currency` | field |
113
- | Percentage input (% suffix) | `Percentage` | field |
114
- | Decimal / float number input | `Decimal` | field |
115
- | Integer-only number input | `Integer` | field |
116
- | Email input (envelope icon or @-hint) | `Email` | field |
117
- | URL input (link icon or http-hint) | `URL` | field |
118
- | Checkbox with label | `Checkbox` | field |
119
- | Radio button group | `RadioButtons` | field |
120
- | Multi-select / tag-style select with chips | `Multiselect` | field |
121
- | Type-ahead / autocomplete input with suggestions | `AutoComplete` | field |
122
- | Rich text editor (toolbar with Bold/Italic/etc.) | `RichText` | field |
123
- | Read-only comma-separated list of values | `ScalarList` | field |
124
- | Selectable card / tile (click to select, like a plan card) | `SelectableCard` | field |
125
- | Map / location picker with pin icon | `Location` | field |
126
- | Link to another object/record | `ObjectReference` | field |
127
- | Hyperlink displayed inline | `SemanticLink` | field |
128
- | User avatar + name displayed inline | `UserReference` | field |
129
- | Inline alert / warning inside a form | `CancelAlert` | field |
130
- | Static text block / paragraph inside a form | `TextContent` | field |
131
- | Grouping box around related fields | `Group` | field |
132
-
133
- ### Widget components
134
-
135
- | What you see | SDK component name | Category |
136
- | ------------------------------------------------- | ------------------ | -------- |
137
- | To-do / task list card with assignments | `ToDo` | widget |
138
- | File attachment area with upload button | `Attachment` | widget |
139
- | Case history / audit trail table | `CaseHistory` | widget |
140
- | File list with download actions | `FileUtility` | widget |
141
- | List of follower avatars + "Follow" button | `Followers` | widget |
142
- | "+" quick-create button with dropdown menu | `QuickCreate` | widget |
143
- | Summary card for a single record with action menu | `SummaryItem` | widget |
144
- | List of SummaryItem cards | `SummaryList` | widget |
145
- | Announcement / news card | `AppAnnouncement` | widget |
146
-
147
- ### DSE / design system extension components
148
-
149
- | What you see | SDK component name | Category |
150
- | ------------------------------------------------------------ | ------------------- | --------------------- |
151
- | Coloured banner alert bar (info / warning / error / success) | `AlertBanner` | designSystemExtension |
152
- | Hero-style banner with title + CTA button | `Banner` | designSystemExtension |
153
- | Read-only field+value pairs in a case summary | `CaseSummaryFields` | designSystemExtension |
154
- | Read-only label+value pairs in a details view | `DetailsFields` | designSystemExtension |
155
- | Collapsible section with header (accordion-style) | `FieldGroup` | designSystemExtension |
156
- | List of field groups with "Add" link | `FieldGroupList` | designSystemExtension |
157
- | User operator info popover (name + contact) | `Operator` | designSystemExtension |
158
- | Comment/pulse card with avatar + timestamp | `Pulse` | designSystemExtension |
159
- | Rich text editor with theme-aware toolbar | `RichTextEditor` | designSystemExtension |
160
- | Quick-create shortcut links list (WSS sidebar) | `WssQuickCreate` | designSystemExtension |
161
-
162
- ### Recognition rules
163
-
164
- 1. **An avatar + form title alone is NOT `CaseView`** — `CaseView` requires the full case shell: step bar + action/kebab menu (⋮) + tabbed content area. A simple form with a header is `DefaultForm`.
165
- 2. **`FlowContainer` requires ALL THREE signals together** — avatar + assignment name at the top, form fields in the body, AND action buttons (Cancel / Save for later / Submit) at the bottom. If any one of the three is absent, do not identify it as `FlowContainer`.
166
- 3. Match the most specific pattern first — a form with both a step bar AND action buttons means both `Stages` AND `ActionButtons` are present.
167
- 4. If a field is read-only (label + value, no input box), it may be rendered by `DetailsFields` or `CaseSummaryFields` rather than the individual field component.
168
- 5. Include only components you can confidently identify — do not guess.
169
-
170
- ---
171
-
172
- ## Targeted Migration
173
-
174
- > Used when the merged component list from Step 0 is non-empty. Replaces only those components.
175
-
176
- ### T1 — Setup
177
-
178
- **T1.1 — Install {{designSystem}}** if not already in `package.json`.
179
-
180
- **T1.2 — Confirm installed version and provider API**
181
- Run `npm ls {{designSystem}}` to confirm the exact installed major version.
182
- Then read the installed package directly — do NOT rely on training knowledge, which may reflect a different version:
183
-
184
- 1. Read the README: `cat node_modules/{{designSystem}}/README.md`
185
- Captures correct import paths, provider setup, and quick-start usage examples.
186
- 2. Find the provider's type signature:
187
- `grep -rl "Provider" node_modules/{{designSystem}} --include="*.d.ts" | head -5`
188
- Then read the matched `.d.ts` file(s) to extract the exact provider name and every required prop.
189
- 3. Check for peer dependencies: `cat node_modules/{{designSystem}}/package.json | grep -A 20 peerDep`
190
-
191
- **Verification gate — do not proceed to T1.3 until you have written out:**
192
-
193
- - The exact `import` statement for the provider (confirmed against the `.d.ts` above)
194
- - The complete provider JSX including all required props with their values (confirmed against the README/types above)
195
-
196
- **T1.3 — Add root provider to both entry points (always required)**
197
- Most design systems require a root provider/context wrapper for any component in the tree to work (e.g. `ThemeProvider`, `Provider`, `ConfigProvider`, `ChakraProvider`, etc.).
198
-
199
- Check whether `{{designSystem}}` requires one. If yes:
200
-
201
- - Add it to **both** `src/MashupApp.tsx` **and** `src/PortalApp.tsx` — wrapping the existing provider tree
202
- - Do this **before** launching any subagents, regardless of how few components are being migrated
203
- - Do **not** remove any existing providers (MUI providers may still be needed by unmigrated components)
204
-
205
- **T1.4 — FieldValueList (if `field` scope or any field component is in the list)**
206
- If any field component is being migrated, replace `src/components/designSystemExtension/FieldValueList/` with a {{designSystem}} implementation **first** — all field components depend on it for `displayMode` rendering.
207
-
208
- Required interface (must not change):
209
-
210
- ```typescript
211
- interface FieldValueListProps {
212
- name?: string;
213
- value?: string;
214
- variant?: 'stacked' | 'inline';
215
- }
216
- ```
217
-
218
- **T1.5 — Update providers for full-app scopes (if `template` or `infra` components are in the list)**
219
- If `CaseView`, `AppShell`, `MashupApp`, or `PortalApp` are in the list, replace the old design system's `ThemeProvider` in `src/MashupApp.tsx` and `src/PortalApp.tsx` with {{designSystem}}'s provider.
220
-
221
- ### T2 — Migrate components (parallel subagents, ≤10 at a time)
222
-
223
- For each component in the resolved list, launch a subagent:
224
-
225
- - If `category` = `field` → use prompt **`replace-field`** with `fieldName` + `designSystem`
226
- - Otherwise → use prompt **`replace-component`** with `componentName`, `componentCategory`, `componentPath`, `designSystem`
227
-
228
- If the list has ≤10 components, launch all at once.
229
- If the list has >10 components, batch into waves of ≤10 and wait for each wave before starting the next.
230
-
231
- ### T3 — Cleanup
232
-
233
- After all subagents complete:
234
-
235
- 1. Search for any remaining imports of the old design system in the migrated files — fix stragglers
236
- 2. Run `npm run build` — fix ALL TypeScript errors until clean
237
- 3. If providers were updated, run `npm run dev` and verify the app loads
238
-
239
- ---
240
-
241
- ## Full Migration
242
-
243
- > Used by Rule 4 only. Migrates all 81 components across 9 waves.
244
-
245
- > **Why 9 waves of 10?** Launching more than ~10 subagents simultaneously triggers rate-limit errors. Waves of 10 stay safely within the limit while still being ~10× faster than fully sequential execution. **Never launch the next wave until every subagent in the current wave has finished.**
246
-
247
- ### Phase 1: Setup (sequential — blocks everything else)
248
-
249
- ### 1.1 Install {{designSystem}}
250
-
251
- Install the {{designSystem}} package and any required peer dependencies. Do NOT remove MUI yet — it's needed until all replacements finish.
252
-
253
- ### 1.2 Confirm installed version and provider API
254
-
255
- Run `npm ls {{designSystem}}` to confirm the exact installed major version.
256
- Then read the installed package directly — do NOT rely on training knowledge, which may reflect a different version:
257
-
258
- 1. Read the README: `cat node_modules/{{designSystem}}/README.md`
259
- Captures correct import paths, provider setup, and quick-start usage examples.
260
- 2. Find the provider's type signature:
261
- `grep -rl "Provider" node_modules/{{designSystem}} --include="*.d.ts" | head -5`
262
- Then read the matched `.d.ts` file(s) to extract the exact provider name and every required prop.
263
- 3. Check for peer dependencies: `cat node_modules/{{designSystem}}/package.json | grep -A 20 peerDep`
264
-
265
- **Verification gate — do not proceed to 1.3 until you have written out:**
266
-
267
- - The exact `import` statement for the provider (confirmed against the `.d.ts` above)
268
- - The complete provider JSX including all required props with their values (confirmed against the README/types above)
269
-
270
- ### 1.3 Add root provider to both entry points
271
-
272
- Most design systems require a root provider/context wrapper for any component in the tree to work.
273
-
274
- Check whether `{{designSystem}}` requires one. If yes:
275
-
276
- - Add it to **both** `src/MashupApp.tsx` **and** `src/PortalApp.tsx` — wrapping the existing provider tree
277
- - Do **not** remove any existing providers (MUI providers are still needed by unmigrated components)
278
-
279
- ### 1.4 Replace FieldValueList (blocking dependency for all fields)
280
-
281
- Replace `src/components/designSystemExtension/FieldValueList/` with a {{designSystem}} implementation **before** starting any wave. Every field component depends on this for `displayMode` rendering.
282
-
283
- Required interface (must not change — all 27 field components depend on it):
284
-
285
- ```typescript
286
- interface FieldValueListProps {
287
- name?: string;
288
- value?: string;
289
- variant?: 'stacked' | 'inline';
290
- }
291
- ```
292
-
293
- ### 1.5 Update provider files for full migration
294
-
295
- Replace MUI's `ThemeProvider` / `LegacyThemeProvider` in `src/MashupApp.tsx` and `src/PortalApp.tsx` with {{designSystem}}'s provider. Remove `LocalizationProvider` from `@mui/x-date-pickers` only if {{designSystem}} provides its own date picker.
296
-
297
- ---
298
-
299
- ## Phase 2: Replacement — 9 waves (one wave at a time, ≤10 subagents per wave)
300
-
301
- For field components → prompt: **`replace-field`** with `fieldName` + `designSystem`.
302
- For all others → prompt: **`replace-component`** with `componentName`, `componentCategory`, `componentPath`, and `designSystem`.
303
-
304
- ---
305
-
306
- ### Wave 1 — Fields batch 1 (10 subagents — wait for all before Wave 2)
307
-
308
- Each uses prompt: **`replace-field`** with `designSystem` = **{{designSystem}}**
309
-
310
- | # | `fieldName` |
311
- | --- | ------------ |
312
- | 1 | TextInput |
313
- | 2 | TextArea |
314
- | 3 | Dropdown |
315
- | 4 | Checkbox |
316
- | 5 | RadioButtons |
317
- | 6 | Date |
318
- | 7 | DateTime |
319
- | 8 | Time |
320
- | 9 | Currency |
321
- | 10 | Decimal |
322
-
323
- ---
324
-
325
- ### Wave 2 — Fields batch 2 (9 subagents — wait for all before Wave 3)
326
-
327
- Each uses prompt: **`replace-field`** with `designSystem` = **{{designSystem}}**
328
-
329
- | # | `fieldName` |
330
- | --- | ------------ |
331
- | 11 | Integer |
332
- | 12 | Percentage |
333
- | 13 | Email |
334
- | 14 | Phone |
335
- | 15 | URL |
336
- | 16 | AutoComplete |
337
- | 17 | Multiselect |
338
- | 18 | RichText |
339
- | 19 | ScalarList |
340
-
341
- ---
342
-
343
- ### Wave 3 — Fields batch 3 + DSE batch 1 (9 subagents — wait for all before Wave 4)
344
-
345
- Fields use prompt: **`replace-field`** | DSE use prompt: **`replace-component`** with `componentCategory` = `designSystemExtension`
346
-
347
- | # | prompt | `fieldName` / `componentName` | `componentPath` | MUI to replace |
348
- | --- | ----------------- | ----------------------------- | ------------------------------------ | --------------------------------- |
349
- | 20 | replace-field | SelectableCard | — | — |
350
- | 21 | replace-field | Group | — | — |
351
- | 22 | replace-field | Location | — | — |
352
- | 23 | replace-field | ObjectReference | — | — |
353
- | 24 | replace-field | SemanticLink | — | — |
354
- | 25 | replace-field | UserReference | — | — |
355
- | 26 | replace-field | CancelAlert | — | — |
356
- | 27 | replace-field | TextContent | — | — |
357
- | 28 | replace-component | AlertBanner | `designSystemExtension/AlertBanner/` | `Alert`, `AlertTitle`, `Collapse` |
358
-
359
- ---
360
-
361
- ### Wave 4 — DSE batch 2 + Templates batch 1 (10 subagents — wait for all before Wave 5)
362
-
363
- DSE use prompt: **`replace-component`** with `componentCategory` = `designSystemExtension`
364
- Templates use prompt: **`replace-component`** with `componentCategory` = `template`
365
-
366
- | # | category | `componentName` | `componentPath` | MUI to replace |
367
- | --- | --------------------- | ----------------- | ------------------------------------------ | ------------------------------------------- |
368
- | 29 | designSystemExtension | Banner | `designSystemExtension/Banner/` | `Box`, `Typography`, `Button` |
369
- | 30 | designSystemExtension | CaseSummaryFields | `designSystemExtension/CaseSummaryFields/` | `Grid`, `Typography` |
370
- | 31 | designSystemExtension | DetailsFields | `designSystemExtension/DetailsFields/` | `Grid`, `Typography` |
371
- | 32 | designSystemExtension | FieldGroup | `designSystemExtension/FieldGroup/` | `Box`, `Divider`, `Typography` |
372
- | 33 | designSystemExtension | FieldGroupList | `designSystemExtension/FieldGroupList/` | `List`, `ListItem`, `Button` |
373
- | 34 | designSystemExtension | Operator | `designSystemExtension/Operator/` | `Avatar`, `Typography`, `Box` |
374
- | 35 | designSystemExtension | Pulse | `designSystemExtension/Pulse/` | `TextField`, `List`, `Avatar`, `Typography` |
375
- | 36 | designSystemExtension | RichTextEditor | `designSystemExtension/RichTextEditor/` | MUI wrappers (keep editor lib) |
376
- | 37 | designSystemExtension | WssQuickCreate | `designSystemExtension/WssQuickCreate/` | `Button`, `Menu`, `MenuItem` |
377
- | 38 | template | OneColumn | `template/OneColumn/` | `Grid`, `makeStyles` |
378
-
379
- ---
380
-
381
- ### Wave 5 — Templates batch 2 (10 subagents — wait for all before Wave 6)
382
-
383
- Each uses prompt: **`replace-component`** with `componentCategory` = `template`, `designSystem` = **{{designSystem}}**
384
-
385
- | # | `componentName` | `componentPath` | MUI to replace |
386
- | --- | ------------------- | ------------------------------- | -------------------------------- |
387
- | 39 | TwoColumn | `template/TwoColumn/` | `Grid` with column ratios |
388
- | 40 | NarrowWide | `template/NarrowWide/` | `Grid` (3:9 ratio) |
389
- | 41 | WideNarrow | `template/WideNarrow/` | `Grid` (9:3 ratio) |
390
- | 42 | Details | `template/Details/` | `Grid`, `Tabs`, `Tab` |
391
- | 43 | CaseView | `template/CaseView/` | `Box`, `Grid`, `Typography` |
392
- | 44 | CaseSummary | `template/CaseSummary/` | `Box`, `Grid` |
393
- | 45 | CaseViewActionsMenu | `template/CaseViewActionsMenu/` | `Menu`, `MenuItem`, `IconButton` |
394
- | 46 | SelfServiceCaseView | `template/SelfServiceCaseView/` | `Box`, `Grid` |
395
- | 47 | AppShell | `template/AppShell/` | `Box`, layout containers |
396
- | 48 | DefaultForm | `template/DefaultForm/` | `Grid`, `Box` |
397
-
398
- ---
399
-
400
- ### Wave 6 — Templates batch 3 (10 subagents — wait for all before Wave 7)
401
-
402
- Each uses prompt: **`replace-component`** with `componentCategory` = `template`, `designSystem` = **{{designSystem}}**
403
-
404
- | # | `componentName` | `componentPath` | MUI to replace |
405
- | --- | --------------- | -------------------------- | -------------------------------- |
406
- | 49 | DefaultPage | `template/DefaultPage/` | `Grid`, `Box` |
407
- | 50 | ObjectPage | `template/ObjectPage/` | `Grid`, `Box` |
408
- | 51 | SimpleTable | `template/SimpleTable/` | `Table`, `TableRow`, `TableCell` |
409
- | 52 | ListView | `template/ListView/` | `Table`, `Pagination` |
410
- | 53 | ListPage | `template/ListPage/` | `Table`, `Box` |
411
- | 54 | DataReference | `template/DataReference/` | `Modal`/`Dialog`, `TextField` |
412
- | 55 | AdvancedSearch | `template/AdvancedSearch/` | `Dialog`, `TextField`, `Button` |
413
- | 56 | SubTabs | `template/SubTabs/` | `Tabs`, `Tab` |
414
- | 57 | BannerPage | `template/BannerPage/` | `Box`, `Typography` |
415
- | 58 | Confirmation | `template/Confirmation/` | `Box`, `Typography` |
416
-
417
- > **ListView note:** This is the largest file (~1500 lines). If the subagent hits a length limit, retry with a prompt that lists each MUI import by name.
418
-
419
- ---
420
-
421
- ### Wave 7 — Templates batch 4 (9 subagents — wait for all before Wave 8)
422
-
423
- Each uses prompt: **`replace-component`** with `componentCategory` = `template`, `designSystem` = **{{designSystem}}**
424
-
425
- | # | `componentName` | `componentPath` | MUI to replace |
426
- | --- | ----------------------- | ----------------------------------- | ------------------------------------------------------- |
427
- | 59 | HierarchicalForm | `template/HierarchicalForm/` | `Box`, `Grid` |
428
- | 60 | InlineDashboard | `template/InlineDashboard/` | `Box`, `Grid` |
429
- | 61 | InlineDashboardPage | `template/InlineDashboardPage/` | `Box`, `Grid` |
430
- | 62 | PromotedFilters | `template/PromotedFilters/` | `Box`, `Grid` |
431
- | 63 | MultiReferenceReadOnly | `template/MultiReferenceReadOnly/` | `List`, `ListItem` |
432
- | 64 | SingleReferenceReadOnly | `template/SingleReferenceReadOnly/` | `List`, `ListItem` |
433
- | 65 | FieldGroupTemplate | `template/FieldGroupTemplate/` | `Box`, `Divider` |
434
- | 66 | WssNavBar | `template/WssNavBar/` | `AppBar`, `Toolbar` |
435
- | 67 | ToDo | `widget/ToDo/` | `Card`, `List`, `Badge`, `Avatar`, `Button`, `Snackbar` |
436
-
437
- > Note: #67 (ToDo) uses `componentCategory` = `widget`
438
-
439
- ---
440
-
441
- ### Wave 8 — Widgets (8 subagents — wait for all before Wave 9)
442
-
443
- Each uses prompt: **`replace-component`** with `componentCategory` = `widget`, `designSystem` = **{{designSystem}}**
444
-
445
- | # | `componentName` | `componentPath` | MUI to replace |
446
- | --- | --------------- | ------------------------- | ---------------------------------------------- |
447
- | 68 | Attachment | `widget/Attachment/` | `Button`, `Dialog`, `Table`, `IconButton` |
448
- | 69 | CaseHistory | `widget/CaseHistory/` | `Table`, `TableRow`, `TableCell`, `Typography` |
449
- | 70 | FileUtility | `widget/FileUtility/` | `Button`, `IconButton`, `List`, `Dialog` |
450
- | 71 | Followers | `widget/Followers/` | `List`, `ListItem`, `Avatar`, `Button` |
451
- | 72 | QuickCreate | `widget/QuickCreate/` | `Button`, `Menu`, `MenuItem` |
452
- | 73 | SummaryItem | `widget/SummaryItem/` | `Card`, `CardContent`, `Typography` |
453
- | 74 | SummaryList | `widget/SummaryList/` | `List`, `ListItem` |
454
- | 75 | AppAnnouncement | `widget/AppAnnouncement/` | `Alert`, `Snackbar` |
455
-
456
- ---
457
-
458
- ### Wave 9 — Infra (6 subagents)
459
-
460
- Each uses prompt: **`replace-component`** with `componentCategory` = `infra`, `designSystem` = **{{designSystem}}**
461
-
462
- | # | `componentName` | `componentPath` | MUI to replace |
463
- | --- | --------------- | ------------------------ | ----------------------------------------------- |
464
- | 76 | ActionButtons | `infra/ActionButtons/` | `Button`, `Stack`, `Divider` |
465
- | 77 | DashboardFilter | `infra/DashboardFilter/` | `Select`, `MenuItem`, `Box` |
466
- | 78 | DeferLoad | `infra/DeferLoad/` | `CircularProgress`, `Box` |
467
- | 79 | NavBar | `infra/NavBar/` | `AppBar`, `Toolbar`, `Button`, `Menu`, `Avatar` |
468
- | 80 | Stages | `infra/Stages/` | `Stepper`, `Step`, `StepLabel`, `makeStyles` |
469
- | 81 | VerticalTabs | `infra/VerticalTabs/` | `Tabs`, `Tab`, `Box` |
470
-
471
- ---
472
-
473
- ## Phase 3: Cleanup (sequential — after ALL 9 waves complete)
474
-
475
- ### 3.1 Remove MUI dependencies
476
-
477
- ```bash
478
- npm uninstall @mui/material @mui/icons-material @mui/styles @mui/x-date-pickers @emotion/react @emotion/styled
479
- ```
480
-
481
- Keep `@mui/x-date-pickers` and `@emotion/*` ONLY if {{designSystem}} doesn't provide a date picker.
482
-
483
- ### 3.2 Remove remaining MUI imports
484
-
485
- Search all files for leftover `@mui/*` imports AND `makeStyles` calls. Fix any stragglers.
486
-
487
- ### 3.3 Remove MUI theme augmentation
488
-
489
- Delete `src/mui-theme-augmentation.d.ts` if it exists.
490
-
491
- ### 3.4 Verify build
492
-
493
- Run `npm run build` — fix ALL TypeScript errors until clean.
494
-
495
- > **Note:** A passing build does not catch undefined-component runtime errors. Components removed from JSX imports but still referenced in JSX will only fail at render time.
496
-
497
- ### 3.5 Verify runtime
498
-
499
- Run `npm run dev` and exercise:
500
-
501
- - App loads without console errors
502
- - Open a **ListView** (table with pagination)
503
- - Open a **ToDo widget**
504
- - Open a **form with Dropdown and Date fields**
505
- - Trigger a **Create Case** flow end-to-end
506
- - Open a record in **read-only / Details view** (exercises FieldValueList)
507
- - Confirm validation messages appear on required fields
508
-
509
- If any `ReferenceError: X is not defined` appears in the console, a component was removed from imports but its JSX usage was not updated. Fix and re-verify.
510
-
511
- ---
512
-
513
- ## Critical Rules — NEVER violate these
514
-
515
- 1. **NEVER modify `@pega/sdk-react` imports or behavior**
516
- 2. **NEVER remove `handleEvent(actions, 'changeNblur', propName, value)` calls**
517
- 3. **NEVER remove `getPConnect()` prop extraction**
518
- 4. **NEVER remove `displayMode` handling in field components**
519
- 5. **NEVER modify `src/components/helpers/event-utils.ts`**
520
- 6. **NEVER change the `...sdkComponents` spread in `component-map.ts`**
521
- 7. **NEVER remove `data-test-id` attributes**
522
- 8. **NEVER modify PCore.\* API calls**
523
- 9. **KEEP the same default export function names** — component-map.ts imports depend on them
524
- 10. **KEEP the same file/directory structure** — only file content changes, not paths