@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,75 +0,0 @@
1
- <!-- Applies to: src/components/designSystemExtension/**/*.tsx -->
2
-
3
- # Design System Extension Component Rules
4
-
5
- When creating or modifying DSE components, follow these rules:
6
-
7
- ## What Are DSE Components?
8
-
9
- Design System Extension components are display-focused presentational components. They sit between pure UI and data-fetching widgets. Some receive `getPConnect`, others receive only display props.
10
-
11
- ## Patterns
12
-
13
- ### Pattern A: With PConnect (data-aware display)
14
-
15
- Used for: FieldValueList, CaseSummaryFields, DetailsFields
16
-
17
- ```typescript
18
- import type { PConnProps } from '@pega/sdk-react';
19
-
20
- interface FieldValueListProps extends PConnProps {
21
- name?: string;
22
- value?: string;
23
- variant?: 'stacked' | 'inline';
24
- }
25
-
26
- export default function FieldValueList(props: FieldValueListProps) {
27
- const { name, value, variant = 'inline' } = props;
28
- // Render a label-value pair
29
- }
30
- ```
31
-
32
- ### Pattern B: Without PConnect (pure presentation)
33
-
34
- Used for: AlertBanner, Banner, Operator
35
-
36
- ```typescript
37
- interface AlertBannerProps {
38
- variant: 'urgent' | 'warning' | 'info' | 'success';
39
- heading?: string;
40
- messages: Array<string | { label?: string; description?: string }>;
41
- onClose?: () => void;
42
- }
43
-
44
- export default function AlertBanner(props: AlertBannerProps) {
45
- // Render an alert/notification banner
46
- }
47
- ```
48
-
49
- ### Pattern C: Rich editor (extends PConnFieldProps)
50
-
51
- Used for: RichTextEditor
52
-
53
- ```typescript
54
- import type { PConnFieldProps } from '@pega/sdk-react';
55
-
56
- interface RichTextEditorProps extends PConnFieldProps {
57
- content?: string;
58
- }
59
- ```
60
-
61
- ## Visual Preservation
62
-
63
- The replacement must look the same as the original component:
64
-
65
- 1. **Read any `.css` file in the directory first.** Note every class's visual intent (spacing, sizing, colors, layout).
66
- 2. Replicate those styles via inline `style` props, the new design system's props/variants, or by keeping the CSS import — whichever produces the closest match.
67
- 3. Do NOT silently drop `makeStyles` classes — map each one to an equivalent style.
68
-
69
- ## Key Rules
70
-
71
- - DSE components are the **most commonly referenced by other components** via `getComponentFromRegistry('FieldValueList')` — every field uses FieldValueList for display modes
72
- - Keep the same export name (default export) and prop interface shape
73
- - If you replace FieldValueList, ensure it accepts `name`, `value`, and optional `variant` props
74
- - AlertBanner must handle the `messages` array format (both strings and `{label, description}` objects)
75
- - Do NOT drop visual styles when removing `makeStyles` — always map them to an equivalent
@@ -1,75 +0,0 @@
1
- <!-- Applies to: src/components/field/**/*.tsx -->
2
-
3
- # Field Component Rules
4
-
5
- When creating or modifying field components, follow these rules:
6
-
7
- ## Required Structure
8
-
9
- 1. **Import types from `@pega/sdk-react`**:
10
-
11
- ```typescript
12
- import type { PConnFieldProps } from '@pega/sdk-react';
13
- ```
14
-
15
- 2. **Define a props interface extending `PConnFieldProps`**:
16
-
17
- ```typescript
18
- interface MyFieldProps extends PConnFieldProps {
19
- // additional props specific to this field
20
- }
21
- ```
22
-
23
- 3. **Export as default function component**:
24
- ```typescript
25
- export default function MyField(props: MyFieldProps) { ... }
26
- ```
27
-
28
- ## Required Behaviors
29
-
30
- 1. **Extract standard props**: `getPConnect`, `label`, `required`, `disabled`, `value`, `validatemessage`, `status`, `readOnly`, `testId`, `helperText`, `displayMode`, `hideLabel`, `placeholder`
31
-
32
- 2. **Get PConnect APIs**:
33
-
34
- ```typescript
35
- const pConn = getPConnect();
36
- const actions = pConn.getActionsApi();
37
- const propName = (pConn.getStateProps() as any).value;
38
- ```
39
-
40
- 3. **Handle displayMode** (MUST be before the main return):
41
-
42
- ```typescript
43
- if (displayMode === 'DISPLAY_ONLY') {
44
- return <FieldValueList name={hideLabel ? '' : label} value={value} />;
45
- }
46
- if (displayMode === 'STACKED_LARGE_VAL') {
47
- return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;
48
- }
49
- ```
50
-
51
- 4. **Use local state + blur pattern**:
52
- - `onChange` → update local state only
53
- - `onBlur` → call `handleEvent(actions, 'changeNblur', propName, localValue)`
54
-
55
- 5. **Show validation**: Display `validatemessage` and apply error styling when `status === 'error'`
56
-
57
- 6. **Pass test ID**: Set `data-test-id={testId}` on the interactive element
58
-
59
- 7. **Use `getComponentFromRegistry('FieldValueList')`** — never hardcode FieldValueList import
60
-
61
- ## Visual Preservation
62
-
63
- The replacement must look the same as the original component:
64
-
65
- 1. **Read any `.css` file in the directory first.** Note every class's visual intent (spacing, sizing, colors, layout).
66
- 2. Replicate those styles via inline `style` props, {{designSystem}} component props/variants, or by keeping the CSS import — whichever produces the closest match.
67
- 3. Do NOT silently drop `makeStyles` classes — map each one to an equivalent style.
68
-
69
- ## Do NOT
70
-
71
- - Skip `displayMode` handling — it breaks read-only views
72
- - Call `handleEvent` on every keystroke — only on blur
73
- - Hardcode component imports for components that exist in the registry
74
- - Remove the `handleEvent` import from `../../helpers/event-utils`
75
- - Drop visual styles when removing `makeStyles` — always map them to an equivalent
@@ -1,93 +0,0 @@
1
- <!-- Applies to: src/components/template/**/*.tsx -->
2
-
3
- # Template Component Rules
4
-
5
- When creating or modifying template/layout components, follow these rules:
6
-
7
- ## Required Structure
8
-
9
- 1. **Import types from `@pega/sdk-react`**:
10
-
11
- ```typescript
12
- import type { PConnProps } from '@pega/sdk-react';
13
- ```
14
-
15
- 2. **Export as default function component**:
16
- ```typescript
17
- export default function MyTemplate(props: MyTemplateProps) { ... }
18
- ```
19
-
20
- ## Template Categories
21
-
22
- ### Layout Templates (TwoColumn, OneColumn, NarrowWide, WideNarrow)
23
-
24
- Receive React `children` directly:
25
-
26
- ```typescript
27
- import type { PropsWithChildren, ReactElement } from 'react';
28
-
29
- interface TwoColumnProps extends PConnProps {
30
- templateCol?: string; // e.g. "1fr 1fr", "2fr 1fr"
31
- }
32
-
33
- export default function TwoColumn(props: PropsWithChildren<TwoColumnProps>) {
34
- const { children, templateCol = '1fr 1fr' } = props;
35
- const childrenToRender = children as ReactElement[];
36
- // Render childrenToRender[0], childrenToRender[1], etc. in grid columns
37
- }
38
- ```
39
-
40
- ### Form/View Templates (DefaultForm, Details, CaseView)
41
-
42
- Render children via `getPConnect().getChildren()`:
43
-
44
- ```typescript
45
- export default function DefaultForm(props: DefaultFormProps) {
46
- const { getPConnect } = props;
47
- const pConn = getPConnect();
48
- const children = pConn.getChildren() as any[];
49
-
50
- return (
51
- <div>
52
- {children.map((child, i) => (
53
- <PConnectComponent key={i} getPConnect={() => child.getPConnect()} />
54
- ))}
55
- </div>
56
- );
57
- }
58
- ```
59
-
60
- ### Page Templates (OneColumnPage, TwoColumnPage)
61
-
62
- Wrap a layout with page-level chrome (title, actions):
63
-
64
- ```typescript
65
- export default function OneColumnPage(props: PageProps) {
66
- const { getPConnect, children } = props;
67
- const pConn = getPConnect();
68
- const title = pConn.getDataObject('')?.caseInfo?.name;
69
-
70
- return (
71
- <div>
72
- <h1>{title}</h1>
73
- {children}
74
- </div>
75
- );
76
- }
77
- ```
78
-
79
- ## Visual Preservation
80
-
81
- The replacement must look the same as the original component:
82
-
83
- 1. **Read any `.css` file in the directory first.** Note every class's visual intent (spacing, sizing, colors, layout).
84
- 2. Replicate those styles via inline `style` props, the new design system's layout props, or by keeping the CSS import — whichever produces the closest match.
85
- 3. Do NOT silently drop `makeStyles` classes — map each one to an equivalent style.
86
-
87
- ## Key Rules
88
-
89
- - Use `PConnectComponent` from `@pega/sdk-react` to render PConnect children
90
- - Grid proportions come from `templateCol` prop — parse it to calculate column ratios
91
- - Templates must not call `handleEvent` or interact with field state
92
- - Templates are layout-only — they arrange, not edit
93
- - Do NOT drop column gap, padding, or alignment styles when removing MUI `Grid` — replicate them in the replacement layout
@@ -1,88 +0,0 @@
1
- <!-- Applies to: src/components/widget/**/*.tsx -->
2
-
3
- # Widget Component Rules
4
-
5
- When creating or modifying widget components, follow these rules:
6
-
7
- ## Required Structure
8
-
9
- 1. **Import types from `@pega/sdk-react`**:
10
-
11
- ```typescript
12
- import type { PConnProps } from '@pega/sdk-react';
13
- // or PConnFieldProps if the widget behaves like a field (e.g., Attachment)
14
- ```
15
-
16
- 2. **Export as default function component**:
17
- ```typescript
18
- export default function MyWidget(props: MyWidgetProps) { ... }
19
- ```
20
-
21
- ## Widget Patterns
22
-
23
- ### Data-Fetching Widget (ToDo, CaseHistory, Followers)
24
-
25
- Fetches data from Pega data pages on mount:
26
-
27
- ```typescript
28
- export default function MyWidget(props: MyWidgetProps) {
29
- const { getPConnect, datasource, headerText } = props;
30
- const pConn = getPConnect();
31
- const [data, setData] = useState<any[]>([]);
32
-
33
- useEffect(() => {
34
- const context = pConn.getContextName();
35
- PCore.getDataPageUtils()
36
- .getDataAsync(datasource?.source, context, {})
37
- .then((response: any) => {
38
- setData(response.data || []);
39
- });
40
- }, []);
41
-
42
- return (
43
- <Card>
44
- <CardHeader title={headerText} />
45
- <CardContent>{/* render data */}</CardContent>
46
- </Card>
47
- );
48
- }
49
- ```
50
-
51
- ### Action Widget (ToDo)
52
-
53
- Triggers case actions:
54
-
55
- ```typescript
56
- // Get assignments and trigger actions
57
- import { getToDoAssignments } from '@pega/sdk-react';
58
-
59
- const assignments = getToDoAssignments(getPConnect);
60
- // Each assignment has: onClick callback, urgency, name, etc.
61
- ```
62
-
63
- ### File Widget (Attachment, FileUtility)
64
-
65
- Handles file upload/download via PCore attachment APIs:
66
-
67
- ```typescript
68
- PCore.getAttachmentUtils().uploadAttachment(file, onUploadProgress, errorHandler, context);
69
- PCore.getAttachmentUtils().downloadAttachment(attachmentId, context);
70
- ```
71
-
72
- ## Visual Preservation
73
-
74
- The replacement must look the same as the original component:
75
-
76
- 1. **Read any `.css` file in the directory first.** Note every class's visual intent (spacing, sizing, colors, layout).
77
- 2. Replicate those styles via inline `style` props, the new design system's component props/variants, or by keeping the CSS import — whichever produces the closest match.
78
- 3. Do NOT silently drop `makeStyles` classes — map each one to an equivalent style.
79
-
80
- ## Key Rules
81
-
82
- - Widgets are self-contained — they manage their own data fetching
83
- - Use `PCore.getDataPageUtils()` for data page access
84
- - Use `PCore.getAttachmentUtils()` for file operations
85
- - Always handle loading and error states
86
- - Widgets may use `PCore.getPubSubUtils()` to subscribe to events
87
- - Clean up subscriptions in `useEffect` return function
88
- - Do NOT drop card padding, list item spacing, or avatar sizing when removing MUI components — replicate them in the replacement
@@ -1,152 +0,0 @@
1
- ## Step 0 — Resolve missing information
2
-
3
- Read the user's message carefully. Extract:
4
-
5
- - **Component name** — the exact name (e.g. `AutoComplete`, `DatePicker`)
6
- - **Component type** — one of: `field` | `template` | `widget` | `designSystemExtension`
7
- - **Design system** — the UI library to use (e.g. `Ant Design`, `Chakra UI`, `Carbon`, `Radix UI`)
8
- - **Output path** — the exact or relative path where the component should be generated (e.g. `src/components/field/AutoComplete`)
9
-
10
- If any of the four are missing or ambiguous, ask the user all unresolved items in **one numbered list** and wait for their answers before continuing. Do not guess or proceed with assumptions.
11
-
12
- Example questions to ask (only ask the ones that are actually missing):
13
-
14
- 1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
15
- 2. What is the exact component name?
16
- 3. What type of component is this? (field / template / widget / designSystemExtension)
17
- 4. What is the exact or relative path where the component should be generated? (e.g. `src/components/field/AutoComplete`)
18
-
19
- ### Case-insensitive component name matching
20
-
21
- The user may enter the component name in any casing (e.g. `autocomplete`, `Autocomplete`, `autoComplete`). It is your responsibility to match it to the correct canonical name by checking the skill files in `.claude/skills/field-skills/`, `.claude/skills/template-skills/`, `.claude/skills/widget-skills/`, and `.claude/skills/design-system-extension-skills/`. For example, if the user types `autocomplete`, match it to `AutoComplete`.
22
-
23
- Once all four are known, continue to Step 1.
24
-
25
- ---
26
-
27
- ## Step 1 — Check for existing component (overwrite check)
28
-
29
- Before generating, check if a component already exists at the resolved output path:
30
-
31
- 1. Check if `<outputPath>/<ComponentName>.tsx` (or the directory) already exists.
32
- 2. If it **does exist**, ask the user: _"A component named `<ComponentName>` already exists at `<outputPath>`. Do you want to overwrite it with the new implementation?"_
33
- - If the user says **yes**, proceed to overwrite.
34
- - If the user says **no**, stop and skip generation.
35
- 3. If it **does not exist**, continue to Step 2.
36
-
37
- ---
38
-
39
- ## Step 2 — Check for skill files
40
-
41
- Always read the **general type skill** for the component type:
42
-
43
- | Component Type | General Skill File |
44
- | ----------------------- | ------------------------------------------- |
45
- | `field` | `.claude/skills/field-components.md` |
46
- | `template` | `.claude/skills/template-components.md` |
47
- | `widget` | `.claude/skills/widget-components.md` |
48
- | `designSystemExtension` | `.claude/skills/design-system-extension.md` |
49
-
50
- Then look for a **component-specific skill** based on the component type:
51
-
52
- | Component Type | Specific Skill Location |
53
- | ----------------------- | ------------------------------------------------------------------ |
54
- | `field` | `.claude/skills/field-skills/<ComponentName>.md` |
55
- | `template` | `.claude/skills/template-skills/<ComponentName>.md` |
56
- | `widget` | `.claude/skills/widget-skills/<ComponentName>.md` |
57
- | `designSystemExtension` | `.claude/skills/design-system-extension-skills/<ComponentName>.md` |
58
-
59
- If the component-specific skill file exists, read it fully. Pay special attention to:
60
-
61
- - **Behavioral Contract** — state management, event handling, option loading, edge cases
62
- - **Design System Mapping** table — the recommended component for the chosen design system
63
-
64
- You must read **both** the general type skill and the component-specific skill (if it exists) before proceeding.
65
-
66
- Examples:
67
-
68
- - `AutoComplete` (field) → read `field-components.md` + `field-skills/AutoComplete.md`
69
- - `AdvancedSearch` (template) → read `template-components.md` + `template-skills/AdvancedSearch.md`
70
- - `AppAnnouncement` (widget) → read `widget-components.md` + `widget-skills/AppAnnouncement.md`
71
- - `AlertBanner` (designSystemExtension) → read `design-system-extension.md` + `design-system-extension-skills/AlertBanner.md`
72
-
73
- If no component-specific skill file exists, continue using the general pattern from the type skill.
74
-
75
- ---
76
-
77
- ## Step 3 — Check and install dependencies
78
-
79
- Run:
80
-
81
- ```
82
- cat package.json | grep "<design-system-package>"
83
- ```
84
-
85
- If the design system package is **not** listed in `dependencies` or `devDependencies`, install it:
86
-
87
- ```
88
- npm install <design-system-package>
89
- ```
90
-
91
- Also install any peer dependencies documented in the package's README. Report what was installed.
92
-
93
- ---
94
-
95
- ## Step 4 — Discover the design system's API
96
-
97
- Before writing any code, inspect the installed package:
98
-
99
- 1. `cat node_modules/<designSystem>/README.md` — note the correct import path and usage patterns for the installed version.
100
- 2. `grep "^export" node_modules/<designSystem>/dist/index.d.ts 2>/dev/null || grep -rl "^export" node_modules/<designSystem> --include="index.d.ts" | head -3 | xargs grep "^export"` — lists every component actually exported by the installed version.
101
- 3. For every component you plan to use, read its TypeScript prop interface from the installed `.d.ts`:
102
- `find node_modules/<designSystem> -name "ComponentName.d.ts" | head -3`, then `grep -A 40 "interface.*Props"` on the result.
103
- 4. Only use component names and prop names confirmed in those files. Do not rely on training knowledge of the API.
104
-
105
- Also check:
106
-
107
- - Whether the design system has a **form layout wrapper** (label + input + helper text) — use it instead of manual margins
108
- - Whether it has **size/density/variant conventions** — use built-in props rather than custom padding
109
- - Whether it has a **companion icons package** — read its exports before using any icon name; never guess icon names
110
- - Whether it has a **tokens or CSS directory** — use design system CSS custom properties for spacing; never hardcode `px` values
111
-
112
- ---
113
-
114
- ## Step 5 — Generate the component
115
-
116
- Create the component directory at the resolved output path (from Step 0).
117
-
118
- Create `<ComponentName>.tsx` using the pattern for the component type:
119
-
120
- - **field**: Extend `PConnFieldProps` from `@pega/sdk-react`. Extract `getPConnect`, `label`, `required`, `disabled`, `value`, `validatemessage`, `status`, `readOnly`, `testId`, `helperText`, `displayMode`, `hideLabel`, `placeholder`. Call `handleEvent(actions, 'changeNblur', propName, value)` on blur. Handle `displayMode === 'DISPLAY_ONLY'` and `'STACKED_LARGE_VAL'` using `getComponentFromRegistry('FieldValueList')`. Show `validatemessage` when `status === 'error'`. Pass `data-test-id={testId}` on the interactive element.
121
- - **template**: Extend `PConnProps`, render children via the design system's grid/layout primitives
122
- - **widget**: Extend `PConnProps`, fetch data via `PCore.getDataPageUtils()`
123
- - **designSystemExtension**: Pure display props or extend `PConnProps`
124
-
125
- Create `index.tsx`:
126
-
127
- ```typescript
128
- export { default } from './<ComponentName>';
129
- ```
130
-
131
- ---
132
-
133
- ## Step 6 — Register in component-map.ts
134
-
135
- Edit `src/components/component-map.ts`:
136
-
137
- 1. Add the import at the top of the file, in the correct section (Fields / Templates / Widgets / Design System Extension)
138
- 2. Add an entry in `getSampleComponentMap()` under the matching category comment
139
-
140
- Do not restructure or reorder any existing entries.
141
-
142
- ---
143
-
144
- ## Step 7 — Verify the build
145
-
146
- Run:
147
-
148
- ```
149
- npm run build
150
- ```
151
-
152
- If build errors occur, fix them before reporting completion. Report what files were created and what was added to `component-map.ts`.
@@ -1,193 +0,0 @@
1
- {
2
- "folderScopes": {
3
- "field": "src/components/field",
4
- "template": "src/components/template",
5
- "widget": "src/components/widget",
6
- "infra": "src/components/infra",
7
- "designSystemExtension": "src/components/designSystemExtension"
8
- },
9
- "namedScopes": {
10
- "workflow-form": {
11
- "folders": ["field"],
12
- "components": [
13
- {
14
- "name": "Stages",
15
- "category": "infra",
16
- "path": "src/components/infra/Stages"
17
- }
18
- ]
19
- }
20
- },
21
- "components": {
22
- "field": [
23
- { "name": "AutoComplete", "path": "src/components/field/AutoComplete" },
24
- { "name": "CancelAlert", "path": "src/components/field/CancelAlert" },
25
- { "name": "Checkbox", "path": "src/components/field/Checkbox" },
26
- { "name": "Currency", "path": "src/components/field/Currency" },
27
- { "name": "Date", "path": "src/components/field/Date" },
28
- { "name": "DateTime", "path": "src/components/field/DateTime" },
29
- { "name": "Decimal", "path": "src/components/field/Decimal" },
30
- { "name": "Dropdown", "path": "src/components/field/Dropdown" },
31
- { "name": "Email", "path": "src/components/field/Email" },
32
- { "name": "Group", "path": "src/components/field/Group" },
33
- { "name": "Integer", "path": "src/components/field/Integer" },
34
- { "name": "Location", "path": "src/components/field/Location" },
35
- { "name": "Multiselect", "path": "src/components/field/Multiselect" },
36
- {
37
- "name": "ObjectReference",
38
- "path": "src/components/field/ObjectReference"
39
- },
40
- { "name": "Percentage", "path": "src/components/field/Percentage" },
41
- { "name": "Phone", "path": "src/components/field/Phone" },
42
- { "name": "RadioButtons", "path": "src/components/field/RadioButtons" },
43
- { "name": "RichText", "path": "src/components/field/RichText" },
44
- { "name": "ScalarList", "path": "src/components/field/ScalarList" },
45
- {
46
- "name": "SelectableCard",
47
- "path": "src/components/field/SelectableCard"
48
- },
49
- { "name": "SemanticLink", "path": "src/components/field/SemanticLink" },
50
- { "name": "TextArea", "path": "src/components/field/TextArea" },
51
- { "name": "TextContent", "path": "src/components/field/TextContent" },
52
- { "name": "TextInput", "path": "src/components/field/TextInput" },
53
- { "name": "Time", "path": "src/components/field/Time" },
54
- { "name": "URL", "path": "src/components/field/URL" },
55
- { "name": "UserReference", "path": "src/components/field/UserReference" }
56
- ],
57
- "template": [
58
- {
59
- "name": "AdvancedSearch",
60
- "path": "src/components/template/AdvancedSearch"
61
- },
62
- { "name": "AppShell", "path": "src/components/template/AppShell" },
63
- { "name": "BannerPage", "path": "src/components/template/BannerPage" },
64
- { "name": "CaseSummary", "path": "src/components/template/CaseSummary" },
65
- { "name": "CaseView", "path": "src/components/template/CaseView" },
66
- {
67
- "name": "CaseViewActionsMenu",
68
- "path": "src/components/template/CaseViewActionsMenu"
69
- },
70
- {
71
- "name": "Confirmation",
72
- "path": "src/components/template/Confirmation"
73
- },
74
- {
75
- "name": "DataReference",
76
- "path": "src/components/template/DataReference"
77
- },
78
- { "name": "DefaultForm", "path": "src/components/template/DefaultForm" },
79
- { "name": "DefaultPage", "path": "src/components/template/DefaultPage" },
80
- { "name": "Details", "path": "src/components/template/Details" },
81
- {
82
- "name": "FieldGroupTemplate",
83
- "path": "src/components/template/FieldGroupTemplate"
84
- },
85
- {
86
- "name": "HierarchicalForm",
87
- "path": "src/components/template/HierarchicalForm"
88
- },
89
- {
90
- "name": "InlineDashboard",
91
- "path": "src/components/template/InlineDashboard"
92
- },
93
- {
94
- "name": "InlineDashboardPage",
95
- "path": "src/components/template/InlineDashboardPage"
96
- },
97
- { "name": "ListPage", "path": "src/components/template/ListPage" },
98
- { "name": "ListView", "path": "src/components/template/ListView" },
99
- {
100
- "name": "MultiReferenceReadOnly",
101
- "path": "src/components/template/MultiReferenceReadOnly"
102
- },
103
- { "name": "NarrowWide", "path": "src/components/template/NarrowWide" },
104
- { "name": "ObjectPage", "path": "src/components/template/ObjectPage" },
105
- { "name": "OneColumn", "path": "src/components/template/OneColumn" },
106
- {
107
- "name": "PromotedFilters",
108
- "path": "src/components/template/PromotedFilters"
109
- },
110
- {
111
- "name": "SelfServiceCaseView",
112
- "path": "src/components/template/SelfServiceCaseView"
113
- },
114
- { "name": "SimpleTable", "path": "src/components/template/SimpleTable" },
115
- {
116
- "name": "SingleReferenceReadOnly",
117
- "path": "src/components/template/SingleReferenceReadOnly"
118
- },
119
- { "name": "SubTabs", "path": "src/components/template/SubTabs" },
120
- { "name": "TwoColumn", "path": "src/components/template/TwoColumn" },
121
- { "name": "WideNarrow", "path": "src/components/template/WideNarrow" },
122
- { "name": "WssNavBar", "path": "src/components/template/WssNavBar" }
123
- ],
124
- "widget": [
125
- {
126
- "name": "AppAnnouncement",
127
- "path": "src/components/widget/AppAnnouncement"
128
- },
129
- { "name": "Attachment", "path": "src/components/widget/Attachment" },
130
- { "name": "CaseHistory", "path": "src/components/widget/CaseHistory" },
131
- { "name": "FileUtility", "path": "src/components/widget/FileUtility" },
132
- { "name": "Followers", "path": "src/components/widget/Followers" },
133
- { "name": "QuickCreate", "path": "src/components/widget/QuickCreate" },
134
- { "name": "SummaryItem", "path": "src/components/widget/SummaryItem" },
135
- { "name": "SummaryList", "path": "src/components/widget/SummaryList" },
136
- { "name": "ToDo", "path": "src/components/widget/ToDo" }
137
- ],
138
- "infra": [
139
- { "name": "ActionButtons", "path": "src/components/infra/ActionButtons" },
140
- {
141
- "name": "DashboardFilter",
142
- "path": "src/components/infra/DashboardFilter"
143
- },
144
- { "name": "DeferLoad", "path": "src/components/infra/DeferLoad" },
145
- { "name": "NavBar", "path": "src/components/infra/NavBar" },
146
- { "name": "Stages", "path": "src/components/infra/Stages" },
147
- { "name": "VerticalTabs", "path": "src/components/infra/VerticalTabs" }
148
- ],
149
- "designSystemExtension": [
150
- {
151
- "name": "AlertBanner",
152
- "path": "src/components/designSystemExtension/AlertBanner"
153
- },
154
- {
155
- "name": "Banner",
156
- "path": "src/components/designSystemExtension/Banner"
157
- },
158
- {
159
- "name": "CaseSummaryFields",
160
- "path": "src/components/designSystemExtension/CaseSummaryFields"
161
- },
162
- {
163
- "name": "DetailsFields",
164
- "path": "src/components/designSystemExtension/DetailsFields"
165
- },
166
- {
167
- "name": "FieldGroup",
168
- "path": "src/components/designSystemExtension/FieldGroup"
169
- },
170
- {
171
- "name": "FieldGroupList",
172
- "path": "src/components/designSystemExtension/FieldGroupList"
173
- },
174
- {
175
- "name": "FieldValueList",
176
- "path": "src/components/designSystemExtension/FieldValueList"
177
- },
178
- {
179
- "name": "Operator",
180
- "path": "src/components/designSystemExtension/Operator"
181
- },
182
- { "name": "Pulse", "path": "src/components/designSystemExtension/Pulse" },
183
- {
184
- "name": "RichTextEditor",
185
- "path": "src/components/designSystemExtension/RichTextEditor"
186
- },
187
- {
188
- "name": "WssQuickCreate",
189
- "path": "src/components/designSystemExtension/WssQuickCreate"
190
- }
191
- ]
192
- }
193
- }