@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,6 +1,5 @@
1
1
  ---
2
- agent: agent
3
- description: Generate all (or a subset of) field components using any design system
2
+ ai-description: Generate all (or a subset of) field components using any design system
4
3
  ---
5
4
 
6
5
  ## Step 0 — Resolve inputs
@@ -11,7 +10,7 @@ Read the user's message carefully. Extract:
11
10
  - **Output base path** — the folder where field components should be generated (e.g. `src/components/field/`, `app/ui/fields/`)
12
11
  - **Component list** — which components to generate (default: all 27 listed below)
13
12
 
14
- Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `.instructions.md` files, existing folders, or any other source.
13
+ Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `{{AI_FILE_EXT}}` files, existing folders, or any other source.
15
14
 
16
15
  ⛔ **STOP** — If the user's message does not explicitly state BOTH the design system AND the output path, ask for the missing items now. Do not proceed to Step 1 until you have explicit answers from the user for all required inputs.
17
16
 
@@ -60,7 +59,7 @@ Once both are known, continue to Step 1.
60
59
 
61
60
  ## Step 1 — Read `field-components.md` (once, for the entire session)
62
61
 
63
- Read the full contents of `.github/skills/field-components.md`.
62
+ Read the full contents of `{{SKILL_DIR}}/field-components.md`.
64
63
 
65
64
  This gives you:
66
65
 
@@ -90,7 +89,29 @@ npm install <design-system-package>
90
89
 
91
90
  Also install any peer dependencies documented in the package's README. Report what was installed.
92
91
 
93
- ### 2b — Discover the DS API from installed files
92
+ ### 2a.1 — Install the DS styles package and configure global CSS (MANDATORY)
93
+
94
+ Design systems require their global stylesheet — without it, components render unstyled.
95
+
96
+ #### Known DS style requirements (examples — verify from README for exact paths):
97
+
98
+ | Design System | Styles Package (example) | CSS Import in `src/main.tsx` (example) | Provider Wrapper (example) |
99
+ | ------------- | ------------------------ | ---------------------------------------- | -------------------------- |
100
+ | Carbon | `@carbon/styles` | `import '@carbon/react/css/styles.css';` | `<Theme>` |
101
+ | Ant Design | (included) | `import 'antd/dist/reset.css';` | `<ConfigProvider>` |
102
+ | Radix Themes | `@radix-ui/themes` | `import '@radix-ui/themes/styles.css';` | `<Theme>` |
103
+ | Chakra UI | (included) | (none — runtime) | `<ChakraProvider>` |
104
+ | Shadcn/ui | (Tailwind) | `import './globals.css';` | None |
105
+ | MUI | (included) | (none — CSS-in-JS) | `<ThemeProvider>` |
106
+
107
+ These are **examples** based on common versions. Always verify the exact import path and provider name from the installed package's README (`node_modules/<ds>/README.md`).
108
+
109
+ If in table: install styles package (if separate), add CSS import as **first import** in `src/main.tsx`, add Provider in `src/AppProviders.tsx`.
110
+ If not in table: check README and `find node_modules/<ds> -name "*.css" -path "*/dist/*" | head -5`.
111
+
112
+ Verification: `grep -n "import.*css\|import.*styles" src/main.tsx` must return a result. Do NOT proceed until confirmed.
113
+
114
+ Report what was installed and configured.
94
115
 
95
116
  Run these commands to discover the actual API (do NOT rely on training knowledge):
96
117
 
@@ -149,7 +170,7 @@ For each component in the resolved list (in the order listed in Step 0):
149
170
 
150
171
  ### 4a — Read the component-specific skill file (MANDATORY — do not skip)
151
172
 
152
- Read the file `.github/skills/field-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `field-components.md`.
173
+ Read the file `{{SKILL_DIR}}/field-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `field-components.md`.
153
174
 
154
175
  After reading, extract and keep active:
155
176
 
@@ -194,19 +215,14 @@ Edit `src/components/component-map.ts`:
194
215
  <ComponentName>,
195
216
  ```
196
217
 
197
- Do not reorder or restructure any existing entries.
198
-
199
- ### 4d — Batch checkpoint
218
+ ⚠️ **Key name exceptions for fields** — these MUST use explicit key mapping:
200
219
 
201
- After every **5 components**, run:
220
+ - `Date: DateField` (not `DateField,`) — `Date` is a reserved JS global
221
+ - `URL: URLComponent` (not `URLComponent,`) — `URL` is a reserved JS global
202
222
 
203
- ```bash
204
- npm run build
205
- ```
206
-
207
- Fix any TypeScript or build errors before continuing to the next component. This prevents error accumulation.
223
+ Do not reorder or restructure any existing entries.
208
224
 
209
- ### 4e — Report progress
225
+ ### 4d — Report progress
210
226
 
211
227
  After each component: "`<ComponentName>` ✓ — using `<DS component name>`"
212
228
 
@@ -1,6 +1,5 @@
1
1
  ---
2
- agent: agent
3
- description: Generate all (or a subset of) template components using any design system
2
+ ai-description: Generate all (or a subset of) template components using any design system
4
3
  ---
5
4
 
6
5
  ## Step 0 — Resolve inputs
@@ -11,7 +10,7 @@ Read the user's message carefully. Extract:
11
10
  - **Output base path** — the folder where template components should be generated (e.g. `src/components/template/`)
12
11
  - **Component list** — which templates to generate (default: all 32 listed below)
13
12
 
14
- Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `.instructions.md` files, existing folders, or any other source.
13
+ Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `{{AI_FILE_EXT}}` files, existing folders, or any other source.
15
14
 
16
15
  ⛔ **STOP** — If the user's message does not explicitly state BOTH the design system AND the output path, ask for the missing items now. Do not proceed to Step 1 until you have explicit answers from the user for all required inputs.
17
16
 
@@ -62,19 +61,21 @@ Once both are known, continue to Step 1.
62
61
  | TwoColumn | Layout |
63
62
  | WideNarrow | Layout |
64
63
  | WssNavBar | Navigation |
64
+ | SearchForm | Form |
65
+ | SearchGroups | Form |
65
66
 
66
67
  ---
67
68
 
68
69
  ## Step 1 — Read `template-components.md` (once, for the entire session)
69
70
 
70
- Read the full contents of `.github/skills/template-components.md`.
71
+ Read the full contents of `{{SKILL_DIR}}/template-components.md`.
71
72
 
72
73
  This gives you:
73
74
 
74
75
  - **Layout template pattern** — DS-agnostic grid skeleton with `// [DS GRID]` placeholder; `templateCol` parsing logic; responsive behavior rules
75
76
  - **Design System Adaptation section** — how to map the chosen DS's grid/flex primitive to the computed column ratios
76
- - **Form template pattern** — PConnect bridge via `createElement(createPConnectComponent(), ...)` and `connectToState`; no DS involved
77
- - **Page template pattern** — region extraction via `getRawMetadata()` and PConnect bridge; no DS involved
77
+ - **Form template pattern** — PConnect bridge via `connectToState` HOC wrapping `PConnectComponent`; `utils/index.ts` with `mapStateToProps`; no DS involved
78
+ - **Page template pattern** — region extraction via `getRawMetadata()` and PConnect bridge; complex PCore API interactions; no DS involved
78
79
  - Registration conventions and helper utilities
79
80
 
80
81
  Keep this context active throughout the entire generation session. Do not re-read it per component.
@@ -99,7 +100,29 @@ npm install <design-system-package>
99
100
 
100
101
  Also install any peer dependencies documented in the package's README. Report what was installed.
101
102
 
102
- ### 2b — Discover the DS layout API from installed files
103
+ ### 2a.1 — Install the DS styles package and configure global CSS (MANDATORY)
104
+
105
+ Design systems require their global stylesheet — without it, components render unstyled.
106
+
107
+ #### Known DS style requirements (examples — verify from README for exact paths):
108
+
109
+ | Design System | Styles Package (example) | CSS Import in `src/main.tsx` (example) | Provider Wrapper (example) |
110
+ | ------------- | ------------------------ | ---------------------------------------- | -------------------------- |
111
+ | Carbon | `@carbon/styles` | `import '@carbon/react/css/styles.css';` | `<Theme>` |
112
+ | Ant Design | (included) | `import 'antd/dist/reset.css';` | `<ConfigProvider>` |
113
+ | Radix Themes | `@radix-ui/themes` | `import '@radix-ui/themes/styles.css';` | `<Theme>` |
114
+ | Chakra UI | (included) | (none — runtime) | `<ChakraProvider>` |
115
+ | Shadcn/ui | (Tailwind) | `import './globals.css';` | None |
116
+ | MUI | (included) | (none — CSS-in-JS) | `<ThemeProvider>` |
117
+
118
+ These are **examples** based on common versions. Always verify the exact import path and provider name from the installed package's README (`node_modules/<ds>/README.md`).
119
+
120
+ If in table: install styles package (if separate), add CSS import as **first import** in `src/main.tsx`, add Provider in `src/AppProviders.tsx`.
121
+ If not in table: check README and `find node_modules/<ds> -name "*.css" -path "*/dist/*" | head -5`.
122
+
123
+ Verification: `grep -n "import.*css\|import.*styles" src/main.tsx` must return a result. Do NOT proceed until confirmed.
124
+
125
+ Report what was installed and configured.
103
126
 
104
127
  > You only need layout-related DS components. Form and page templates do not use the DS.
105
128
 
@@ -154,7 +177,7 @@ For each component in the resolved list (in the order listed in Step 0):
154
177
 
155
178
  ### 4a — Read the component-specific skill file (MANDATORY — do not skip)
156
179
 
157
- Read the file `.github/skills/template-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component — do not rely solely on the general `template-components.md`.
180
+ Read the file `{{SKILL_DIR}}/template-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component — do not rely solely on the general `template-components.md`.
158
181
 
159
182
  After reading, extract and keep active:
160
183
 
@@ -173,8 +196,10 @@ Create the directory `<outputPath>/<ComponentName>/`.
173
196
  Create `<ComponentName>.tsx` using the structure matching the template category from `template-components.md` (loaded in Step 1):
174
197
 
175
198
  - **Layout**: `PropsWithChildren` + `templateCol` parsing (split on whitespace, strip units, compute ratios) + DS grid/flex from Step 2 rendering children in computed column ratios. On mobile: columns must stack to full width.
176
- - **Form**: `createElement(createPConnectComponent(), ...)` for each child from `getPConnect().getChildren()[0].getPConnect().getChildren()`. No DS primitives.
177
- - **Page**: `createElement(createPConnectComponent(), ...)` for each region from `getPConnect().getChildren()`. No DS primitives.
199
+ - **Form**: Use the `connectToState` HOC pattern from the skill file. Each child field MUST be wrapped in `connectToState(mapStateToProps)` for Redux store subscription. Plain `createElement(PConnectComponent, ...)` without `connectToState` will cause fields to NOT render. Also create `utils/index.ts` with `mapStateToProps` and `getKeyForMappedField`.
200
+ - **Page**: The generated component MUST include ALL props, side effects, PCore API calls, useEffect hooks, and state management from the skill file's Component Skeleton. Page templates are complex — they interact with PCore APIs and infrastructure components. NEVER simplify a Page template to a single return statement or a pass-through wrapper.
201
+
202
+ ⚠️ **CRITICAL RULE for Form and Page templates:** The component-specific skill file's Component Skeleton is the **minimum implementation**. You must include every `useState`, `useEffect`, `getComponentFromRegistry`, `PCore.*` call, helper function, and utility import shown in that skeleton. If your generated output is significantly shorter than the skeleton, you have over-simplified and MUST add the missing logic.
178
203
 
179
204
  Apply the Behavioral Contract from the component skill file (sub-variants, region handling, slot logic).
180
205
 
@@ -186,6 +211,45 @@ export { default } from './<ComponentName>';
186
211
 
187
212
  Create any CSS file required by the skill file (e.g., `DefaultForm.css` with grid classes).
188
213
 
214
+ Create any `utils/` or helper files mandated by the skill file (e.g., `utils/index.ts` for DefaultForm).
215
+
216
+ ### 4b.1 — Post-generation verification (MANDATORY for Form and Page templates)
217
+
218
+ After generating each Form or Page template, verify:
219
+
220
+ 1. **Form templates:** `connectToState` is imported and used; `mapStateToProps` + `getKeyForMappedField` are in `utils/index.ts`; each child field uses the `<Child key={getKeyForMappedField(kid)} {...kid} />` pattern.
221
+ 2. **Page templates:** All props listed in the skill file's Props table are destructured; all `getComponentFromRegistry()` lookups from the skeleton are present; all `useEffect` hooks from the skeleton are present; all PCore API calls (`PCore.getEnvironmentInfo()`, `PCore.getPubSubUtils()`, etc.) from the skeleton are present; infrastructure components (NavBar, VerticalTabs, DeferLoad, etc.) receive ALL required props from the skeleton.
222
+ 3. **Both:** The generated file is NOT a single-line return. If the skill file skeleton is 50+ lines, your output should be comparable in length.
223
+
224
+ If any check fails, revise the generated output before proceeding.
225
+
226
+ ### 4b.2 — Create sub-variant files (MANDATORY for Layout templates)
227
+
228
+ ⛔ **Do NOT skip this step.** Without sub-variants, portal pages and tabs won't render column layouts.
229
+
230
+ After generating **TwoColumn**, **OneColumn**, **NarrowWide**, or **WideNarrow**, you MUST immediately create these additional files in the same directory:
231
+
232
+ | Base template | Sub-variant files to create |
233
+ | ------------- | ------------------------------------------------------------------- |
234
+ | TwoColumn | `TwoColumnPage.tsx`, `TwoColumnTab.tsx` |
235
+ | OneColumn | `OneColumnPage.tsx`, `OneColumnTab.tsx` |
236
+ | NarrowWide | `NarrowWideForm.tsx`, `NarrowWidePage.tsx` |
237
+ | WideNarrow | `WideNarrowDetails.tsx`, `WideNarrowForm.tsx`, `WideNarrowPage.tsx` |
238
+
239
+ Each sub-variant is a one-line passthrough that delegates to the base component via the registry:
240
+
241
+ ```typescript
242
+ import { getComponentFromRegistry } from '@pega/sdk-react';
243
+ import type { PConnProps } from '@pega/sdk-react';
244
+
245
+ export default function TwoColumnPage(props: PConnProps & Record<string, any>) {
246
+ const TwoColumn = getComponentFromRegistry('TwoColumn');
247
+ return <TwoColumn {...props} />;
248
+ }
249
+ ```
250
+
251
+ Replace `TwoColumnPage`/`TwoColumn` with the appropriate names for each sub-variant.
252
+
189
253
  ### 4c — Register the component
190
254
 
191
255
  Edit `src/components/component-map.ts`:
@@ -198,21 +262,11 @@ Edit `src/components/component-map.ts`:
198
262
  ```typescript
199
263
  <ComponentName>,
200
264
  ```
201
- 3. For sub-variants (e.g., TwoColumnPage, TwoColumnTab), register each key separately pointing to its own file or a shared implementation as specified in the skill file.
265
+ 3. **Also import and register ALL sub-variant files** created in Step 4b.2. Each gets its own import and map entry.
202
266
 
203
267
  Do not reorder or restructure any existing entries.
204
268
 
205
- ### 4d — Batch checkpoint
206
-
207
- After every **5 components**, run:
208
-
209
- ```bash
210
- npm run build
211
- ```
212
-
213
- Fix any TypeScript or build errors before continuing to the next component. This prevents error accumulation.
214
-
215
- ### 4e — Report progress
269
+ ### 4d — Report progress
216
270
 
217
271
  After each component: "`<ComponentName>` ✓ — `<Layout | Form | Page>` template`<, using <DS component name> for grid>` if layout"
218
272
 
@@ -1,6 +1,5 @@
1
1
  ---
2
- agent: agent
3
- description: Generate all (or a subset of) widget components using any design system
2
+ ai-description: Generate all (or a subset of) widget components using any design system
4
3
  ---
5
4
 
6
5
  ## Step 0 — Resolve inputs
@@ -11,7 +10,7 @@ Read the user's message carefully. Extract:
11
10
  - **Output base path** — the folder where widget components should be generated (e.g. `src/components/widget/`)
12
11
  - **Component list** — which widgets to generate (default: all 9 listed below)
13
12
 
14
- Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `.instructions.md` files, existing folders, or any other source.
13
+ Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `{{AI_FILE_EXT}}` files, existing folders, or any other source.
15
14
 
16
15
  ⛔ **STOP** — If the user's message does not explicitly state BOTH the design system AND the output path, ask for the missing items now. Do not proceed to Step 1 until you have explicit answers from the user for all required inputs.
17
16
 
@@ -24,25 +23,26 @@ If the user specified a subset (e.g., "just ToDo and Attachment"), restrict the
24
23
 
25
24
  Once both are known, continue to Step 1.
26
25
 
27
- ### Full component list (default — 9 widgets)
28
-
29
- | Component | Description |
30
- | --------------- | --------------------------- |
31
- | AppAnnouncement | System-wide announcements |
32
- | Attachment | File upload/download |
33
- | CaseHistory | Case audit trail |
34
- | FileUtility | File management utility |
35
- | Followers | Case followers list |
36
- | QuickCreate | Quick case creation buttons |
37
- | SummaryItem | Single summary card |
38
- | SummaryList | List of summary cards |
39
- | ToDo | Assignment worklist |
26
+ ### Full component list (default — 10 widgets)
27
+
28
+ | Component | Description |
29
+ | ------------------------ | ------------------------------- |
30
+ | ActionButtonsForFileUtil | Action buttons for file utility |
31
+ | AppAnnouncement | System-wide announcements |
32
+ | Attachment | File upload/download |
33
+ | CaseHistory | Case audit trail |
34
+ | FileUtility | File management utility |
35
+ | Followers | Case followers list |
36
+ | QuickCreate | Quick case creation buttons |
37
+ | SummaryItem | Single summary card |
38
+ | SummaryList | List of summary cards |
39
+ | ToDo | Assignment worklist |
40
40
 
41
41
  ---
42
42
 
43
43
  ## Step 1 — Read `widget-components.md` (once, for the entire session)
44
44
 
45
- Read the full contents of `.github/skills/widget-components.md`.
45
+ Read the full contents of `{{SKILL_DIR}}/widget-components.md`.
46
46
 
47
47
  This gives you:
48
48
 
@@ -75,7 +75,29 @@ npm install <design-system-package>
75
75
 
76
76
  Also install any peer dependencies documented in the package's README. Report what was installed.
77
77
 
78
- ### 2b — Discover the DS API from installed files
78
+ ### 2a.1 — Install the DS styles package and configure global CSS (MANDATORY)
79
+
80
+ Design systems require their global stylesheet — without it, components render unstyled.
81
+
82
+ #### Known DS style requirements (examples — verify from README for exact paths):
83
+
84
+ | Design System | Styles Package (example) | CSS Import in `src/main.tsx` (example) | Provider Wrapper (example) |
85
+ | ------------- | ------------------------ | ---------------------------------------- | -------------------------- |
86
+ | Carbon | `@carbon/styles` | `import '@carbon/react/css/styles.css';` | `<Theme>` |
87
+ | Ant Design | (included) | `import 'antd/dist/reset.css';` | `<ConfigProvider>` |
88
+ | Radix Themes | `@radix-ui/themes` | `import '@radix-ui/themes/styles.css';` | `<Theme>` |
89
+ | Chakra UI | (included) | (none — runtime) | `<ChakraProvider>` |
90
+ | Shadcn/ui | (Tailwind) | `import './globals.css';` | None |
91
+ | MUI | (included) | (none — CSS-in-JS) | `<ThemeProvider>` |
92
+
93
+ These are **examples** based on common versions. Always verify the exact import path and provider name from the installed package's README (`node_modules/<ds>/README.md`).
94
+
95
+ If in table: install styles package (if separate), add CSS import as **first import** in `src/main.tsx`, add Provider in `src/AppProviders.tsx`.
96
+ If not in table: check README and `find node_modules/<ds> -name "*.css" -path "*/dist/*" | head -5`.
97
+
98
+ Verification: `grep -n "import.*css\|import.*styles" src/main.tsx` must return a result. Do NOT proceed until confirmed.
99
+
100
+ Report what was installed and configured.
79
101
 
80
102
  Run these commands to discover the actual API (do NOT rely on training knowledge):
81
103
 
@@ -132,7 +154,7 @@ For each component in the resolved list (in the order listed in Step 0):
132
154
 
133
155
  ### 4a — Read the component-specific skill file (MANDATORY — do not skip)
134
156
 
135
- Read the file `.github/skills/widget-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `widget-components.md`.
157
+ Read the file `{{SKILL_DIR}}/widget-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `widget-components.md`.
136
158
 
137
159
  After reading, extract and keep active:
138
160
 
@@ -179,19 +201,11 @@ Edit `src/components/component-map.ts`:
179
201
  <ComponentName>,
180
202
  ```
181
203
 
182
- Do not reorder or restructure any existing entries.
183
-
184
- ### 4d — Batch checkpoint
185
-
186
- After every **5 components**, run:
187
-
188
- ```bash
189
- npm run build
190
- ```
204
+ ⚠️ **Key name exception:** `ToDo` MUST be registered as `Todo: ToDo` (not `ToDo,`). The Pega engine sends `Todo` (capital T, lowercase 'odo'). Using shorthand `ToDo,` creates key `ToDo` which won't match.
191
205
 
192
- Fix any TypeScript or build errors before continuing to the next component. This prevents error accumulation.
206
+ Do not reorder or restructure any existing entries.
193
207
 
194
- ### 4e — Report progress
208
+ ### 4d — Report progress
195
209
 
196
210
  After each component: "`<ComponentName>` ✓ — using `<DS card/list primitive>`"
197
211
 
@@ -1,3 +1,7 @@
1
+ ---
2
+ ai-description: Analyze an attached screenshot and identify which SDK components are visible — outputs a components list ready to pass to replace-design-system
3
+ ---
4
+
1
5
  # identify-components
2
6
 
3
7
  Analyze the attached screenshot and identify which SDK components from this application are visible in the image.
@@ -1,6 +1,5 @@
1
1
  ---
2
- description: replace-design-system.prompt
3
- alwaysApply: false
2
+ ai-description: Replace design system components — full app, by scope/folder, by named shorthand, or by explicit component list
4
3
  ---
5
4
 
6
5
  # replace-design-system
@@ -13,7 +12,7 @@ Replace the current design system in this application with **{{designSystem}}**.
13
12
 
14
13
  ## Step 0: Determine target component list
15
14
 
16
- Read `.cursor/rules/prompts/component-manifest.json` first.
15
+ Read `{{PROMPT_DIR}}/component-manifest.json` first.
17
16
 
18
17
  Collect components from **every applicable source** below, then merge and deduplicate into a single final list.
19
18
 
@@ -25,6 +25,56 @@ Renders a visually-styled alert box tied to a Pega `variant` value (urgent, warn
25
25
  | `messages` | `Array<string \| { label?: string; description?: string }>` | Yes | One or more messages (string or structured object) |
26
26
  | `onDismiss` | `function` (optional) | No | Dismiss/close handler; if provided, show a close button |
27
27
 
28
+ ## Component Skeleton
29
+
30
+ ```typescript
31
+ import './AlertBanner.css';
32
+
33
+ interface AlertBannerProps {
34
+ id: string;
35
+ variant: string;
36
+ messages: Array<string | { label?: string; description?: string }>;
37
+ onDismiss?: () => void;
38
+ }
39
+
40
+ const VARIANT_MAP: Record<string, { severity: string; label: string }> = {
41
+ urgent: { severity: 'error', label: 'Error' },
42
+ warning: { severity: 'warning', label: 'Warning' },
43
+ success: { severity: 'success', label: 'Success' },
44
+ info: { severity: 'info', label: 'Info' },
45
+ };
46
+
47
+ function renderMessage(message: string | { label?: string; description?: string }) {
48
+ if (typeof message === 'object' && message !== null) {
49
+ const { label = '', description = '' } = message;
50
+ return label ? <><strong>{label}</strong> {description}</> : <>{description}</>;
51
+ }
52
+ const colonIndex = message.indexOf(':');
53
+ if (colonIndex === -1) return message;
54
+ return <><strong>{message.slice(0, colonIndex + 1)}</strong>{message.slice(colonIndex + 1)}</>;
55
+ }
56
+
57
+ export default function AlertBanner({ id, variant, messages, onDismiss }: AlertBannerProps) {
58
+ const { severity, label } = VARIANT_MAP[variant] ?? VARIANT_MAP.info;
59
+ const isMultiple = messages.length > 1;
60
+
61
+ return (
62
+ <div id={id}>
63
+ <AlertWidget variant="outlined" severity={severity} onClose={onDismiss}>
64
+ {isMultiple && (
65
+ <AlertTitle>
66
+ {label} <CountBadge variant={variant}>{messages.length}</CountBadge>
67
+ </AlertTitle>
68
+ )}
69
+ {isMultiple
70
+ ? <ul className="alert-banner-list">{messages.map((m, i) => <li key={i}>{renderMessage(m)}</li>)}</ul>
71
+ : renderMessage(messages[0])}
72
+ </AlertWidget>
73
+ </div>
74
+ );
75
+ }
76
+ ```
77
+
28
78
  ## Behavioral Contract
29
79
 
30
80
  1. **Variant mapping:** Map the Pega `variant` string to a UI severity level and display label:
@@ -34,6 +34,50 @@ Renders a visually rich banner composed of two parts:
34
34
  | `banner.tintImage` | `any` | No | Unused internally |
35
35
  | `variant` | `string` | Yes | Column layout: `'two-column'`, `'narrow-wide'`, or `'wide-narrow'` |
36
36
 
37
+ ## Component Skeleton
38
+
39
+ ```typescript
40
+ import './Banner.css';
41
+
42
+ interface BannerProps {
43
+ a: any; b: any;
44
+ banner?: { title?: string; message?: string; backgroundImage?: string; variant?: any; backgroundColor?: any; tintImage?: any };
45
+ variant: string;
46
+ }
47
+
48
+ export default function Banner(props: BannerProps) {
49
+ const { a, b, banner = {}, variant } = props;
50
+ const { title, message, backgroundImage } = banner;
51
+ const variantMap = {
52
+ 'two-column': [6, 6],
53
+ 'narrow-wide': [4, 8],
54
+ 'wide-narrow': [8, 4],
55
+ };
56
+
57
+ return (
58
+ <div style={{ marginBottom: '2rem' }}>
59
+ {/* Hero section */}
60
+ <div className="background-image-style" style={{ backgroundImage: `url(${backgroundImage})` }}>
61
+ <div className="background-style content">
62
+ <h1 className="title">{title}</h1>
63
+ <p className="message">{message}</p>
64
+ </div>
65
+ </div>
66
+ {/* Content columns */}
67
+ <GridContainer spacing={1}>
68
+ <GridItem xs={variantMap[variant][0]}
69
+ style={{ padding: '1rem', backgroundColor: 'var(--app-form-bg-color)', borderRadius: '16px', height: 'fit-content' }}>
70
+ {a}
71
+ </GridItem>
72
+ <GridItem xs={variantMap[variant][1]} style={{ padding: '0 1rem' }}>
73
+ {b}
74
+ </GridItem>
75
+ </GridContainer>
76
+ </div>
77
+ );
78
+ }
79
+ ```
80
+
37
81
  ## Behavioral Contract
38
82
 
39
83
  1. **Hero section:** Render a `<div>` with class `background-image-style` and the inline style `backgroundImage: url(${backgroundImage})`.
@@ -24,6 +24,60 @@ Renders a responsive 2-column read-only grid of field values for a case summary
24
24
  | `status` | `string` | No | The case status value, injected at position 1 if `showStatus` is true |
25
25
  | `showStatus` | `boolean` | No | If `true`, splices a status field entry at position 1 in the fields array |
26
26
 
27
+ ## Component Skeleton
28
+
29
+ ```typescript
30
+ import { useState, useEffect } from 'react';
31
+ import isDeepEqual from 'fast-deep-equal/react';
32
+ import { getDateFormatInfo } from '../../helpers/date-format-utils';
33
+ import { getCurrencyOptions } from '../../field/Currency/currency-utils';
34
+ import { getComponentFromRegistry } from '@pega/sdk-react';
35
+ import { format } from '../../helpers/formatters';
36
+ import './CaseSummaryFields.css';
37
+
38
+ interface CaseSummaryFieldsProps {
39
+ status?: string;
40
+ showStatus?: boolean;
41
+ theFields: any[];
42
+ }
43
+
44
+ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
45
+ const Operator = getComponentFromRegistry('Operator');
46
+ const { status, showStatus, theFields } = props;
47
+ const [theFieldsToRender, setFieldsToRender] = useState([]);
48
+ const [theFieldsAsGridItems, setFieldsAsGridItems] = useState<any[]>([]);
49
+
50
+ // 1. getFieldValue(field) — type-based rendering switch
51
+ // See Behavioral Contract #4 for the full type switch
52
+
53
+ // 2. useEffect: recompute grid items when theFieldsToRender changes
54
+ useEffect(() => {
55
+ const items = theFieldsToRender?.map(field => {
56
+ if (field.config.visibility === undefined || field.config.visibility === true)
57
+ return <GridItem xs={6} key={field.config.label}>{getFieldValue(field)}</GridItem>;
58
+ return null;
59
+ });
60
+ setFieldsAsGridItems(items);
61
+ }, [theFieldsToRender]);
62
+
63
+ // 3. Status injection (mutates theFields)
64
+ const theFieldsModifiable = theFields;
65
+ if (showStatus && theFields?.[1]?.type !== 'status') {
66
+ const oStatus = { type: 'status', config: { value: status, label: 'Status' } };
67
+ if (theFieldsModifiable.length < 2) theFieldsModifiable.push(oStatus);
68
+ else theFieldsModifiable.splice(1, 0, oStatus);
69
+ }
70
+
71
+ // 4. Deep equality check before state update (prevents infinite re-render)
72
+ if (!isDeepEqual(theFieldsToRender, theFieldsModifiable)) {
73
+ setFieldsToRender(theFieldsModifiable);
74
+ }
75
+
76
+ // 5. Render: 2-column grid
77
+ return <GridContainer className="psdk-case-summary-fields">{theFieldsAsGridItems}</GridContainer>;
78
+ }
79
+ ```
80
+
27
81
  ### FieldConfig shape (within each item in `theFields`)
28
82
 
29
83
  | Property | Type | Description |
@@ -28,6 +28,55 @@ Supports three item layouts:
28
28
  | -------- | ------- | -------- | ----------------------------------------------------------------------------- |
29
29
  | `fields` | `any[]` | Yes | Array of PConnect-aware field objects. Each must have `.getPConnect()` method |
30
30
 
31
+ ## Component Skeleton
32
+
33
+ ```typescript
34
+ import { createElement, isValidElement } from 'react';
35
+ import { PConnectComponent } from '@pega/sdk-react';
36
+ import { format } from '../../helpers/formatters';
37
+
38
+ interface DetailsFieldsProps { fields: any[]; }
39
+
40
+ export default function DetailsFields(props: DetailsFieldsProps) {
41
+ const { fields = [] } = props;
42
+ const fieldComponents: any[] = [];
43
+
44
+ // 1. Build field components array
45
+ fields?.forEach((field, index) => {
46
+ const thePConn = field.getPConnect();
47
+ const theCompType = thePConn.getComponentName().toLowerCase();
48
+ const { label } = thePConn.getConfigProps();
49
+ const configObj = thePConn.getReferencedView();
50
+ configObj.config.readOnly = true;
51
+ configObj.config.displayMode = 'DISPLAY_ONLY';
52
+ if (theCompType === 'reference') configObj.config.label = thePConn.getInheritedProps()?.label;
53
+ fieldComponents.push({
54
+ type: theCompType, label,
55
+ value: createElement(PConnectComponent, thePConn.getReferencedViewPConnect()),
56
+ });
57
+ });
58
+
59
+ // 2. Render grid items per field
60
+ return (
61
+ <>
62
+ {fieldComponents.map((field, index) => {
63
+ if (field.type === 'reference') return field.value;
64
+ if (isValidElement(field.value)) {
65
+ return <GridRow key={index}><GridItem xs={12}>{field.value}</GridItem></GridRow>;
66
+ }
67
+ const formattedValue = field.type === 'date' ? format(field.value, 'date') : field.value;
68
+ return (
69
+ <GridRow key={index} style={{ padding: '4px 0' }}>
70
+ <GridItem xs={6}><Label>{field.label}</Label></GridItem>
71
+ <GridItem xs={6}><Value>{formattedValue || '---'}</Value></GridItem>
72
+ </GridRow>
73
+ );
74
+ })}
75
+ </>
76
+ );
77
+ }
78
+ ```
79
+
31
80
  ## Behavioral Contract
32
81
 
33
82
  ### 1. Field Iteration and PConnect Setup