@pega/sdk 0.0.1 → 0.0.3

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 (223) hide show
  1. package/dist/index.js +2 -19
  2. package/package.json +4 -1
  3. package/templates/react-sdk-reference/.claude/instructions/component-map.md +38 -0
  4. package/templates/react-sdk-reference/.claude/instructions/dse-component.md +75 -0
  5. package/templates/react-sdk-reference/.claude/instructions/field-component.md +71 -0
  6. package/templates/react-sdk-reference/.claude/instructions/template-component.md +92 -0
  7. package/templates/react-sdk-reference/.claude/instructions/widget-component.md +87 -0
  8. package/templates/react-sdk-reference/.claude/prompts/add-component.md +144 -0
  9. package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +111 -0
  10. package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +149 -0
  11. package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +126 -0
  12. package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +139 -0
  13. package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +151 -0
  14. package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +124 -0
  15. package/templates/react-sdk-reference/.claude/prompts/identify-components.md +105 -0
  16. package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +519 -0
  17. package/templates/react-sdk-reference/.claude/skills/component-contracts.md +140 -0
  18. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +135 -0
  19. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +149 -0
  20. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +154 -0
  21. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +144 -0
  22. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +131 -0
  23. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +111 -0
  24. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +115 -0
  25. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +149 -0
  26. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +83 -0
  27. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +206 -0
  28. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +135 -0
  29. package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +289 -0
  30. package/templates/react-sdk-reference/.claude/skills/field-components.md +294 -0
  31. package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +112 -0
  32. package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +203 -0
  33. package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +158 -0
  34. package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +106 -0
  35. package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +99 -0
  36. package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +103 -0
  37. package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +98 -0
  38. package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +114 -0
  39. package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +107 -0
  40. package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +90 -0
  41. package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +87 -0
  42. package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +136 -0
  43. package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +164 -0
  44. package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +164 -0
  45. package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +92 -0
  46. package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +110 -0
  47. package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +146 -0
  48. package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +138 -0
  49. package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +124 -0
  50. package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +216 -0
  51. package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +148 -0
  52. package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +96 -0
  53. package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +101 -0
  54. package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +104 -0
  55. package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +88 -0
  56. package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +85 -0
  57. package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +180 -0
  58. package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +68 -0
  59. package/templates/react-sdk-reference/.claude/skills/template-components.md +322 -0
  60. package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +144 -0
  61. package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +122 -0
  62. package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +83 -0
  63. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +100 -0
  64. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +131 -0
  65. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +126 -0
  66. package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +107 -0
  67. package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +120 -0
  68. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +102 -0
  69. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +110 -0
  70. package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +88 -0
  71. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +95 -0
  72. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +78 -0
  73. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +78 -0
  74. package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +101 -0
  75. package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +109 -0
  76. package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +113 -0
  77. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +104 -0
  78. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +85 -0
  79. package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +68 -0
  80. package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +139 -0
  81. package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +80 -0
  82. package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +141 -0
  83. package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +109 -0
  84. package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +124 -0
  85. package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +135 -0
  86. package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +127 -0
  87. package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +103 -0
  88. package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +79 -0
  89. package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +131 -0
  90. package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +150 -0
  91. package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +135 -0
  92. package/templates/react-sdk-reference/.claude/skills/widget-components.md +271 -0
  93. package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +82 -0
  94. package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +146 -0
  95. package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +107 -0
  96. package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +200 -0
  97. package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +99 -0
  98. package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +114 -0
  99. package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +167 -0
  100. package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +190 -0
  101. package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +41 -0
  102. package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +78 -0
  103. package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +74 -0
  104. package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +247 -0
  105. package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +149 -0
  106. package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +111 -0
  107. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +154 -0
  108. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +131 -0
  109. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +144 -0
  110. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +156 -0
  111. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +129 -0
  112. package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +110 -0
  113. package/templates/react-sdk-reference/.cursor/rules/prompts/replace-design-system.mdrules +524 -0
  114. package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +145 -0
  115. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +140 -0
  116. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +154 -0
  117. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +159 -0
  118. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +149 -0
  119. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +136 -0
  120. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +116 -0
  121. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +120 -0
  122. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +154 -0
  123. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +88 -0
  124. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +211 -0
  125. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +140 -0
  126. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +294 -0
  127. package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +299 -0
  128. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +117 -0
  129. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +208 -0
  130. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +163 -0
  131. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +111 -0
  132. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +104 -0
  133. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +108 -0
  134. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +103 -0
  135. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +119 -0
  136. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +112 -0
  137. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +95 -0
  138. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +92 -0
  139. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +141 -0
  140. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +169 -0
  141. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +169 -0
  142. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +97 -0
  143. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +115 -0
  144. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +151 -0
  145. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +143 -0
  146. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +129 -0
  147. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +221 -0
  148. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +153 -0
  149. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +101 -0
  150. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +106 -0
  151. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +109 -0
  152. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +93 -0
  153. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +90 -0
  154. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +185 -0
  155. package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +73 -0
  156. package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +327 -0
  157. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +149 -0
  158. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +127 -0
  159. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +88 -0
  160. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +105 -0
  161. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +136 -0
  162. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +131 -0
  163. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +112 -0
  164. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +125 -0
  165. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +107 -0
  166. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +115 -0
  167. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +93 -0
  168. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +100 -0
  169. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +83 -0
  170. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +83 -0
  171. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +106 -0
  172. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +114 -0
  173. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +118 -0
  174. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +109 -0
  175. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +90 -0
  176. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +73 -0
  177. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +144 -0
  178. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +85 -0
  179. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +146 -0
  180. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +114 -0
  181. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +129 -0
  182. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +140 -0
  183. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +132 -0
  184. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +108 -0
  185. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +84 -0
  186. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +136 -0
  187. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +155 -0
  188. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +140 -0
  189. package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +276 -0
  190. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +87 -0
  191. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +151 -0
  192. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +112 -0
  193. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +205 -0
  194. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +104 -0
  195. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +119 -0
  196. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +172 -0
  197. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +195 -0
  198. package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +95 -0
  199. package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +90 -0
  200. package/templates/react-sdk-reference/.github/copilot-instructions.md +58 -0
  201. package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +144 -16
  202. package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +154 -0
  203. package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +131 -0
  204. package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +144 -0
  205. package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +156 -0
  206. package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +129 -0
  207. package/templates/react-sdk-reference/.github/skills/design-system-extension.md +58 -18
  208. package/templates/react-sdk-reference/.github/skills/field-components.md +55 -23
  209. package/templates/react-sdk-reference/.github/skills/template-components.md +48 -11
  210. package/templates/react-sdk-reference/.github/skills/widget-components.md +49 -12
  211. package/templates/react-sdk-reference/AGENTS.md +217 -29
  212. package/templates/react-sdk-reference/package.json +3 -2
  213. package/templates/react-sdk-reference/pega-auth-0.2.42.tgz +0 -0
  214. package/templates/react-sdk-reference/pega-constellationjs-0.26.3-local.tgz +0 -0
  215. package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  216. package/templates/react-sdk-reference/pega-sdk-types-0.1.0.tgz +0 -0
  217. package/templates/react-sdk-reference/sdk-config.json +1 -1
  218. package/templates/react-sdk-reference/vite.config.ts +1 -1
  219. package/templates/react-sdk-reference/.github/prompts/replace-all-fields.prompt.md +0 -48
  220. package/templates/react-sdk-reference/.github/prompts/replace-component.prompt.md +0 -81
  221. package/templates/react-sdk-reference/.github/prompts/replace-field.prompt.md +0 -41
  222. package/templates/react-sdk-reference/.github/prompts/swap-design-system.prompt.md +0 -49
  223. package/templates/react-sdk-reference/.github/skills/swap-design-system.md +0 -105
@@ -0,0 +1,131 @@
1
+ ---
2
+ description: generate-dse-components.prompt
3
+ alwaysApply: false
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 DSE components should be generated (e.g. `src/components/designSystemExtension/`)
12
+ - **Component list** — which components to generate (default: all 11 listed below)
13
+
14
+ Both **design system** and **output base path** are required. If either is missing or ambiguous, ask both unresolved items in one numbered list. Do not assume or default the output path — the client's folder structure may differ from the reference app.
15
+
16
+ Example questions (ask only the ones that are actually missing):
17
+ 1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
18
+ 2. Where should the DSE components be generated? (e.g. `src/components/designSystemExtension/`)
19
+
20
+ If the user specified a subset (e.g., "just AlertBanner and FieldValueList"), restrict the list accordingly.
21
+
22
+ Once both are known, continue to Step 1.
23
+
24
+ ### Full component list (default — 11 DSE components)
25
+
26
+ | Component | Pattern | DS needed? |
27
+ |---|---|---|
28
+ | AlertBanner | B — Pure display | Yes |
29
+ | Banner | B — Pure display | Yes |
30
+ | CaseSummaryFields | A — PConnect display | Minimal |
31
+ | DetailsFields | A — PConnect display | Minimal |
32
+ | FieldGroup | C — Complex display | No |
33
+ | FieldGroupList | C — Complex display | No |
34
+ | FieldValueList | A — PConnect display | No (CSS only) |
35
+ | Operator | B — Pure display | Yes |
36
+ | Pulse | C — Complex display | No |
37
+ | RichTextEditor | C — Complex display | No |
38
+ | WssQuickCreate | B — Pure display | Yes |
39
+
40
+ ---
41
+
42
+ ## Step 1 — Read `design-system-extension.md` (once, for the entire session)
43
+
44
+ Read the full contents of `.cursor/rules/skills/design-system-extension.mdrules`.
45
+
46
+ This gives you:
47
+ - All three implementation patterns (Pure display, Field value display, Complex display with PConnect)
48
+ - The `// [DS RENDER]` placeholder approach for Pattern B components
49
+ - The Design System Adaptation section — pattern categorisation, variant mapping table, DS discovery guidance
50
+ - Styling patterns — when to use CSS files vs DS style props
51
+ - Registration conventions
52
+
53
+ Keep this context active throughout the entire generation session. Do not re-read it per component.
54
+
55
+ ---
56
+
57
+ ## Step 2 — Install and discover the design system (once)
58
+
59
+ Execute **Step 3** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
60
+ - Check `package.json` for the DS package
61
+ - Install if missing, including any peer dependencies
62
+ - Report what was installed
63
+
64
+ Then execute **Step 4** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
65
+ - Read the DS README from `node_modules`
66
+ - Discover exported components from `dist/index.d.ts`
67
+ - Focus on display primitives used by Pattern B components: Alert, Card, Avatar, Badge, Tag, Notification
68
+ - Read prop interfaces for these components from `.d.ts` files
69
+
70
+ > Pattern A/C components (FieldValueList, FieldGroup, Pulse, etc.) use PConnect bridge or plain CSS — they do not use the DS API. Only Pattern B components consume DS primitives.
71
+
72
+ Build a **DS display primitive reference map** from this discovery. Reuse it for every Pattern B component — do not repeat these commands per component.
73
+
74
+ ---
75
+
76
+ ## Step 3 — Overwrite check (all at once)
77
+
78
+ For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
79
+
80
+ If **any** exist, report them all at once and ask:
81
+ > "The following N components already exist: [list]. How should I proceed?
82
+ > - **Overwrite all** — replace all existing implementations
83
+ > - **Skip existing** — only generate components that don't exist yet
84
+ > - **Cancel** — stop without generating anything"
85
+
86
+ Wait for the user's answer before proceeding. If none exist, continue immediately.
87
+
88
+ ---
89
+
90
+ ## Step 4 — Generate each component (loop)
91
+
92
+ For each component in the resolved list (in the order listed in Step 0):
93
+
94
+ ### 4a — Read the component-specific skill file
95
+ Execute **Step 2** from `.cursor/rules/prompts/add-component.mdrules` for this component:
96
+ - Read `.cursor/rules/skills/design-system-extension-skills/<ComponentName>.mdrules` fully
97
+ - Identify the component's pattern (B / A / C) from the skill file
98
+ - Pay attention to:
99
+ - **Behavioral Contract** — prop handling, variant mapping, rendering logic, edge cases
100
+ - **Design System Mapping** table — the recommended DS primitive for Pattern B components
101
+
102
+ ### 4b — Generate the component files
103
+ Execute **Step 5** from `.cursor/rules/prompts/add-component.mdrules` for this component:
104
+ - Create `<outputPath>/<ComponentName>/` directory
105
+ - Create `<ComponentName>.tsx` using:
106
+ - **Pattern B** (Pure display — AlertBanner, Banner, Operator, WssQuickCreate): use DS alert/card/avatar primitive from Step 2 API map in the `// [DS RENDER]` section; apply variant mapping from the skill file
107
+ - **Pattern A** (PConnect display — CaseSummaryFields, DetailsFields, FieldValueList): use CSS classes or DS typography props; no DS component primitives
108
+ - **Pattern C** (Complex display — FieldGroup, FieldGroupList, Pulse, RichTextEditor): use PConnect bridge (`createElement(createPConnectComponent(), ...)`); no DS primitives
109
+ - Create `index.tsx` if required by the skill file:
110
+ ```typescript
111
+ export { default } from './<ComponentName>';
112
+ ```
113
+ - Create any CSS file required by the skill file
114
+
115
+ ### 4c — Register the component
116
+ Execute **Step 6** from `.cursor/rules/prompts/add-component.mdrules` for this component:
117
+ - Add the import to `src/components/component-map.ts` in the Design System Extension section
118
+ - Add the entry to `getSampleComponentMap()` under the DSE comment
119
+ - Do not reorder or restructure any existing entries
120
+
121
+ ### 4d — Report progress
122
+ After each component: "`<ComponentName>` ✓ — Pattern `<B/A/C>`<`, using <DS primitive>` if Pattern B>"
123
+
124
+ ---
125
+
126
+ ## Step 5 — Verify the build
127
+
128
+ Execute **Step 7** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
129
+ - Run `npm run build`
130
+ - Fix any TypeScript or build errors before reporting completion
131
+ - Report a summary: list of all files created and all entries added to `component-map.ts`
@@ -0,0 +1,144 @@
1
+ ---
2
+ description: generate-field-components.prompt
3
+ alwaysApply: false
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, ask both unresolved items in one numbered list. Do not assume or default the output path — the client's folder structure may differ from the reference app.
15
+
16
+ Example questions (ask only the ones that are actually missing):
17
+ 1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
18
+ 2. Where should the field components be generated? (e.g. `src/components/field/`)
19
+
20
+ If the user specified a subset (e.g., "just TextInput and Dropdown"), restrict the list accordingly.
21
+
22
+ Once both are known, continue to Step 1.
23
+
24
+ ### Full component list (default)
25
+
26
+ | Component | Pega Name |
27
+ |---|---|
28
+ | AutoComplete | AutoComplete |
29
+ | CancelAlert | CancelAlert |
30
+ | Checkbox | Checkbox |
31
+ | Currency | Currency |
32
+ | Date | Date |
33
+ | DateTime | DateTime |
34
+ | Decimal | Decimal |
35
+ | Dropdown | Dropdown |
36
+ | Email | Email |
37
+ | Group | Group |
38
+ | Integer | Integer |
39
+ | Location | Location |
40
+ | Multiselect | Multiselect |
41
+ | ObjectReference | ObjectReference |
42
+ | Percentage | Percentage |
43
+ | Phone | Phone |
44
+ | RadioButtons | RadioButtons |
45
+ | RichText | RichText |
46
+ | ScalarList | ScalarList |
47
+ | SelectableCard | SelectableCard |
48
+ | SemanticLink | SemanticLink |
49
+ | TextArea | TextArea |
50
+ | TextContent | TextContent |
51
+ | TextInput | TextInput |
52
+ | Time | Time |
53
+ | URL | URL |
54
+ | UserReference | UserReference |
55
+
56
+ ---
57
+
58
+ ## Step 1 — Read `field-components.md` (once, for the entire session)
59
+
60
+ Read the full contents of `.cursor/rules/skills/field-components.mdrules`.
61
+
62
+ This gives you:
63
+ - The behavioral skeleton every field component must follow (state, effects, event handling, display modes)
64
+ - The Design System Adaptation guide (prop mapping conventions, form layout wrappers)
65
+ - The abstract template to use as a base for all components
66
+
67
+ Keep this context active throughout the entire generation session. Do not re-read it per component.
68
+
69
+ ---
70
+
71
+ ## Step 2 — Install and discover the design system (once)
72
+
73
+ Execute **Step 3** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
74
+ - Check `package.json` for the DS package
75
+ - Install if missing, including any peer dependencies
76
+ - Report what was installed
77
+
78
+ Then execute **Step 4** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
79
+ - Read the DS README from `node_modules`
80
+ - Discover all exported components from `dist/index.d.ts`
81
+ - Read prop interfaces for the control types needed across the component list
82
+ - Note form layout wrappers, size/variant conventions, icon packages, and design tokens
83
+
84
+ Build a **DS API reference map** from this discovery. You will reuse it for every component — do not repeat these commands per component.
85
+
86
+ ---
87
+
88
+ ## Step 3 — Overwrite check (all at once)
89
+
90
+ For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
91
+
92
+ If **any** exist, report them all at once and ask:
93
+ > "The following N components already exist: [list]. How should I proceed?
94
+ > - **Overwrite all** — replace all existing implementations
95
+ > - **Skip existing** — only generate components that don't exist yet
96
+ > - **Cancel** — stop without generating anything"
97
+
98
+ Wait for the user's answer before proceeding. If none exist, continue immediately.
99
+
100
+ ---
101
+
102
+ ## Step 4 — Generate each component (loop)
103
+
104
+ For each component in the resolved list (in the order listed in Step 0):
105
+
106
+ ### 4a — Read the component-specific skill file
107
+ Execute **Step 2** from `.cursor/rules/prompts/add-component.mdrules` for this component:
108
+ - Read `.cursor/rules/skills/field-skills/<ComponentName>.mdrules` fully
109
+ - Pay attention to:
110
+ - **Behavioral Contract** — state management, option loading, edge cases specific to this component
111
+ - **Design System Mapping** table — the recommended DS component for the chosen design system
112
+ - **UI control type** — use this to select the closest DS primitive if the chosen DS is not in the mapping table
113
+
114
+ ### 4b — Generate the component files
115
+ Execute **Step 5** from `.cursor/rules/prompts/add-component.mdrules` for this component:
116
+ - Create `<outputPath>/<ComponentName>/` directory
117
+ - Create `<ComponentName>.tsx` using:
118
+ - The abstract behavioral skeleton from `field-components.md` (read in Step 1)
119
+ - The Behavioral Contract from the component skill file
120
+ - The DS API confirmed in Step 2 (from the DS API reference map — no new terminal commands needed)
121
+ - Display mode guards (`DISPLAY_ONLY`, `STACKED_LARGE_VAL`) via `getComponentFromRegistry('FieldValueList')`
122
+ - `data-test-id={testId}` on the underlying interactive element
123
+ - Create `index.tsx`:
124
+ ```typescript
125
+ export { default } from './<ComponentName>';
126
+ ```
127
+
128
+ ### 4c — Register the component
129
+ Execute **Step 6** from `.cursor/rules/prompts/add-component.mdrules` for this component:
130
+ - Add the import to `src/components/component-map.ts` in the Fields section
131
+ - Add the entry to `getSampleComponentMap()` under the fields comment
132
+ - Do not reorder or restructure any existing entries
133
+
134
+ ### 4d — Report progress
135
+ After each component: "`<ComponentName>` ✓ — using `<DS component name>`"
136
+
137
+ ---
138
+
139
+ ## Step 5 — Verify the build
140
+
141
+ Execute **Step 7** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
142
+ - Run `npm run build`
143
+ - Fix any TypeScript or build errors before reporting completion
144
+ - Report a summary: list of all files created and all entries added to `component-map.ts`
@@ -0,0 +1,156 @@
1
+ ---
2
+ description: generate-template-components.prompt
3
+ alwaysApply: false
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, ask both unresolved items in one numbered list. Do not assume or default the output path — the client's folder structure may differ from the reference app.
15
+
16
+ Example questions (ask only the ones that are actually missing):
17
+ 1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
18
+ 2. Where should the template components be generated? (e.g. `src/components/template/`)
19
+
20
+ > **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.
21
+
22
+ If the user specified a subset (e.g., "just TwoColumn and OneColumn"), restrict the list accordingly.
23
+
24
+ Once both are known, continue to Step 1.
25
+
26
+ ### Full component list (default — 32 templates)
27
+
28
+ | Component | Category |
29
+ |---|---|
30
+ | AdvancedSearch | Page |
31
+ | AppShell | Page |
32
+ | BannerPage | Page |
33
+ | CaseSummary | Page |
34
+ | CaseView | Page |
35
+ | CaseViewActionsMenu | Widget |
36
+ | Confirmation | Page |
37
+ | DataReference | Form |
38
+ | DefaultForm | Form |
39
+ | DefaultPage | Page |
40
+ | Details | Layout |
41
+ | DetailsSubTabs | Layout |
42
+ | DetailsThreeColumn | Layout |
43
+ | DetailsTwoColumn | Layout |
44
+ | DynamicTabs | Navigation |
45
+ | FieldGroupTemplate | Form |
46
+ | HierarchicalForm | Form |
47
+ | InlineDashboard | Page |
48
+ | InlineDashboardPage | Page |
49
+ | ListPage | Page |
50
+ | ListView | Page |
51
+ | MultiReferenceReadOnly | Display |
52
+ | NarrowWide | Layout |
53
+ | OneColumn | Layout |
54
+ | PromotedFilters | Widget |
55
+ | SelfServiceCaseView | Page |
56
+ | SimpleTable | Table |
57
+ | SingleReferenceReadOnly | Display |
58
+ | SubTabs | Navigation |
59
+ | TwoColumn | Layout |
60
+ | WideNarrow | Layout |
61
+ | WssNavBar | Navigation |
62
+
63
+ ---
64
+
65
+ ## Step 1 — Read `template-components.md` (once, for the entire session)
66
+
67
+ Read the full contents of `.cursor/rules/skills/template-components.mdrules`.
68
+
69
+ This gives you:
70
+ - **Layout template pattern** — DS-agnostic grid skeleton with `// [DS GRID]` placeholder; `templateCol` parsing logic; responsive behavior rules
71
+ - **Design System Adaptation section** — how to map the chosen DS's grid/flex primitive to the computed column ratios
72
+ - **Form template pattern** — PConnect bridge via `createElement(createPConnectComponent(), ...)` and `connectToState`; no DS involved
73
+ - **Page template pattern** — region extraction via `getRawMetadata()` and PConnect bridge; no DS involved
74
+ - Registration conventions and helper utilities
75
+
76
+ Keep this context active throughout the entire generation session. Do not re-read it per component.
77
+
78
+ ---
79
+
80
+ ## Step 2 — Install and discover the design system (once)
81
+
82
+ Execute **Step 3** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
83
+ - Check `package.json` for the DS package
84
+ - Install if missing, including any peer dependencies
85
+ - Report what was installed
86
+
87
+ Then execute **Step 4** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
88
+ - Read the DS README from `node_modules`
89
+ - Discover exported layout components (Grid, Columns, Flex, SimpleGrid, etc.) from `dist/index.d.ts`
90
+ - Read prop interfaces for the grid/layout components needed by layout templates
91
+ - Note responsive breakpoint APIs and column sizing conventions
92
+
93
+ > You only need layout-related DS components. Form and page templates do not use the DS.
94
+
95
+ Build a **DS layout API reference** from this discovery. Reuse it for every layout template — do not repeat these commands per component.
96
+
97
+ ---
98
+
99
+ ## Step 3 — Overwrite check (all at once)
100
+
101
+ For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
102
+
103
+ If **any** exist, report them all at once and ask:
104
+ > "The following N components already exist: [list]. How should I proceed?
105
+ > - **Overwrite all** — replace all existing implementations
106
+ > - **Skip existing** — only generate components that don't exist yet
107
+ > - **Cancel** — stop without generating anything"
108
+
109
+ Wait for the user's answer before proceeding. If none exist, continue immediately.
110
+
111
+ ---
112
+
113
+ ## Step 4 — Generate each component (loop)
114
+
115
+ For each component in the resolved list (in the order listed in Step 0):
116
+
117
+ ### 4a — Read the component-specific skill file
118
+ Execute **Step 2** from `.cursor/rules/prompts/add-component.mdrules` for this component:
119
+ - Read `.cursor/rules/skills/template-skills/<ComponentName>.mdrules` fully
120
+ - Identify the template category from the skill file:
121
+ - **Layout** — uses DS grid primitives from Step 2's API reference
122
+ - **Form** — uses PConnect bridge + CSS classes; ignore DS
123
+ - **Page** — uses region extraction + PConnect bridge; ignore DS
124
+ - Pay attention to Behavioral Contract, sub-variants, and any Design System Mapping table
125
+
126
+ ### 4b — Generate the component files
127
+ Execute **Step 5** from `.cursor/rules/prompts/add-component.mdrules` for this component:
128
+ - Create `<outputPath>/<ComponentName>/` directory
129
+ - Create `<ComponentName>.tsx` using:
130
+ - **Layout templates**: DS-agnostic skeleton from `template-components.md` with the `// [DS GRID]` section filled in using DS layout API confirmed in Step 2
131
+ - **Form/Page templates**: PConnect bridge pattern from `template-components.md`; no DS primitives
132
+ - Behavioral Contract from the component skill file
133
+ - Create `index.tsx` if required by the skill file:
134
+ ```typescript
135
+ export { default } from './<ComponentName>';
136
+ ```
137
+ - Create any CSS file required by the skill file (e.g., `DefaultForm.css` with grid classes)
138
+
139
+ ### 4c — Register the component
140
+ Execute **Step 6** from `.cursor/rules/prompts/add-component.mdrules` for this component:
141
+ - Add the import to `src/components/component-map.ts` in the Templates section
142
+ - Add the entry to `getSampleComponentMap()` under the templates comment
143
+ - 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
144
+ - Do not reorder or restructure any existing entries
145
+
146
+ ### 4d — Report progress
147
+ After each component: "`<ComponentName>` ✓ — `<Layout | Form | Page>` template`<, using <DS component name> for grid>` if layout"
148
+
149
+ ---
150
+
151
+ ## Step 5 — Verify the build
152
+
153
+ Execute **Step 7** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
154
+ - Run `npm run build`
155
+ - Fix any TypeScript or build errors before reporting completion
156
+ - Report a summary: list of all files created and all entries added to `component-map.ts`
@@ -0,0 +1,129 @@
1
+ ---
2
+ description: generate-widget-components.prompt
3
+ alwaysApply: false
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, ask both unresolved items in one numbered list. Do not assume or default the output path — the client's folder structure may differ from the reference app.
15
+
16
+ Example questions (ask only the ones that are actually missing):
17
+ 1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
18
+ 2. Where should the widget components be generated? (e.g. `src/components/widget/`)
19
+
20
+ If the user specified a subset (e.g., "just ToDo and Attachment"), restrict the list accordingly.
21
+
22
+ Once both are known, continue to Step 1.
23
+
24
+ ### Full component list (default — 9 widgets)
25
+
26
+ | Component | Description |
27
+ |---|---|
28
+ | AppAnnouncement | System-wide announcements |
29
+ | Attachment | File upload/download |
30
+ | CaseHistory | Case audit trail |
31
+ | FileUtility | File management utility |
32
+ | Followers | Case followers list |
33
+ | QuickCreate | Quick case creation buttons |
34
+ | SummaryItem | Single summary card |
35
+ | SummaryList | List of summary cards |
36
+ | ToDo | Assignment worklist |
37
+
38
+ ---
39
+
40
+ ## Step 1 — Read `widget-components.md` (once, for the entire session)
41
+
42
+ Read the full contents of `.cursor/rules/skills/widget-components.mdrules`.
43
+
44
+ This gives you:
45
+ - The DS-agnostic data-fetching skeleton with `// [DS RENDER]` placeholder
46
+ - The Design System Adaptation guide (primitive mapping table, icon discovery rules)
47
+ - All common Pega APIs used in widgets: `PCore.getDataPageUtils()`, `PCore.getMashupApi()`, `PCore.getAttachmentUtils()`, `pConn.getCaseInfo()`, etc.
48
+ - Registration conventions
49
+
50
+ > The PCore data-fetching logic is always identical regardless of design system. Only the `// [DS RENDER]` section changes per DS.
51
+
52
+ Keep this context active throughout the entire generation session. Do not re-read it per component.
53
+
54
+ ---
55
+
56
+ ## Step 2 — Install and discover the design system (once)
57
+
58
+ Execute **Step 3** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
59
+ - Check `package.json` for the DS package
60
+ - Install if missing, including any peer dependencies
61
+ - Report what was installed
62
+
63
+ Then execute **Step 4** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
64
+ - Read the DS README from `node_modules`
65
+ - Discover exported components from `dist/index.d.ts`
66
+ - Focus on presentation primitives used in widgets: Card, List, Table, Button, Badge, Spinner, Skeleton, Empty state
67
+ - Read prop interfaces for these components from `.d.ts` files
68
+ - If the DS has a companion icon package, discover its exports
69
+
70
+ Build a **DS UI primitive reference map** from this discovery. Reuse it for every widget — do not repeat these commands per component.
71
+
72
+ ---
73
+
74
+ ## Step 3 — Overwrite check (all at once)
75
+
76
+ For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
77
+
78
+ If **any** exist, report them all at once and ask:
79
+ > "The following N components already exist: [list]. How should I proceed?
80
+ > - **Overwrite all** — replace all existing implementations
81
+ > - **Skip existing** — only generate components that don't exist yet
82
+ > - **Cancel** — stop without generating anything"
83
+
84
+ Wait for the user's answer before proceeding. If none exist, continue immediately.
85
+
86
+ ---
87
+
88
+ ## Step 4 — Generate each component (loop)
89
+
90
+ For each component in the resolved list (in the order listed in Step 0):
91
+
92
+ ### 4a — Read the component-specific skill file
93
+ Execute **Step 2** from `.cursor/rules/prompts/add-component.mdrules` for this component:
94
+ - Read `.cursor/rules/skills/widget-skills/<ComponentName>.mdrules` fully if it exists
95
+ - Pay attention to:
96
+ - **Behavioral Contract** — data fetching logic, PCore API calls, state management, action handlers
97
+ - **Design System Mapping** table — the recommended DS component for presentation
98
+ - If no skill file exists (e.g., `SummaryList`), use the general data-fetching pattern from `widget-components.md`
99
+
100
+ ### 4b — Generate the component files
101
+ Execute **Step 5** from `.cursor/rules/prompts/add-component.mdrules` for this component:
102
+ - Create `<outputPath>/<ComponentName>/` directory
103
+ - Create `<ComponentName>.tsx` using:
104
+ - The DS-agnostic data-fetching skeleton from `widget-components.md` (read in Step 1)
105
+ - The Behavioral Contract from the component skill file (PCore API calls, state, actions)
106
+ - The DS UI primitives confirmed in Step 2 (from the DS primitive reference map — no new terminal commands needed) filling in the `// [DS RENDER]` section
107
+ - Create `index.tsx` if required by the skill file:
108
+ ```typescript
109
+ export { default } from './<ComponentName>';
110
+ ```
111
+ - Create any CSS or utility files required by the skill file
112
+
113
+ ### 4c — Register the component
114
+ Execute **Step 6** from `.cursor/rules/prompts/add-component.mdrules` for this component:
115
+ - Add the import to `src/components/component-map.ts` in the Widgets section
116
+ - Add the entry to `getSampleComponentMap()` under the widgets comment
117
+ - Do not reorder or restructure any existing entries
118
+
119
+ ### 4d — Report progress
120
+ After each component: "`<ComponentName>` ✓ — using `<DS card/list primitive>`"
121
+
122
+ ---
123
+
124
+ ## Step 5 — Verify the build
125
+
126
+ Execute **Step 7** from `.cursor/rules/prompts/add-component.mdrules` exactly as written:
127
+ - Run `npm run build`
128
+ - Fix any TypeScript or build errors before reporting completion
129
+ - Report a summary: list of all files created and all entries added to `component-map.ts`
@@ -0,0 +1,110 @@
1
+ ---
2
+ description: identify-components.prompt
3
+ alwaysApply: false
4
+ ---
5
+
6
+ # identify-components
7
+
8
+ Analyze the attached screenshot and identify which SDK components from this application are visible in the image.
9
+
10
+ **Output only a single line** in this exact format — nothing else:
11
+
12
+ ```
13
+ components="ComponentA,ComponentB,ComponentC"
14
+ ```
15
+
16
+ This output can be pasted directly into a `/replace-design-system` invocation.
17
+
18
+ ---
19
+
20
+ ## Visual Recognition Guide
21
+
22
+ Use the table below to map what you see in the image to SDK component names.
23
+
24
+ ### Structural / layout components
25
+
26
+ | What you see | SDK component name | Category |
27
+ |---|---|---|
28
+ | Chevron/arrow step bar at the top of a form (e.g. "Step 1 → Step 2 → Step 3") | `Stages` | infra |
29
+ | Full case shell: step bar + case title + **action menu (⋮ or kebab)** + tabbed content area | `CaseView` | template |
30
+ | Row of action buttons at the bottom (Cancel / Save / Submit) | `ActionButtons` | infra |
31
+ | White/card area wrapping form fields | `DefaultForm` | template |
32
+ | Full-page layout with header + sidebar + content area | `AppShell` | template |
33
+ | Left-side vertical tab navigation | `VerticalTabs` | infra |
34
+ | Top navigation bar with logo + user menu | `NavBar` | infra |
35
+ | Top navigation bar (WSS / self-service variant) | `WssNavBar` | template |
36
+ | Two-column layout (equal or narrow/wide split) | `TwoColumn` / `NarrowWide` / `WideNarrow` | template |
37
+ | Single-column stacked layout | `OneColumn` | template |
38
+ | Tabbed panel inside a form or page | `SubTabs` / `Details` | template |
39
+
40
+ ### Field components
41
+
42
+ | What you see | SDK component name | Category |
43
+ |---|---|---|
44
+ | Single-line text input box | `TextInput` | field |
45
+ | Multi-line text input / textarea | `TextArea` | field |
46
+ | Dropdown / select menu (chevron on right) | `Dropdown` | field |
47
+ | Phone input with country code prefix (e.g. "+1 ▼") | `Phone` | field |
48
+ | Date picker input (calendar icon) | `Date` | field |
49
+ | Date + time picker input | `DateTime` | field |
50
+ | Time-only picker | `Time` | field |
51
+ | Currency input ($ prefix or formatted number) | `Currency` | field |
52
+ | Percentage input (% suffix) | `Percentage` | field |
53
+ | Decimal / float number input | `Decimal` | field |
54
+ | Integer-only number input | `Integer` | field |
55
+ | Email input (envelope icon or @-hint) | `Email` | field |
56
+ | URL input (link icon or http-hint) | `URL` | field |
57
+ | Checkbox with label | `Checkbox` | field |
58
+ | Radio button group | `RadioButtons` | field |
59
+ | Multi-select / tag-style select with chips | `Multiselect` | field |
60
+ | Type-ahead / autocomplete input with suggestions | `AutoComplete` | field |
61
+ | Rich text editor (toolbar with Bold/Italic/etc.) | `RichText` | field |
62
+ | Read-only comma-separated list of values | `ScalarList` | field |
63
+ | Selectable card / tile (click to select, like a plan card) | `SelectableCard` | field |
64
+ | Map / location picker with pin icon | `Location` | field |
65
+ | Link to another object/record | `ObjectReference` | field |
66
+ | Hyperlink displayed inline | `SemanticLink` | field |
67
+ | User avatar + name displayed inline | `UserReference` | field |
68
+ | Inline alert / warning inside a form | `CancelAlert` | field |
69
+ | Static text block / paragraph inside a form | `TextContent` | field |
70
+ | Grouping box around related fields | `Group` | field |
71
+
72
+ ### Widget components
73
+
74
+ | What you see | SDK component name | Category |
75
+ |---|---|---|
76
+ | To-do / task list card with assignments | `ToDo` | widget |
77
+ | File attachment area with upload button | `Attachment` | widget |
78
+ | Case history / audit trail table | `CaseHistory` | widget |
79
+ | File list with download actions | `FileUtility` | widget |
80
+ | List of follower avatars + "Follow" button | `Followers` | widget |
81
+ | "+" quick-create button with dropdown menu | `QuickCreate` | widget |
82
+ | Summary card for a single record with action menu | `SummaryItem` | widget |
83
+ | List of SummaryItem cards | `SummaryList` | widget |
84
+ | Announcement / news card | `AppAnnouncement` | widget |
85
+
86
+ ### DSE / design system extension components
87
+
88
+ | What you see | SDK component name | Category |
89
+ |---|---|---|
90
+ | Coloured banner alert bar (info / warning / error / success) | `AlertBanner` | designSystemExtension |
91
+ | Hero-style banner with title + CTA button | `Banner` | designSystemExtension |
92
+ | Read-only field+value pairs in a case summary | `CaseSummaryFields` | designSystemExtension |
93
+ | Read-only label+value pairs in a details view | `DetailsFields` | designSystemExtension |
94
+ | Collapsible section with header (accordion-style) | `FieldGroup` | designSystemExtension |
95
+ | List of field groups with "Add" link | `FieldGroupList` | designSystemExtension |
96
+ | User operator info popover (name + contact) | `Operator` | designSystemExtension |
97
+ | Comment/pulse card with avatar + timestamp | `Pulse` | designSystemExtension |
98
+ | Rich text editor with theme-aware toolbar | `RichTextEditor` | designSystemExtension |
99
+ | Quick-create shortcut links list (WSS sidebar) | `WssQuickCreate` | designSystemExtension |
100
+
101
+ ---
102
+
103
+ ## Rules
104
+
105
+ 1. **Only list components you can actually see rendered in the image.** Do not include components that might be present but are not visible (e.g. a NavBar not shown in the screenshot).
106
+ 2. **Do not include `FieldValueList`** — it is an internal rendering helper, not a visible component.
107
+ 3. **Structural components that frame a form always count** — if you see a step bar, include `Stages`; if you see action buttons, include `ActionButtons`.
108
+ 4. **An avatar + form title alone is NOT `CaseView`** — `CaseView` requires a full case shell with an action/kebab menu and tabbed content. A simple avatar + heading above a form is just part of `DefaultForm`.
109
+ 5. **When in doubt between two similar components** (e.g. `NarrowWide` vs `WideNarrow`), pick the one whose column ratio best matches the image proportions, or include both separated by a comma.
110
+ 6. **Output only the single `components="..."` line.** No explanation, no list, no markdown — just that line.