@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,111 @@
1
+ {
2
+ "folderScopes": {
3
+ "field": "src/components/field",
4
+ "template": "src/components/template",
5
+ "widget": "src/components/widget",
6
+ "infra": "src/components/infra",
7
+ "designSystemExtension": "src/components/designSystemExtension"
8
+ },
9
+ "namedScopes": {
10
+ "workflow-form": {
11
+ "folders": ["field"],
12
+ "components": [
13
+ { "name": "Stages", "category": "infra", "path": "src/components/infra/Stages" }
14
+ ]
15
+ }
16
+ },
17
+ "components": {
18
+ "field": [
19
+ { "name": "AutoComplete", "path": "src/components/field/AutoComplete" },
20
+ { "name": "CancelAlert", "path": "src/components/field/CancelAlert" },
21
+ { "name": "Checkbox", "path": "src/components/field/Checkbox" },
22
+ { "name": "Currency", "path": "src/components/field/Currency" },
23
+ { "name": "Date", "path": "src/components/field/Date" },
24
+ { "name": "DateTime", "path": "src/components/field/DateTime" },
25
+ { "name": "Decimal", "path": "src/components/field/Decimal" },
26
+ { "name": "Dropdown", "path": "src/components/field/Dropdown" },
27
+ { "name": "Email", "path": "src/components/field/Email" },
28
+ { "name": "Group", "path": "src/components/field/Group" },
29
+ { "name": "Integer", "path": "src/components/field/Integer" },
30
+ { "name": "Location", "path": "src/components/field/Location" },
31
+ { "name": "Multiselect", "path": "src/components/field/Multiselect" },
32
+ { "name": "ObjectReference", "path": "src/components/field/ObjectReference" },
33
+ { "name": "Percentage", "path": "src/components/field/Percentage" },
34
+ { "name": "Phone", "path": "src/components/field/Phone" },
35
+ { "name": "RadioButtons", "path": "src/components/field/RadioButtons" },
36
+ { "name": "RichText", "path": "src/components/field/RichText" },
37
+ { "name": "ScalarList", "path": "src/components/field/ScalarList" },
38
+ { "name": "SelectableCard", "path": "src/components/field/SelectableCard" },
39
+ { "name": "SemanticLink", "path": "src/components/field/SemanticLink" },
40
+ { "name": "TextArea", "path": "src/components/field/TextArea" },
41
+ { "name": "TextContent", "path": "src/components/field/TextContent" },
42
+ { "name": "TextInput", "path": "src/components/field/TextInput" },
43
+ { "name": "Time", "path": "src/components/field/Time" },
44
+ { "name": "URL", "path": "src/components/field/URL" },
45
+ { "name": "UserReference", "path": "src/components/field/UserReference" }
46
+ ],
47
+ "template": [
48
+ { "name": "AdvancedSearch", "path": "src/components/template/AdvancedSearch" },
49
+ { "name": "AppShell", "path": "src/components/template/AppShell" },
50
+ { "name": "BannerPage", "path": "src/components/template/BannerPage" },
51
+ { "name": "CaseSummary", "path": "src/components/template/CaseSummary" },
52
+ { "name": "CaseView", "path": "src/components/template/CaseView" },
53
+ { "name": "CaseViewActionsMenu", "path": "src/components/template/CaseViewActionsMenu" },
54
+ { "name": "Confirmation", "path": "src/components/template/Confirmation" },
55
+ { "name": "DataReference", "path": "src/components/template/DataReference" },
56
+ { "name": "DefaultForm", "path": "src/components/template/DefaultForm" },
57
+ { "name": "DefaultPage", "path": "src/components/template/DefaultPage" },
58
+ { "name": "Details", "path": "src/components/template/Details" },
59
+ { "name": "FieldGroupTemplate", "path": "src/components/template/FieldGroupTemplate" },
60
+ { "name": "HierarchicalForm", "path": "src/components/template/HierarchicalForm" },
61
+ { "name": "InlineDashboard", "path": "src/components/template/InlineDashboard" },
62
+ { "name": "InlineDashboardPage", "path": "src/components/template/InlineDashboardPage" },
63
+ { "name": "ListPage", "path": "src/components/template/ListPage" },
64
+ { "name": "ListView", "path": "src/components/template/ListView" },
65
+ { "name": "MultiReferenceReadOnly", "path": "src/components/template/MultiReferenceReadOnly" },
66
+ { "name": "NarrowWide", "path": "src/components/template/NarrowWide" },
67
+ { "name": "ObjectPage", "path": "src/components/template/ObjectPage" },
68
+ { "name": "OneColumn", "path": "src/components/template/OneColumn" },
69
+ { "name": "PromotedFilters", "path": "src/components/template/PromotedFilters" },
70
+ { "name": "SelfServiceCaseView", "path": "src/components/template/SelfServiceCaseView" },
71
+ { "name": "SimpleTable", "path": "src/components/template/SimpleTable" },
72
+ { "name": "SingleReferenceReadOnly","path": "src/components/template/SingleReferenceReadOnly" },
73
+ { "name": "SubTabs", "path": "src/components/template/SubTabs" },
74
+ { "name": "TwoColumn", "path": "src/components/template/TwoColumn" },
75
+ { "name": "WideNarrow", "path": "src/components/template/WideNarrow" },
76
+ { "name": "WssNavBar", "path": "src/components/template/WssNavBar" }
77
+ ],
78
+ "widget": [
79
+ { "name": "AppAnnouncement", "path": "src/components/widget/AppAnnouncement" },
80
+ { "name": "Attachment", "path": "src/components/widget/Attachment" },
81
+ { "name": "CaseHistory", "path": "src/components/widget/CaseHistory" },
82
+ { "name": "FileUtility", "path": "src/components/widget/FileUtility" },
83
+ { "name": "Followers", "path": "src/components/widget/Followers" },
84
+ { "name": "QuickCreate", "path": "src/components/widget/QuickCreate" },
85
+ { "name": "SummaryItem", "path": "src/components/widget/SummaryItem" },
86
+ { "name": "SummaryList", "path": "src/components/widget/SummaryList" },
87
+ { "name": "ToDo", "path": "src/components/widget/ToDo" }
88
+ ],
89
+ "infra": [
90
+ { "name": "ActionButtons", "path": "src/components/infra/ActionButtons" },
91
+ { "name": "DashboardFilter", "path": "src/components/infra/DashboardFilter" },
92
+ { "name": "DeferLoad", "path": "src/components/infra/DeferLoad" },
93
+ { "name": "NavBar", "path": "src/components/infra/NavBar" },
94
+ { "name": "Stages", "path": "src/components/infra/Stages" },
95
+ { "name": "VerticalTabs", "path": "src/components/infra/VerticalTabs" }
96
+ ],
97
+ "designSystemExtension": [
98
+ { "name": "AlertBanner", "path": "src/components/designSystemExtension/AlertBanner" },
99
+ { "name": "Banner", "path": "src/components/designSystemExtension/Banner" },
100
+ { "name": "CaseSummaryFields", "path": "src/components/designSystemExtension/CaseSummaryFields" },
101
+ { "name": "DetailsFields", "path": "src/components/designSystemExtension/DetailsFields" },
102
+ { "name": "FieldGroup", "path": "src/components/designSystemExtension/FieldGroup" },
103
+ { "name": "FieldGroupList", "path": "src/components/designSystemExtension/FieldGroupList" },
104
+ { "name": "FieldValueList", "path": "src/components/designSystemExtension/FieldValueList" },
105
+ { "name": "Operator", "path": "src/components/designSystemExtension/Operator" },
106
+ { "name": "Pulse", "path": "src/components/designSystemExtension/Pulse" },
107
+ { "name": "RichTextEditor", "path": "src/components/designSystemExtension/RichTextEditor" },
108
+ { "name": "WssQuickCreate", "path": "src/components/designSystemExtension/WssQuickCreate" }
109
+ ]
110
+ }
111
+ }
@@ -0,0 +1,149 @@
1
+ ## Step 0 — Resolve inputs
2
+
3
+ Read the user's message carefully. Extract:
4
+
5
+ - **Design system** — the UI library to use (e.g. `Ant Design`, `Chakra UI`, `Carbon`, `Radix UI`)
6
+ - **Base components folder** — the root folder that contains (or will contain) the component type subfolders (e.g. `src/components/`)
7
+ - **Component types in scope** — which types to generate (default: all four if not specified)
8
+
9
+ Both **design system** and **base components folder** are required. If either is missing or ambiguous, ask both unresolved items in one numbered list. Do not assume or default the base folder — the client's folder structure may differ.
10
+
11
+ Example questions (ask only the ones that are actually missing):
12
+ 1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
13
+ 2. What is your base components folder? (e.g. `src/components/`) — subfolders `field/`, `template/`, `widget/`, and `designSystemExtension/` will be used under it.
14
+
15
+ ### Component type scope
16
+
17
+ Extract which types the user wants from the message:
18
+
19
+ | User says | Types in scope |
20
+ |---|---|
21
+ | "generate all components" | field + template + widget + designSystemExtension |
22
+ | "generate field and widget components" | field + widget |
23
+ | "generate widget, template components" | widget + template |
24
+ | "generate all components except templates" | field + widget + designSystemExtension |
25
+ | "replace everything" | field + template + widget + designSystemExtension |
26
+
27
+ Default to **all four types** if the message does not restrict the scope.
28
+
29
+ ### Derived output paths
30
+
31
+ Once the base folder is known, derive the output path for each type in scope:
32
+
33
+ | Type | Derived path |
34
+ |---|---|
35
+ | field | `<base>/field/` |
36
+ | template | `<base>/template/` |
37
+ | widget | `<base>/widget/` |
38
+ | designSystemExtension | `<base>/designSystemExtension/` |
39
+
40
+ Once design system, base folder, and type scope are resolved, continue to Step 1.
41
+
42
+ ---
43
+
44
+ ## Step 1 — Read general skill files (once, for each type in scope)
45
+
46
+ Read the general skill file for every type in scope. Do this upfront — do not re-read per component.
47
+
48
+ | Type | Skill file to read |
49
+ |---|---|
50
+ | field | `.claude/skills/field-components.md` |
51
+ | template | `.claude/skills/template-components.md` |
52
+ | widget | `.claude/skills/widget-components.md` |
53
+ | designSystemExtension | `.claude/skills/design-system-extension.md` |
54
+
55
+ Keep all loaded skill files active throughout the entire session.
56
+
57
+ ---
58
+
59
+ ## Step 2 — Install and discover the design system (once)
60
+
61
+ Execute **Step 3** from `.claude/prompts/add-component.md` exactly as written:
62
+ - Check `package.json` for the DS package
63
+ - Install if missing, including any peer dependencies
64
+ - Report what was installed
65
+
66
+ Then execute **Step 4** from `.claude/prompts/add-component.md` exactly as written:
67
+ - Read the DS README from `node_modules`
68
+ - Discover all exported components from `dist/index.d.ts`
69
+ - Read prop interfaces for primitives needed across **all types in scope**:
70
+ - **field**: form input controls (Input, Select, Checkbox, DatePicker, etc.)
71
+ - **template**: grid/layout primitives (Grid, Flex, Columns, SimpleGrid, etc.)
72
+ - **widget**: card/list/table/button/badge primitives
73
+ - **designSystemExtension**: alert/notification/avatar primitives
74
+ - Note form layout wrappers, size/variant conventions, icon packages, and design tokens
75
+
76
+ Build a unified **DS API reference map** covering all types in scope. Reuse it throughout — do not repeat discovery commands per component.
77
+
78
+ ---
79
+
80
+ ## Step 3 — Overwrite check (all types, all at once)
81
+
82
+ For every type in scope, check whether each component's `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
83
+
84
+ Collect all existing components across all types and report them in one consolidated list:
85
+
86
+ > "The following N components already exist across [types]: [list grouped by type]. How should I proceed?
87
+ > - **Overwrite all** — replace all existing implementations
88
+ > - **Skip existing** — only generate components that don't exist yet
89
+ > - **Cancel** — stop without generating anything"
90
+
91
+ Wait for the user's answer before proceeding. If none exist, continue immediately.
92
+
93
+ ---
94
+
95
+ ## Step 4 — Generate field components (skip if field not in scope)
96
+
97
+ If `field` is in scope, execute **Step 4** from `.claude/prompts/generate-field-components.md` in full:
98
+ - Use the derived field output path: `<base>/field/`
99
+ - The general skill (`field-components.md`) is already loaded from Step 1 — do not re-read it
100
+ - The DS API reference map is already built from Step 2 — do not repeat discovery commands
101
+ - For each of the 27 field components: read skill file → generate → register in `component-map.ts`
102
+ - Report progress after each component
103
+
104
+ ---
105
+
106
+ ## Step 5 — Generate template components (skip if template not in scope)
107
+
108
+ If `template` is in scope, execute **Step 4** from `.claude/prompts/generate-template-components.md` in full:
109
+ - Use the derived template output path: `<base>/template/`
110
+ - The general skill (`template-components.md`) is already loaded from Step 1 — do not re-read it
111
+ - The DS layout API is already discovered from Step 2 — do not repeat discovery commands
112
+ - For each of the 32 template components: read skill file → generate → register in `component-map.ts`
113
+ - Report progress after each component
114
+
115
+ ---
116
+
117
+ ## Step 6 — Generate widget components (skip if widget not in scope)
118
+
119
+ If `widget` is in scope, execute **Step 4** from `.claude/prompts/generate-widget-components.md` in full:
120
+ - Use the derived widget output path: `<base>/widget/`
121
+ - The general skill (`widget-components.md`) is already loaded from Step 1 — do not re-read it
122
+ - The DS UI primitive map is already built from Step 2 — do not repeat discovery commands
123
+ - For each of the 9 widget components: read skill file → generate → register in `component-map.ts`
124
+ - If no skill file exists for a component (e.g., `SummaryList`), use the general pattern from `widget-components.md`
125
+ - Report progress after each component
126
+
127
+ ---
128
+
129
+ ## Step 7 — Generate design system extension components (skip if DSE not in scope)
130
+
131
+ If `designSystemExtension` is in scope, execute **Step 4** from `.claude/prompts/generate-dse-components.md` in full:
132
+ - Use the derived DSE output path: `<base>/designSystemExtension/`
133
+ - The general skill (`design-system-extension.md`) is already loaded from Step 1 — do not re-read it
134
+ - The DS display primitive map is already built from Step 2 — do not repeat discovery commands
135
+ - For each of the 11 DSE components: read skill file → generate → register in `component-map.ts`
136
+ - Apply the Pattern B/A/C branching as specified in the skill file and `design-system-extension.md`
137
+ - Report progress after each component
138
+
139
+ ---
140
+
141
+ ## Step 8 — Verify the build
142
+
143
+ Execute **Step 7** from `.claude/prompts/add-component.md` exactly as written:
144
+ - Run `npm run build`
145
+ - Fix any TypeScript or build errors before reporting completion
146
+ - Report a final summary:
147
+ - Total components generated, grouped by type
148
+ - All entries added to `component-map.ts`
149
+ - Any components skipped (if "skip existing" was chosen in Step 3)
@@ -0,0 +1,126 @@
1
+ ## Step 0 — Resolve inputs
2
+
3
+ Read the user's message carefully. Extract:
4
+
5
+ - **Design system** — the UI library to use (e.g. `Ant Design`, `Chakra UI`, `Carbon`, `Radix UI`)
6
+ - **Output base path** — the folder where DSE components should be generated (e.g. `src/components/designSystemExtension/`)
7
+ - **Component list** — which components to generate (default: all 11 listed below)
8
+
9
+ 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.
10
+
11
+ Example questions (ask only the ones that are actually missing):
12
+ 1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
13
+ 2. Where should the DSE components be generated? (e.g. `src/components/designSystemExtension/`)
14
+
15
+ If the user specified a subset (e.g., "just AlertBanner and FieldValueList"), restrict the list accordingly.
16
+
17
+ Once both are known, continue to Step 1.
18
+
19
+ ### Full component list (default — 11 DSE components)
20
+
21
+ | Component | Pattern | DS needed? |
22
+ |---|---|---|
23
+ | AlertBanner | B — Pure display | Yes |
24
+ | Banner | B — Pure display | Yes |
25
+ | CaseSummaryFields | A — PConnect display | Minimal |
26
+ | DetailsFields | A — PConnect display | Minimal |
27
+ | FieldGroup | C — Complex display | No |
28
+ | FieldGroupList | C — Complex display | No |
29
+ | FieldValueList | A — PConnect display | No (CSS only) |
30
+ | Operator | B — Pure display | Yes |
31
+ | Pulse | C — Complex display | No |
32
+ | RichTextEditor | C — Complex display | No |
33
+ | WssQuickCreate | B — Pure display | Yes |
34
+
35
+ ---
36
+
37
+ ## Step 1 — Read `design-system-extension.md` (once, for the entire session)
38
+
39
+ Read the full contents of `.claude/skills/design-system-extension.md`.
40
+
41
+ This gives you:
42
+ - All three implementation patterns (Pure display, Field value display, Complex display with PConnect)
43
+ - The `// [DS RENDER]` placeholder approach for Pattern B components
44
+ - The Design System Adaptation section — pattern categorisation, variant mapping table, DS discovery guidance
45
+ - Styling patterns — when to use CSS files vs DS style props
46
+ - Registration conventions
47
+
48
+ Keep this context active throughout the entire generation session. Do not re-read it per component.
49
+
50
+ ---
51
+
52
+ ## Step 2 — Install and discover the design system (once)
53
+
54
+ Execute **Step 3** from `.claude/prompts/add-component.md` exactly as written:
55
+ - Check `package.json` for the DS package
56
+ - Install if missing, including any peer dependencies
57
+ - Report what was installed
58
+
59
+ Then execute **Step 4** from `.claude/prompts/add-component.md` exactly as written:
60
+ - Read the DS README from `node_modules`
61
+ - Discover exported components from `dist/index.d.ts`
62
+ - Focus on display primitives used by Pattern B components: Alert, Card, Avatar, Badge, Tag, Notification
63
+ - Read prop interfaces for these components from `.d.ts` files
64
+
65
+ > 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.
66
+
67
+ Build a **DS display primitive reference map** from this discovery. Reuse it for every Pattern B component — do not repeat these commands per component.
68
+
69
+ ---
70
+
71
+ ## Step 3 — Overwrite check (all at once)
72
+
73
+ For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
74
+
75
+ If **any** exist, report them all at once and ask:
76
+ > "The following N components already exist: [list]. How should I proceed?
77
+ > - **Overwrite all** — replace all existing implementations
78
+ > - **Skip existing** — only generate components that don't exist yet
79
+ > - **Cancel** — stop without generating anything"
80
+
81
+ Wait for the user's answer before proceeding. If none exist, continue immediately.
82
+
83
+ ---
84
+
85
+ ## Step 4 — Generate each component (loop)
86
+
87
+ For each component in the resolved list (in the order listed in Step 0):
88
+
89
+ ### 4a — Read the component-specific skill file
90
+ Execute **Step 2** from `.claude/prompts/add-component.md` for this component:
91
+ - Read `.claude/skills/design-system-extension-skills/<ComponentName>.md` fully
92
+ - Identify the component's pattern (B / A / C) from the skill file
93
+ - Pay attention to:
94
+ - **Behavioral Contract** — prop handling, variant mapping, rendering logic, edge cases
95
+ - **Design System Mapping** table — the recommended DS primitive for Pattern B components
96
+
97
+ ### 4b — Generate the component files
98
+ Execute **Step 5** from `.claude/prompts/add-component.md` for this component:
99
+ - Create `<outputPath>/<ComponentName>/` directory
100
+ - Create `<ComponentName>.tsx` using:
101
+ - **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
102
+ - **Pattern A** (PConnect display — CaseSummaryFields, DetailsFields, FieldValueList): use CSS classes or DS typography props; no DS component primitives
103
+ - **Pattern C** (Complex display — FieldGroup, FieldGroupList, Pulse, RichTextEditor): use PConnect bridge (`createElement(createPConnectComponent(), ...)`); no DS primitives
104
+ - Create `index.tsx` if required by the skill file:
105
+ ```typescript
106
+ export { default } from './<ComponentName>';
107
+ ```
108
+ - Create any CSS file required by the skill file
109
+
110
+ ### 4c — Register the component
111
+ Execute **Step 6** from `.claude/prompts/add-component.md` for this component:
112
+ - Add the import to `src/components/component-map.ts` in the Design System Extension section
113
+ - Add the entry to `getSampleComponentMap()` under the DSE comment
114
+ - Do not reorder or restructure any existing entries
115
+
116
+ ### 4d — Report progress
117
+ After each component: "`<ComponentName>` ✓ — Pattern `<B/A/C>`<`, using <DS primitive>` if Pattern B>"
118
+
119
+ ---
120
+
121
+ ## Step 5 — Verify the build
122
+
123
+ Execute **Step 7** from `.claude/prompts/add-component.md` exactly as written:
124
+ - Run `npm run build`
125
+ - Fix any TypeScript or build errors before reporting completion
126
+ - Report a summary: list of all files created and all entries added to `component-map.ts`
@@ -0,0 +1,139 @@
1
+ ## Step 0 — Resolve inputs
2
+
3
+ Read the user's message carefully. Extract:
4
+
5
+ - **Design system** — the UI library to use (e.g. `Ant Design`, `Chakra UI`, `Carbon`, `Radix UI`)
6
+ - **Output base path** — the folder where field components should be generated (e.g. `src/components/field/`, `app/ui/fields/`)
7
+ - **Component list** — which components to generate (default: all 27 listed below)
8
+
9
+ 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.
10
+
11
+ Example questions (ask only the ones that are actually missing):
12
+ 1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
13
+ 2. Where should the field components be generated? (e.g. `src/components/field/`)
14
+
15
+ If the user specified a subset (e.g., "just TextInput and Dropdown"), restrict the list accordingly.
16
+
17
+ Once both are known, continue to Step 1.
18
+
19
+ ### Full component list (default)
20
+
21
+ | Component | Pega Name |
22
+ |---|---|
23
+ | AutoComplete | AutoComplete |
24
+ | CancelAlert | CancelAlert |
25
+ | Checkbox | Checkbox |
26
+ | Currency | Currency |
27
+ | Date | Date |
28
+ | DateTime | DateTime |
29
+ | Decimal | Decimal |
30
+ | Dropdown | Dropdown |
31
+ | Email | Email |
32
+ | Group | Group |
33
+ | Integer | Integer |
34
+ | Location | Location |
35
+ | Multiselect | Multiselect |
36
+ | ObjectReference | ObjectReference |
37
+ | Percentage | Percentage |
38
+ | Phone | Phone |
39
+ | RadioButtons | RadioButtons |
40
+ | RichText | RichText |
41
+ | ScalarList | ScalarList |
42
+ | SelectableCard | SelectableCard |
43
+ | SemanticLink | SemanticLink |
44
+ | TextArea | TextArea |
45
+ | TextContent | TextContent |
46
+ | TextInput | TextInput |
47
+ | Time | Time |
48
+ | URL | URL |
49
+ | UserReference | UserReference |
50
+
51
+ ---
52
+
53
+ ## Step 1 — Read `field-components.md` (once, for the entire session)
54
+
55
+ Read the full contents of `.claude/skills/field-components.md`.
56
+
57
+ This gives you:
58
+ - The behavioral skeleton every field component must follow (state, effects, event handling, display modes)
59
+ - The Design System Adaptation guide (prop mapping conventions, form layout wrappers)
60
+ - The abstract template to use as a base for all components
61
+
62
+ Keep this context active throughout the entire generation session. Do not re-read it per component.
63
+
64
+ ---
65
+
66
+ ## Step 2 — Install and discover the design system (once)
67
+
68
+ Execute **Step 3** from `.claude/prompts/add-component.md` exactly as written:
69
+ - Check `package.json` for the DS package
70
+ - Install if missing, including any peer dependencies
71
+ - Report what was installed
72
+
73
+ Then execute **Step 4** from `.claude/prompts/add-component.md` exactly as written:
74
+ - Read the DS README from `node_modules`
75
+ - Discover all exported components from `dist/index.d.ts`
76
+ - Read prop interfaces for the control types needed across the component list
77
+ - Note form layout wrappers, size/variant conventions, icon packages, and design tokens
78
+
79
+ Build a **DS API reference map** from this discovery. You will reuse it for every component — do not repeat these commands per component.
80
+
81
+ ---
82
+
83
+ ## Step 3 — Overwrite check (all at once)
84
+
85
+ For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
86
+
87
+ If **any** exist, report them all at once and ask:
88
+ > "The following N components already exist: [list]. How should I proceed?
89
+ > - **Overwrite all** — replace all existing implementations
90
+ > - **Skip existing** — only generate components that don't exist yet
91
+ > - **Cancel** — stop without generating anything"
92
+
93
+ Wait for the user's answer before proceeding. If none exist, continue immediately.
94
+
95
+ ---
96
+
97
+ ## Step 4 — Generate each component (loop)
98
+
99
+ For each component in the resolved list (in the order listed in Step 0):
100
+
101
+ ### 4a — Read the component-specific skill file
102
+ Execute **Step 2** from `.claude/prompts/add-component.md` for this component:
103
+ - Read `.claude/skills/field-skills/<ComponentName>.md` fully
104
+ - Pay attention to:
105
+ - **Behavioral Contract** — state management, option loading, edge cases specific to this component
106
+ - **Design System Mapping** table — the recommended DS component for the chosen design system
107
+ - **UI control type** — use this to select the closest DS primitive if the chosen DS is not in the mapping table
108
+
109
+ ### 4b — Generate the component files
110
+ Execute **Step 5** from `.claude/prompts/add-component.md` for this component:
111
+ - Create `<outputPath>/<ComponentName>/` directory
112
+ - Create `<ComponentName>.tsx` using:
113
+ - The abstract behavioral skeleton from `field-components.md` (read in Step 1)
114
+ - The Behavioral Contract from the component skill file
115
+ - The DS API confirmed in Step 2 (from the DS API reference map — no new terminal commands needed)
116
+ - Display mode guards (`DISPLAY_ONLY`, `STACKED_LARGE_VAL`) via `getComponentFromRegistry('FieldValueList')`
117
+ - `data-test-id={testId}` on the underlying interactive element
118
+ - Create `index.tsx`:
119
+ ```typescript
120
+ export { default } from './<ComponentName>';
121
+ ```
122
+
123
+ ### 4c — Register the component
124
+ Execute **Step 6** from `.claude/prompts/add-component.md` for this component:
125
+ - Add the import to `src/components/component-map.ts` in the Fields section
126
+ - Add the entry to `getSampleComponentMap()` under the fields comment
127
+ - Do not reorder or restructure any existing entries
128
+
129
+ ### 4d — Report progress
130
+ After each component: "`<ComponentName>` ✓ — using `<DS component name>`"
131
+
132
+ ---
133
+
134
+ ## Step 5 — Verify the build
135
+
136
+ Execute **Step 7** from `.claude/prompts/add-component.md` exactly as written:
137
+ - Run `npm run build`
138
+ - Fix any TypeScript or build errors before reporting completion
139
+ - Report a summary: list of all files created and all entries added to `component-map.ts`