@pega/sdk 0.0.2 → 0.0.4

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 (455) hide show
  1. package/LICENSE +183 -183
  2. package/README.md +6 -6
  3. package/SECURITY.md +2 -1
  4. package/dist/index.js +14 -57
  5. package/package.json +7 -6
  6. package/templates/angular-sdk-reference/package.json +15 -15
  7. package/templates/angular-sdk-reference/tsconfig.json +2 -2
  8. package/templates/react-native-sdk-reference/App.tsx +2 -4
  9. package/templates/react-native-sdk-reference/package.json +6 -6
  10. package/templates/react-native-sdk-reference/tsconfig.json +2 -1
  11. package/templates/react-sdk-reference/.claude/instructions/component-map.md +38 -0
  12. package/templates/react-sdk-reference/.claude/instructions/dse-component.md +75 -0
  13. package/templates/react-sdk-reference/.claude/instructions/field-component.md +75 -0
  14. package/templates/react-sdk-reference/.claude/instructions/template-component.md +93 -0
  15. package/templates/react-sdk-reference/.claude/instructions/widget-component.md +88 -0
  16. package/templates/react-sdk-reference/.claude/prompts/add-component.md +152 -0
  17. package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +193 -0
  18. package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +158 -0
  19. package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +140 -0
  20. package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +153 -0
  21. package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +165 -0
  22. package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +138 -0
  23. package/templates/react-sdk-reference/.claude/prompts/identify-components.md +105 -0
  24. package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +519 -0
  25. package/templates/react-sdk-reference/.claude/skills/component-contracts.md +140 -0
  26. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +137 -0
  27. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +152 -0
  28. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +159 -0
  29. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +148 -0
  30. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +134 -0
  31. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +113 -0
  32. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +118 -0
  33. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +155 -0
  34. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +85 -0
  35. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +232 -0
  36. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +137 -0
  37. package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +291 -0
  38. package/templates/react-sdk-reference/.claude/skills/field-components.md +295 -0
  39. package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +113 -0
  40. package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +211 -0
  41. package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +175 -0
  42. package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +109 -0
  43. package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +101 -0
  44. package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +106 -0
  45. package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +99 -0
  46. package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +134 -0
  47. package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +109 -0
  48. package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +96 -0
  49. package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +88 -0
  50. package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +145 -0
  51. package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +188 -0
  52. package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +173 -0
  53. package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +93 -0
  54. package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +129 -0
  55. package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +167 -0
  56. package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +149 -0
  57. package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +134 -0
  58. package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +231 -0
  59. package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +155 -0
  60. package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +98 -0
  61. package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +117 -0
  62. package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +107 -0
  63. package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +89 -0
  64. package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +86 -0
  65. package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +203 -0
  66. package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +70 -0
  67. package/templates/react-sdk-reference/.claude/skills/template-components.md +321 -0
  68. package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +150 -0
  69. package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +124 -0
  70. package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +86 -0
  71. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +106 -0
  72. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +137 -0
  73. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +131 -0
  74. package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +109 -0
  75. package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +124 -0
  76. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +104 -0
  77. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +112 -0
  78. package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +90 -0
  79. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +97 -0
  80. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +80 -0
  81. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +80 -0
  82. package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +106 -0
  83. package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +112 -0
  84. package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +116 -0
  85. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +108 -0
  86. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +82 -0
  87. package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +70 -0
  88. package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +142 -0
  89. package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +82 -0
  90. package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +143 -0
  91. package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +114 -0
  92. package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +130 -0
  93. package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +142 -0
  94. package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +131 -0
  95. package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +108 -0
  96. package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +82 -0
  97. package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +133 -0
  98. package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +152 -0
  99. package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +139 -0
  100. package/templates/react-sdk-reference/.claude/skills/widget-components.md +260 -0
  101. package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +84 -0
  102. package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +151 -0
  103. package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +110 -0
  104. package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +206 -0
  105. package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +103 -0
  106. package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +118 -0
  107. package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +169 -0
  108. package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +198 -0
  109. package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +41 -0
  110. package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +78 -0
  111. package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +74 -0
  112. package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +247 -0
  113. package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +149 -0
  114. package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +193 -0
  115. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +154 -0
  116. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +131 -0
  117. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +144 -0
  118. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +156 -0
  119. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +129 -0
  120. package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +110 -0
  121. package/templates/react-sdk-reference/.cursor/rules/prompts/replace-design-system.mdrules +524 -0
  122. package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +145 -0
  123. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +140 -0
  124. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +154 -0
  125. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +159 -0
  126. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +149 -0
  127. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +136 -0
  128. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +116 -0
  129. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +120 -0
  130. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +154 -0
  131. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +88 -0
  132. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +211 -0
  133. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +140 -0
  134. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +294 -0
  135. package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +299 -0
  136. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +117 -0
  137. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +208 -0
  138. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +163 -0
  139. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +111 -0
  140. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +104 -0
  141. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +108 -0
  142. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +103 -0
  143. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +119 -0
  144. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +112 -0
  145. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +95 -0
  146. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +92 -0
  147. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +141 -0
  148. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +169 -0
  149. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +169 -0
  150. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +97 -0
  151. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +115 -0
  152. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +151 -0
  153. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +143 -0
  154. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +129 -0
  155. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +221 -0
  156. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +153 -0
  157. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +101 -0
  158. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +106 -0
  159. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +109 -0
  160. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +93 -0
  161. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +90 -0
  162. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +185 -0
  163. package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +73 -0
  164. package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +327 -0
  165. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +149 -0
  166. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +127 -0
  167. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +88 -0
  168. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +105 -0
  169. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +136 -0
  170. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +131 -0
  171. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +112 -0
  172. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +125 -0
  173. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +107 -0
  174. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +115 -0
  175. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +93 -0
  176. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +100 -0
  177. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +83 -0
  178. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +83 -0
  179. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +106 -0
  180. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +114 -0
  181. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +118 -0
  182. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +109 -0
  183. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +90 -0
  184. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +73 -0
  185. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +144 -0
  186. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +85 -0
  187. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +146 -0
  188. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +114 -0
  189. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +129 -0
  190. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +140 -0
  191. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +132 -0
  192. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +108 -0
  193. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +84 -0
  194. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +136 -0
  195. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +155 -0
  196. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +140 -0
  197. package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +276 -0
  198. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +87 -0
  199. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +151 -0
  200. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +112 -0
  201. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +205 -0
  202. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +104 -0
  203. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +119 -0
  204. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +172 -0
  205. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +195 -0
  206. package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +95 -0
  207. package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +90 -0
  208. package/templates/react-sdk-reference/.github/agents/implementation-expert.agent.md +135 -0
  209. package/templates/react-sdk-reference/.github/copilot-instructions.md +58 -0
  210. package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +2 -2
  211. package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +1 -1
  212. package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +5 -1
  213. package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +3 -2
  214. package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +2 -1
  215. package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +187 -16
  216. package/templates/react-sdk-reference/.github/prompts/component-manifest.json +165 -83
  217. package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +411 -0
  218. package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +205 -0
  219. package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +223 -0
  220. package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +229 -0
  221. package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +208 -0
  222. package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +65 -65
  223. package/templates/react-sdk-reference/.github/skills/component-contracts.md +99 -99
  224. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/AlertBanner.md +40 -38
  225. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +54 -51
  226. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
  227. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +32 -28
  228. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +38 -35
  229. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +25 -23
  230. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +29 -26
  231. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +32 -26
  232. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +17 -15
  233. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +85 -59
  234. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
  235. package/templates/react-sdk-reference/.github/skills/design-system-extension.md +60 -18
  236. package/templates/react-sdk-reference/.github/skills/field-components.md +56 -23
  237. package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +27 -26
  238. package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +30 -22
  239. package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +60 -43
  240. package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +23 -20
  241. package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +19 -17
  242. package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +18 -15
  243. package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +22 -21
  244. package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +50 -30
  245. package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +20 -18
  246. package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +21 -15
  247. package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +17 -16
  248. package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +30 -21
  249. package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +66 -42
  250. package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +27 -18
  251. package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +22 -21
  252. package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +36 -17
  253. package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +56 -35
  254. package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +23 -12
  255. package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +41 -31
  256. package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +70 -55
  257. package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +34 -27
  258. package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +24 -22
  259. package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +38 -22
  260. package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +24 -21
  261. package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +16 -15
  262. package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +16 -15
  263. package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +57 -34
  264. package/templates/react-sdk-reference/.github/skills/run-and-verify.md +10 -8
  265. package/templates/react-sdk-reference/.github/skills/template-components.md +50 -14
  266. package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +27 -21
  267. package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +17 -15
  268. package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +19 -16
  269. package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +19 -13
  270. package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +23 -17
  271. package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +34 -29
  272. package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +18 -16
  273. package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +36 -32
  274. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +23 -21
  275. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +31 -29
  276. package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +19 -17
  277. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +22 -20
  278. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +19 -17
  279. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +19 -17
  280. package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +15 -10
  281. package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +19 -16
  282. package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +18 -15
  283. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +17 -13
  284. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +10 -13
  285. package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +9 -7
  286. package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +33 -30
  287. package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md +13 -11
  288. package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +42 -40
  289. package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +25 -20
  290. package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +25 -19
  291. package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +36 -29
  292. package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +31 -27
  293. package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +29 -24
  294. package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +14 -11
  295. package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +34 -32
  296. package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +48 -46
  297. package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +23 -19
  298. package/templates/react-sdk-reference/.github/skills/widget-components.md +52 -26
  299. package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +22 -20
  300. package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +33 -28
  301. package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +18 -15
  302. package/templates/react-sdk-reference/.github/skills/widget-skills/FileUtility.md +43 -37
  303. package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +23 -19
  304. package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +20 -16
  305. package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +26 -24
  306. package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +43 -35
  307. package/templates/react-sdk-reference/AGENTS.md +216 -29
  308. package/templates/react-sdk-reference/index.html +1 -4
  309. package/templates/react-sdk-reference/package.json +16 -16
  310. package/templates/react-sdk-reference/pega-constellationjs-0.26.3-local.tgz +0 -0
  311. package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  312. package/templates/react-sdk-reference/sdk-config.json +1 -1
  313. package/templates/react-sdk-reference/src/AppSelector.tsx +6 -6
  314. package/templates/react-sdk-reference/src/FallbackComponent.tsx +2 -6
  315. package/templates/react-sdk-reference/src/MashupApp.styles.ts +269 -41
  316. package/templates/react-sdk-reference/src/MashupApp.tsx +186 -85
  317. package/templates/react-sdk-reference/src/PortalApp.tsx +10 -34
  318. package/templates/react-sdk-reference/src/components/component-map.ts +2 -7
  319. package/templates/react-sdk-reference/src/components/designSystemExtension/AlertBanner/AlertBanner.tsx +7 -28
  320. package/templates/react-sdk-reference/src/components/designSystemExtension/Banner/Banner.tsx +12 -7
  321. package/templates/react-sdk-reference/src/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +35 -33
  322. package/templates/react-sdk-reference/src/components/designSystemExtension/DetailsFields/DetailsFields.tsx +6 -27
  323. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroup/FieldGroup.tsx +15 -11
  324. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx +7 -7
  325. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -12
  326. package/templates/react-sdk-reference/src/components/designSystemExtension/Operator/Operator.tsx +27 -25
  327. package/templates/react-sdk-reference/src/components/designSystemExtension/Pulse/Pulse.tsx +4 -4
  328. package/templates/react-sdk-reference/src/components/designSystemExtension/RichTextEditor/RichTextEditor.tsx +8 -40
  329. package/templates/react-sdk-reference/src/components/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +9 -9
  330. package/templates/react-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +26 -20
  331. package/templates/react-sdk-reference/src/components/field/CancelAlert/CancelAlert.tsx +35 -17
  332. package/templates/react-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +27 -25
  333. package/templates/react-sdk-reference/src/components/field/Currency/Currency.tsx +10 -6
  334. package/templates/react-sdk-reference/src/components/field/Currency/currency-utils.ts +1 -1
  335. package/templates/react-sdk-reference/src/components/field/Date/Date.tsx +20 -7
  336. package/templates/react-sdk-reference/src/components/field/DateTime/DateTime.tsx +23 -8
  337. package/templates/react-sdk-reference/src/components/field/Decimal/Decimal.tsx +5 -5
  338. package/templates/react-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +45 -25
  339. package/templates/react-sdk-reference/src/components/field/Email/Email.tsx +8 -8
  340. package/templates/react-sdk-reference/src/components/field/Group/Group.tsx +1 -1
  341. package/templates/react-sdk-reference/src/components/field/Integer/Integer.tsx +5 -5
  342. package/templates/react-sdk-reference/src/components/field/Location/Location.tsx +21 -16
  343. package/templates/react-sdk-reference/src/components/field/Multiselect/Multiselect.tsx +42 -27
  344. package/templates/react-sdk-reference/src/components/field/Multiselect/utils.ts +43 -29
  345. package/templates/react-sdk-reference/src/components/field/ObjectReference/ObjectReference.tsx +53 -30
  346. package/templates/react-sdk-reference/src/components/field/ObjectReference/utils.ts +12 -11
  347. package/templates/react-sdk-reference/src/components/field/Percentage/Percentage.tsx +6 -6
  348. package/templates/react-sdk-reference/src/components/field/Phone/Phone.tsx +12 -12
  349. package/templates/react-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +38 -16
  350. package/templates/react-sdk-reference/src/components/field/RichText/RichText.tsx +17 -4
  351. package/templates/react-sdk-reference/src/components/field/ScalarList/ScalarList.tsx +5 -5
  352. package/templates/react-sdk-reference/src/components/field/SelectableCard/SelectableCard.tsx +31 -18
  353. package/templates/react-sdk-reference/src/components/field/SelectableCard/utils.tsx +28 -20
  354. package/templates/react-sdk-reference/src/components/field/SemanticLink/SemanticLink.tsx +28 -19
  355. package/templates/react-sdk-reference/src/components/field/SemanticLink/utils.ts +3 -1
  356. package/templates/react-sdk-reference/src/components/field/TextArea/TextArea.tsx +4 -4
  357. package/templates/react-sdk-reference/src/components/field/TextInput/TextInput.tsx +4 -4
  358. package/templates/react-sdk-reference/src/components/field/Time/Time.tsx +20 -7
  359. package/templates/react-sdk-reference/src/components/field/URL/URL.tsx +7 -7
  360. package/templates/react-sdk-reference/src/components/field/UserReference/UserReference.tsx +14 -14
  361. package/templates/react-sdk-reference/src/components/field/UserReference/UserReferenceUtils.ts +2 -2
  362. package/templates/react-sdk-reference/src/components/helpers/case-utils.tsx +5 -5
  363. package/templates/react-sdk-reference/src/components/helpers/data_page.ts +3 -3
  364. package/templates/react-sdk-reference/src/components/helpers/date-format-utils.ts +5 -5
  365. package/templates/react-sdk-reference/src/components/helpers/field-group-utils.ts +2 -7
  366. package/templates/react-sdk-reference/src/components/helpers/formatters/Boolean.ts +9 -3
  367. package/templates/react-sdk-reference/src/components/helpers/formatters/Currency.ts +18 -6
  368. package/templates/react-sdk-reference/src/components/helpers/formatters/CurrencyMap.ts +168 -168
  369. package/templates/react-sdk-reference/src/components/helpers/formatters/Date.ts +5 -5
  370. package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +8 -5
  371. package/templates/react-sdk-reference/src/components/helpers/instructions-utils.ts +2 -2
  372. package/templates/react-sdk-reference/src/components/helpers/simpleTableHelpers.ts +54 -30
  373. package/templates/react-sdk-reference/src/components/helpers/state-utils.tsx +5 -2
  374. package/templates/react-sdk-reference/src/components/helpers/template-utils.ts +5 -4
  375. package/templates/react-sdk-reference/src/components/helpers/utils.ts +3 -3
  376. package/templates/react-sdk-reference/src/components/helpers/versionHelpers.ts +3 -1
  377. package/templates/react-sdk-reference/src/components/index.ts +1 -4
  378. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/AdvancedSearch.tsx +18 -10
  379. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroup/persistUtils.ts +3 -3
  380. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +26 -90
  381. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/hooks.ts +8 -5
  382. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/utils.ts +8 -4
  383. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/TemplateContext.ts +1 -1
  384. package/templates/react-sdk-reference/src/components/template/AppShell/AppShell.tsx +28 -19
  385. package/templates/react-sdk-reference/src/components/template/BannerPage/BannerPage.tsx +2 -2
  386. package/templates/react-sdk-reference/src/components/template/CaseSummary/CaseSummary.tsx +5 -5
  387. package/templates/react-sdk-reference/src/components/template/CaseView/CaseView.tsx +35 -16
  388. package/templates/react-sdk-reference/src/components/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +10 -10
  389. package/templates/react-sdk-reference/src/components/template/Confirmation/Confirmation.tsx +12 -26
  390. package/templates/react-sdk-reference/src/components/template/DataReference/DataReference.tsx +41 -124
  391. package/templates/react-sdk-reference/src/components/template/DataReference/DataReferenceAdvancedSearchContext.ts +2 -2
  392. package/templates/react-sdk-reference/src/components/template/DataReference/SearchForm.tsx +18 -78
  393. package/templates/react-sdk-reference/src/components/template/DataReference/utils.ts +18 -12
  394. package/templates/react-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +4 -12
  395. package/templates/react-sdk-reference/src/components/template/DefaultForm/utils/index.ts +3 -3
  396. package/templates/react-sdk-reference/src/components/template/DefaultPage/DefaultPage.tsx +3 -3
  397. package/templates/react-sdk-reference/src/components/template/Details/Details/Details.tsx +6 -8
  398. package/templates/react-sdk-reference/src/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +7 -14
  399. package/templates/react-sdk-reference/src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +7 -14
  400. package/templates/react-sdk-reference/src/components/template/Details/DynamicTabs/DynamicTabs.tsx +16 -8
  401. package/templates/react-sdk-reference/src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx +7 -4
  402. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/HierarchicalForm.tsx +20 -5
  403. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/hooks.ts +35 -77
  404. package/templates/react-sdk-reference/src/components/template/InlineDashboard/InlineDashboard.tsx +10 -10
  405. package/templates/react-sdk-reference/src/components/template/ListView/DefaultViewMeta.ts +31 -31
  406. package/templates/react-sdk-reference/src/components/template/ListView/ListView.tsx +173 -133
  407. package/templates/react-sdk-reference/src/components/template/ListView/hooks.ts +17 -10
  408. package/templates/react-sdk-reference/src/components/template/ListView/utils.ts +64 -51
  409. package/templates/react-sdk-reference/src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +6 -6
  410. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWide/NarrowWide.tsx +6 -6
  411. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +8 -18
  412. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +3 -3
  413. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +7 -1
  414. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumn/OneColumn.tsx +3 -3
  415. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumnTab/OneColumnTab.tsx +1 -1
  416. package/templates/react-sdk-reference/src/components/template/PromotedFilters/PromotedFilters.tsx +13 -40
  417. package/templates/react-sdk-reference/src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx +19 -16
  418. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTable/SimpleTable.tsx +8 -7
  419. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +84 -203
  420. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +15 -5
  421. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.tsx +15 -29
  422. package/templates/react-sdk-reference/src/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +7 -7
  423. package/templates/react-sdk-reference/src/components/template/SubTabs/SubTabs.tsx +1 -1
  424. package/templates/react-sdk-reference/src/components/template/SubTabs/tabUtils.ts +13 -11
  425. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumn/TwoColumn.tsx +3 -3
  426. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +3 -3
  427. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrow/WideNarrow.tsx +6 -6
  428. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +13 -24
  429. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +3 -3
  430. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +7 -1
  431. package/templates/react-sdk-reference/src/components/template/WssNavBar/WssNavBar.tsx +25 -25
  432. package/templates/react-sdk-reference/src/components/template/utils.tsx +6 -6
  433. package/templates/react-sdk-reference/src/components/widget/AppAnnouncement/AppAnnouncement.tsx +9 -9
  434. package/templates/react-sdk-reference/src/components/widget/Attachment/Attachment.tsx +125 -79
  435. package/templates/react-sdk-reference/src/components/widget/Attachment/AttachmentUtils.ts +58 -33
  436. package/templates/react-sdk-reference/src/components/widget/CaseHistory/CaseHistory.tsx +14 -12
  437. package/templates/react-sdk-reference/src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -7
  438. package/templates/react-sdk-reference/src/components/widget/FileUtility/FileUtility/FileUtility.tsx +137 -107
  439. package/templates/react-sdk-reference/src/components/widget/Followers/Followers.tsx +4 -4
  440. package/templates/react-sdk-reference/src/components/widget/QuickCreate/QuickCreate.tsx +15 -11
  441. package/templates/react-sdk-reference/src/components/widget/SummaryItem/SummaryItem.tsx +25 -18
  442. package/templates/react-sdk-reference/src/components/widget/SummaryList/SummaryList.tsx +7 -2
  443. package/templates/react-sdk-reference/src/components/widget/ToDo/ToDo.tsx +30 -116
  444. package/templates/react-sdk-reference/src/main.tsx +1 -1
  445. package/templates/react-sdk-reference/tsconfig.json +2 -1
  446. package/templates/react-sdk-reference/vite.config.ts +52 -27
  447. package/templates/wc-sdk-reference/package.json +3 -3
  448. package/templates/wc-sdk-reference/src/index.ts +10 -10
  449. package/templates/wc-sdk-reference/tsconfig.json +1 -0
  450. package/templates/react-sdk-reference/.github/prompts/replace-all-fields.prompt.md +0 -48
  451. package/templates/react-sdk-reference/.github/prompts/replace-component.prompt.md +0 -81
  452. package/templates/react-sdk-reference/.github/prompts/replace-field.prompt.md +0 -41
  453. package/templates/react-sdk-reference/.github/prompts/swap-design-system.prompt.md +0 -49
  454. package/templates/react-sdk-reference/.github/skills/swap-design-system.md +0 -105
  455. package/templates/react-sdk-reference/pega-constellationjs-0.26.2.tgz +0 -0
@@ -0,0 +1,223 @@
1
+ ---
2
+ agent: agent
3
+ description: Generate all (or a subset of) field components using any design system
4
+ ---
5
+
6
+ ## Step 0 — Resolve inputs
7
+
8
+ Read the user's message carefully. Extract:
9
+
10
+ - **Design system** — the UI library to use (e.g. `Ant Design`, `Chakra UI`, `Carbon`, `Radix UI`)
11
+ - **Output base path** — the folder where field components should be generated (e.g. `src/components/field/`, `app/ui/fields/`)
12
+ - **Component list** — which components to generate (default: all 27 listed below)
13
+
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.
15
+
16
+ ⛔ **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
+
18
+ Example questions (ask only the ones that are actually missing):
19
+
20
+ 1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
21
+ 2. Where should the field components be generated? (e.g. `src/components/field/`)
22
+
23
+ If the user specified a subset (e.g., "just TextInput and Dropdown"), restrict the list accordingly.
24
+
25
+ Once both are known, continue to Step 1.
26
+
27
+ ### Full component list (default)
28
+
29
+ | Component | Pega Name |
30
+ | --------------- | --------------- |
31
+ | AutoComplete | AutoComplete |
32
+ | CancelAlert | CancelAlert |
33
+ | Checkbox | Checkbox |
34
+ | Currency | Currency |
35
+ | Date | Date |
36
+ | DateTime | DateTime |
37
+ | Decimal | Decimal |
38
+ | Dropdown | Dropdown |
39
+ | Email | Email |
40
+ | Group | Group |
41
+ | Integer | Integer |
42
+ | Location | Location |
43
+ | Multiselect | Multiselect |
44
+ | ObjectReference | ObjectReference |
45
+ | Percentage | Percentage |
46
+ | Phone | Phone |
47
+ | RadioButtons | RadioButtons |
48
+ | RichText | RichText |
49
+ | ScalarList | ScalarList |
50
+ | SelectableCard | SelectableCard |
51
+ | SemanticLink | SemanticLink |
52
+ | TextArea | TextArea |
53
+ | TextContent | TextContent |
54
+ | TextInput | TextInput |
55
+ | Time | Time |
56
+ | URL | URL |
57
+ | UserReference | UserReference |
58
+
59
+ ---
60
+
61
+ ## Step 1 — Read `field-components.md` (once, for the entire session)
62
+
63
+ Read the full contents of `.github/skills/field-components.md`.
64
+
65
+ This gives you:
66
+
67
+ - The behavioral skeleton every field component must follow (state, effects, event handling, display modes)
68
+ - The Design System Adaptation guide (prop mapping conventions, form layout wrappers)
69
+ - The abstract template to use as a base for all components
70
+
71
+ Keep this context active throughout the entire generation session. Do not re-read it per component.
72
+
73
+ ---
74
+
75
+ ## Step 2 — Install and discover the design system (once)
76
+
77
+ ### 2a — Check and install the DS package
78
+
79
+ Run this command in your terminal:
80
+
81
+ ```bash
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
+ ```bash
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
+ ### 2b — Discover the DS API from installed files
94
+
95
+ Run these commands to discover the actual API (do NOT rely on training knowledge):
96
+
97
+ 1. Read the README for correct import paths and usage patterns:
98
+
99
+ ```bash
100
+ cat node_modules/<designSystem>/README.md
101
+ ```
102
+
103
+ 2. List every exported component:
104
+
105
+ ```bash
106
+ 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"
107
+ ```
108
+
109
+ 3. For every input control you plan to use (Input, Select, Checkbox, DatePicker, Radio, etc.), read its prop interface:
110
+
111
+ ```bash
112
+ find node_modules/<designSystem> -name "ComponentName.d.ts" | head -3
113
+ grep -A 40 "interface.*Props" <path-from-above>
114
+ ```
115
+
116
+ 4. Check for a **form layout wrapper** (label + input + helper text) — e.g., `<Form.Item>` in Ant Design, `<FormControl>` in Chakra UI. Use it instead of manual margins.
117
+
118
+ 5. Check for **size/density/variant conventions** — use built-in props rather than custom padding.
119
+
120
+ 6. Check for a **companion icons package** — read its exports before using any icon name. Never guess icon names.
121
+
122
+ 7. Check for **CSS tokens** — use design system CSS custom properties for spacing; never hardcode `px` values.
123
+
124
+ Only use component names and prop names confirmed in these files.
125
+
126
+ Build a **DS API reference map** from this discovery. You will reuse it for every component — do not repeat these commands per component.
127
+
128
+ ---
129
+
130
+ ## Step 3 — Overwrite check (all at once)
131
+
132
+ For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
133
+
134
+ If **any** exist, report them all at once and ask:
135
+
136
+ > "The following N components already exist: [list]. How should I proceed?
137
+ >
138
+ > - **Overwrite all** — replace all existing implementations
139
+ > - **Skip existing** — only generate components that don't exist yet
140
+ > - **Cancel** — stop without generating anything"
141
+
142
+ Wait for the user's answer before proceeding. If none exist, continue immediately.
143
+
144
+ ---
145
+
146
+ ## Step 4 — Generate each component (loop)
147
+
148
+ For each component in the resolved list (in the order listed in Step 0):
149
+
150
+ ### 4a — Read the component-specific skill file (MANDATORY — do not skip)
151
+
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`.
153
+
154
+ After reading, extract and keep active:
155
+
156
+ - **Behavioral Contract** — state management, option loading, edge cases specific to this component
157
+ - **Design System Mapping** table — the recommended DS component for the chosen design system
158
+ - **UI control type** — use this to select the closest DS primitive if the chosen DS is not in the mapping table
159
+
160
+ If no skill file exists at that path, use the general behavioral skeleton from `field-components.md` loaded in Step 1.
161
+
162
+ ⚠️ The general skill file (`field-components.md`) provides the behavioral skeleton. The component-specific skill file provides the **exact event handling, option-loading logic, and edge cases**. Both are needed — generating from only the general skill will produce generic inputs that miss component-specific behavior (e.g., AutoComplete's async search, Currency's formatting).
163
+
164
+ ### 4b — Generate the component files
165
+
166
+ Create the directory `<outputPath>/<ComponentName>/`.
167
+
168
+ Create `<ComponentName>.tsx` using this structure from `field-components.md` (loaded in Step 1):
169
+
170
+ 1. Imports (React hooks + `handleEvent` from `../../helpers/event-utils` + `getComponentFromRegistry` from `@pega/sdk-react` + `PConnFieldProps` + DS input from Step 2)
171
+ 2. Interface extending `PConnFieldProps` with any extra props from the component skill file
172
+ 3. Destructure: `getPConnect`, `label`, `required`, `disabled`, `value`, `validatemessage`, `status`, `readOnly`, `testId`, `helperText`, `displayMode`, `hideLabel`, `placeholder`
173
+ 4. Display mode guards: if `DISPLAY_ONLY` or `STACKED_LARGE_VAL` → return `FieldValueList`
174
+ 5. Return → DS form input from Step 2, with `onBlur` calling `handleEvent(actions, 'changeNblur', propName, inputValue)`
175
+
176
+ Pass `data-test-id={testId}` on the underlying interactive element.
177
+
178
+ Create `index.tsx`:
179
+
180
+ ```typescript
181
+ export { default } from './<ComponentName>';
182
+ ```
183
+
184
+ ### 4c — Register the component
185
+
186
+ Edit `src/components/component-map.ts`:
187
+
188
+ 1. Add an import at the top of the file in the **Fields** section:
189
+ ```typescript
190
+ import <ComponentName> from './field/<ComponentName>';
191
+ ```
192
+ 2. Add an entry in the return object of `getSampleComponentMap()` under the fields comment:
193
+ ```typescript
194
+ <ComponentName>,
195
+ ```
196
+
197
+ Do not reorder or restructure any existing entries.
198
+
199
+ ### 4d — Batch checkpoint
200
+
201
+ After every **5 components**, run:
202
+
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.
208
+
209
+ ### 4e — Report progress
210
+
211
+ After each component: "`<ComponentName>` ✓ — using `<DS component name>`"
212
+
213
+ ---
214
+
215
+ ## Step 5 — Verify the build
216
+
217
+ Run:
218
+
219
+ ```bash
220
+ npm run build
221
+ ```
222
+
223
+ If build errors occur, fix them before reporting completion. Report a summary: list of all files created and all entries added to `component-map.ts`.
@@ -0,0 +1,229 @@
1
+ ---
2
+ agent: agent
3
+ description: Generate all (or a subset of) template components using any design system
4
+ ---
5
+
6
+ ## Step 0 — Resolve inputs
7
+
8
+ Read the user's message carefully. Extract:
9
+
10
+ - **Design system** — the UI library to use (e.g. `Ant Design`, `Chakra UI`, `Carbon`, `Radix UI`)
11
+ - **Output base path** — the folder where template components should be generated (e.g. `src/components/template/`)
12
+ - **Component list** — which templates to generate (default: all 32 listed below)
13
+
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.
15
+
16
+ ⛔ **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
+
18
+ Example questions (ask only the ones that are actually missing):
19
+
20
+ 1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
21
+ 2. Where should the template components be generated? (e.g. `src/components/template/`)
22
+
23
+ > **Note:** The design system applies only to **layout templates** (TwoColumn, OneColumn, NarrowWide, WideNarrow, and their sub-variants). Form templates and page templates use the PConnect bridge pattern and are design-system agnostic — they will be generated without DS primitives regardless of your choice.
24
+
25
+ If the user specified a subset (e.g., "just TwoColumn and OneColumn"), restrict the list accordingly.
26
+
27
+ Once both are known, continue to Step 1.
28
+
29
+ ### Full component list (default — 32 templates)
30
+
31
+ | Component | Category |
32
+ | ----------------------- | ---------- |
33
+ | AdvancedSearch | Page |
34
+ | AppShell | Page |
35
+ | BannerPage | Page |
36
+ | CaseSummary | Page |
37
+ | CaseView | Page |
38
+ | CaseViewActionsMenu | Widget |
39
+ | Confirmation | Page |
40
+ | DataReference | Form |
41
+ | DefaultForm | Form |
42
+ | DefaultPage | Page |
43
+ | Details | Layout |
44
+ | DetailsSubTabs | Layout |
45
+ | DetailsThreeColumn | Layout |
46
+ | DetailsTwoColumn | Layout |
47
+ | DynamicTabs | Navigation |
48
+ | FieldGroupTemplate | Form |
49
+ | HierarchicalForm | Form |
50
+ | InlineDashboard | Page |
51
+ | InlineDashboardPage | Page |
52
+ | ListPage | Page |
53
+ | ListView | Page |
54
+ | MultiReferenceReadOnly | Display |
55
+ | NarrowWide | Layout |
56
+ | OneColumn | Layout |
57
+ | PromotedFilters | Widget |
58
+ | SelfServiceCaseView | Page |
59
+ | SimpleTable | Table |
60
+ | SingleReferenceReadOnly | Display |
61
+ | SubTabs | Navigation |
62
+ | TwoColumn | Layout |
63
+ | WideNarrow | Layout |
64
+ | WssNavBar | Navigation |
65
+
66
+ ---
67
+
68
+ ## Step 1 — Read `template-components.md` (once, for the entire session)
69
+
70
+ Read the full contents of `.github/skills/template-components.md`.
71
+
72
+ This gives you:
73
+
74
+ - **Layout template pattern** — DS-agnostic grid skeleton with `// [DS GRID]` placeholder; `templateCol` parsing logic; responsive behavior rules
75
+ - **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
78
+ - Registration conventions and helper utilities
79
+
80
+ Keep this context active throughout the entire generation session. Do not re-read it per component.
81
+
82
+ ---
83
+
84
+ ## Step 2 — Install and discover the design system (once)
85
+
86
+ ### 2a — Check and install the DS package
87
+
88
+ Run this command in your terminal:
89
+
90
+ ```bash
91
+ cat package.json | grep "<design-system-package>"
92
+ ```
93
+
94
+ If the design system package is **not** listed in `dependencies` or `devDependencies`, install it:
95
+
96
+ ```bash
97
+ npm install <design-system-package>
98
+ ```
99
+
100
+ Also install any peer dependencies documented in the package's README. Report what was installed.
101
+
102
+ ### 2b — Discover the DS layout API from installed files
103
+
104
+ > You only need layout-related DS components. Form and page templates do not use the DS.
105
+
106
+ Run these commands to discover the actual API (do NOT rely on training knowledge):
107
+
108
+ 1. Read the README for correct import paths and usage patterns:
109
+
110
+ ```bash
111
+ cat node_modules/<designSystem>/README.md
112
+ ```
113
+
114
+ 2. List every exported component — focus on layout primitives (Grid, Columns, Flex, SimpleGrid, Row, Col):
115
+
116
+ ```bash
117
+ 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"
118
+ ```
119
+
120
+ 3. For every grid/layout component you plan to use, read its prop interface:
121
+
122
+ ```bash
123
+ find node_modules/<designSystem> -name "Grid.d.ts" -o -name "Col.d.ts" -o -name "Flex.d.ts" | head -5
124
+ grep -A 40 "interface.*Props" <path-from-above>
125
+ ```
126
+
127
+ 4. Note **responsive breakpoint APIs** and **column sizing conventions** (e.g., 12-column grid, fractional units, span props).
128
+
129
+ Only use component names and prop names confirmed in these files.
130
+
131
+ Build a **DS layout API reference** from this discovery. Reuse it for every layout template — do not repeat these commands per component.
132
+
133
+ ---
134
+
135
+ ## Step 3 — Overwrite check (all at once)
136
+
137
+ For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
138
+
139
+ If **any** exist, report them all at once and ask:
140
+
141
+ > "The following N components already exist: [list]. How should I proceed?
142
+ >
143
+ > - **Overwrite all** — replace all existing implementations
144
+ > - **Skip existing** — only generate components that don't exist yet
145
+ > - **Cancel** — stop without generating anything"
146
+
147
+ Wait for the user's answer before proceeding. If none exist, continue immediately.
148
+
149
+ ---
150
+
151
+ ## Step 4 — Generate each component (loop)
152
+
153
+ For each component in the resolved list (in the order listed in Step 0):
154
+
155
+ ### 4a — Read the component-specific skill file (MANDATORY — do not skip)
156
+
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`.
158
+
159
+ After reading, extract and keep active:
160
+
161
+ - **Template category** — Layout (uses DS grid from Step 2) | Form (PConnect bridge + CSS) | Page (region extraction + PConnect bridge)
162
+ - **Behavioral Contract** — sub-variants, region handling, slot rendering logic
163
+ - **Design System Mapping** table — the recommended DS layout primitive (for Layout templates only)
164
+
165
+ If no skill file exists at that path, use the general pattern from `template-components.md` loaded in Step 1.
166
+
167
+ ⚠️ The general skill file (`template-components.md`) provides the pattern skeletons. The component-specific skill file provides the **exact region structure, sub-variant keys, and rendering logic**. Both are needed — generating from only the general skill will produce templates with wrong region counts or missing sub-variant registrations.
168
+
169
+ ### 4b — Generate the component files
170
+
171
+ Create the directory `<outputPath>/<ComponentName>/`.
172
+
173
+ Create `<ComponentName>.tsx` using the structure matching the template category from `template-components.md` (loaded in Step 1):
174
+
175
+ - **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.
178
+
179
+ Apply the Behavioral Contract from the component skill file (sub-variants, region handling, slot logic).
180
+
181
+ Create `index.tsx` if required by the skill file:
182
+
183
+ ```typescript
184
+ export { default } from './<ComponentName>';
185
+ ```
186
+
187
+ Create any CSS file required by the skill file (e.g., `DefaultForm.css` with grid classes).
188
+
189
+ ### 4c — Register the component
190
+
191
+ Edit `src/components/component-map.ts`:
192
+
193
+ 1. Add an import at the top of the file in the **Templates** section:
194
+ ```typescript
195
+ import <ComponentName> from './template/<ComponentName>';
196
+ ```
197
+ 2. Add an entry in the return object of `getSampleComponentMap()` under the templates comment:
198
+ ```typescript
199
+ <ComponentName>,
200
+ ```
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.
202
+
203
+ Do not reorder or restructure any existing entries.
204
+
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
216
+
217
+ After each component: "`<ComponentName>` ✓ — `<Layout | Form | Page>` template`<, using <DS component name> for grid>` if layout"
218
+
219
+ ---
220
+
221
+ ## Step 5 — Verify the build
222
+
223
+ Run:
224
+
225
+ ```bash
226
+ npm run build
227
+ ```
228
+
229
+ If build errors occur, fix them before reporting completion. Report a summary: list of all files created and all entries added to `component-map.ts`.
@@ -0,0 +1,208 @@
1
+ ---
2
+ agent: agent
3
+ description: Generate all (or a subset of) widget components using any design system
4
+ ---
5
+
6
+ ## Step 0 — Resolve inputs
7
+
8
+ Read the user's message carefully. Extract:
9
+
10
+ - **Design system** — the UI library to use (e.g. `Ant Design`, `Chakra UI`, `Carbon`, `Radix UI`)
11
+ - **Output base path** — the folder where widget components should be generated (e.g. `src/components/widget/`)
12
+ - **Component list** — which widgets to generate (default: all 9 listed below)
13
+
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.
15
+
16
+ ⛔ **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
+
18
+ Example questions (ask only the ones that are actually missing):
19
+
20
+ 1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
21
+ 2. Where should the widget components be generated? (e.g. `src/components/widget/`)
22
+
23
+ If the user specified a subset (e.g., "just ToDo and Attachment"), restrict the list accordingly.
24
+
25
+ Once both are known, continue to Step 1.
26
+
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 |
40
+
41
+ ---
42
+
43
+ ## Step 1 — Read `widget-components.md` (once, for the entire session)
44
+
45
+ Read the full contents of `.github/skills/widget-components.md`.
46
+
47
+ This gives you:
48
+
49
+ - The DS-agnostic data-fetching skeleton with `// [DS RENDER]` placeholder
50
+ - The Design System Adaptation guide (primitive mapping table, icon discovery rules)
51
+ - All common Pega APIs used in widgets: `PCore.getDataPageUtils()`, `PCore.getMashupApi()`, `PCore.getAttachmentUtils()`, `pConn.getCaseInfo()`, etc.
52
+ - Registration conventions
53
+
54
+ > The PCore data-fetching logic is always identical regardless of design system. Only the `// [DS RENDER]` section changes per DS.
55
+
56
+ Keep this context active throughout the entire generation session. Do not re-read it per component.
57
+
58
+ ---
59
+
60
+ ## Step 2 — Install and discover the design system (once)
61
+
62
+ ### 2a — Check and install the DS package
63
+
64
+ Run this command in your terminal:
65
+
66
+ ```bash
67
+ cat package.json | grep "<design-system-package>"
68
+ ```
69
+
70
+ If the design system package is **not** listed in `dependencies` or `devDependencies`, install it:
71
+
72
+ ```bash
73
+ npm install <design-system-package>
74
+ ```
75
+
76
+ Also install any peer dependencies documented in the package's README. Report what was installed.
77
+
78
+ ### 2b — Discover the DS API from installed files
79
+
80
+ Run these commands to discover the actual API (do NOT rely on training knowledge):
81
+
82
+ 1. Read the README for correct import paths and usage patterns:
83
+
84
+ ```bash
85
+ cat node_modules/<designSystem>/README.md
86
+ ```
87
+
88
+ 2. List every exported component:
89
+
90
+ ```bash
91
+ 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"
92
+ ```
93
+
94
+ 3. For every component you plan to use (Card, List, Table, Button, Badge, Spinner), read its prop interface:
95
+
96
+ ```bash
97
+ find node_modules/<designSystem> -name "ComponentName.d.ts" | head -3
98
+ grep -A 40 "interface.*Props" <path-from-above>
99
+ ```
100
+
101
+ 4. Check for a **companion icon package** — if it exists, read its exports before using any icon name. Never guess icon names.
102
+
103
+ 5. Check for **size/variant conventions** — use built-in props rather than custom padding.
104
+
105
+ 6. Check for **CSS tokens** — use design system CSS custom properties for spacing; never hardcode `px` values.
106
+
107
+ Only use component names and prop names confirmed in these files.
108
+
109
+ Build a **DS UI primitive reference map** from this discovery. Reuse it for every widget — do not repeat these commands per component.
110
+
111
+ ---
112
+
113
+ ## Step 3 — Overwrite check (all at once)
114
+
115
+ For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
116
+
117
+ If **any** exist, report them all at once and ask:
118
+
119
+ > "The following N components already exist: [list]. How should I proceed?
120
+ >
121
+ > - **Overwrite all** — replace all existing implementations
122
+ > - **Skip existing** — only generate components that don't exist yet
123
+ > - **Cancel** — stop without generating anything"
124
+
125
+ Wait for the user's answer before proceeding. If none exist, continue immediately.
126
+
127
+ ---
128
+
129
+ ## Step 4 — Generate each component (loop)
130
+
131
+ For each component in the resolved list (in the order listed in Step 0):
132
+
133
+ ### 4a — Read the component-specific skill file (MANDATORY — do not skip)
134
+
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`.
136
+
137
+ After reading, extract and keep active:
138
+
139
+ - **Behavioral Contract** — the exact PCore API calls, state variables, event handlers, and edge cases specific to this widget
140
+ - **Design System Mapping** table — the recommended DS primitive for this component's presentation layer
141
+ - **Props interface** — any required/optional props beyond the base `PConnProps`
142
+
143
+ If no skill file exists at that path (e.g., `SummaryList`), use the general data-fetching pattern from `widget-components.md` loaded in Step 1.
144
+
145
+ ⚠️ The general skill file (`widget-components.md`) provides the skeleton. The component-specific skill file provides the **exact data flow and behavioral logic**. Both are needed — generating from only the general skill will produce components that render but don't fetch or display data correctly.
146
+
147
+ ### 4b — Generate the component files
148
+
149
+ Create the directory `<outputPath>/<ComponentName>/`.
150
+
151
+ Create `<ComponentName>.tsx` using this structure from `widget-components.md` (loaded in Step 1):
152
+
153
+ 1. Imports (React hooks + DS components from Step 2 + `PConnProps` from `@pega/sdk-react`)
154
+ 2. Interface extending PConnProps with props from the component skill file's Props table
155
+ 3. Component function: destructure `getPConnect`, call `getPConnect()` to get `pConn`
156
+ 4. `useEffect` → data fetch using the exact PCore API call from the skill file's Behavioral Contract
157
+ 5. Return → DS Card/List/Table primitive from Step 2 API map, rendering the fetched data
158
+
159
+ Fill in the `// [DS RENDER]` section with DS primitives confirmed in Step 2. The data-fetching logic comes from the skill file's Behavioral Contract — do NOT invent API calls.
160
+
161
+ Create `index.tsx`:
162
+
163
+ ```typescript
164
+ export { default } from './<ComponentName>';
165
+ ```
166
+
167
+ Create any CSS or utility files required by the skill file.
168
+
169
+ ### 4c — Register the component
170
+
171
+ Edit `src/components/component-map.ts`:
172
+
173
+ 1. Add an import at the top of the file in the **Widgets** section:
174
+ ```typescript
175
+ import <ComponentName> from './widget/<ComponentName>';
176
+ ```
177
+ 2. Add an entry in the return object of `getSampleComponentMap()` under the widgets comment:
178
+ ```typescript
179
+ <ComponentName>,
180
+ ```
181
+
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
+ ```
191
+
192
+ Fix any TypeScript or build errors before continuing to the next component. This prevents error accumulation.
193
+
194
+ ### 4e — Report progress
195
+
196
+ After each component: "`<ComponentName>` ✓ — using `<DS card/list primitive>`"
197
+
198
+ ---
199
+
200
+ ## Step 5 — Verify the build
201
+
202
+ Run:
203
+
204
+ ```bash
205
+ npm run build
206
+ ```
207
+
208
+ If build errors occur, fix them before reporting completion. Report a summary: list of all files created and all entries added to `component-map.ts`.