@pega/sdk 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +287 -1
- package/package.json +1 -1
- package/templates/angular-sdk-reference/package.json +12 -12
- package/templates/angular-sdk-reference/tsconfig.json +1 -1
- package/templates/react-native-sdk-reference/expo-env.d.ts +3 -0
- package/templates/react-sdk-reference/{.github/agents/implementation-expert.agent.md → .ai-common/agents/implementation-expert.md} +23 -26
- package/templates/react-sdk-reference/{.github/copilot-instructions.md → .ai-common/global/ai-agent-instructions.md} +7 -7
- package/templates/react-sdk-reference/{.github/instructions/component-map.instructions.md → .ai-common/instructions/component-map.md} +8 -1
- package/templates/react-sdk-reference/{.github/instructions/dse-component.instructions.md → .ai-common/instructions/dse-component.md} +1 -1
- package/templates/react-sdk-reference/{.github/instructions/field-component.instructions.md → .ai-common/instructions/field-component.md} +2 -1
- package/templates/react-sdk-reference/{.github/instructions/template-component.instructions.md → .ai-common/instructions/template-component.md} +1 -1
- package/templates/react-sdk-reference/{.github/instructions/widget-component.instructions.md → .ai-common/instructions/widget-component.md} +1 -1
- package/templates/react-sdk-reference/{.github/prompts/add-component.prompt.md → .ai-common/prompts/add-component.md} +45 -18
- package/templates/react-sdk-reference/{.cursor/rules → .ai-common}/prompts/component-manifest.json +8 -2
- package/templates/react-sdk-reference/{.github/prompts/generate-all-components.prompt.md → .ai-common/prompts/generate-all-components.md} +195 -78
- package/templates/react-sdk-reference/{.github/prompts/generate-dse-components.prompt.md → .ai-common/prompts/generate-dse-components.md} +28 -17
- package/templates/react-sdk-reference/{.github/prompts/generate-field-components.prompt.md → .ai-common/prompts/generate-field-components.md} +32 -16
- package/templates/react-sdk-reference/{.github/prompts/generate-template-components.prompt.md → .ai-common/prompts/generate-template-components.md} +76 -22
- package/templates/react-sdk-reference/{.github/prompts/generate-widget-components.prompt.md → .ai-common/prompts/generate-widget-components.md} +44 -30
- package/templates/react-sdk-reference/{.claude → .ai-common}/prompts/identify-components.md +4 -0
- package/templates/react-sdk-reference/{.cursor/rules/prompts/replace-design-system.mdrules → .ai-common/prompts/replace-design-system.md} +2 -3
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/AlertBanner.md +50 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/Banner.md +44 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/CaseSummaryFields.md +54 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/DetailsFields.md +49 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/FieldGroup.md +44 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/FieldGroupList.md +43 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/FieldValueList.md +46 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/Operator.md +67 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/Pulse.md +20 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/RichTextEditor.md +58 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/WssQuickCreate.md +31 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension.md +1 -1
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-components.md +18 -1
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/AutoComplete.md +298 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/CancelAlert.md +132 -3
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Checkbox.md +358 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Currency.md +230 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/Date.md +221 -0
- package/templates/react-sdk-reference/.ai-common/skills/field-skills/DateTime.md +213 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Decimal.md +112 -13
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Dropdown.md +127 -1
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Email.md +68 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Group.md +51 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Integer.md +81 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Location.md +105 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Multiselect.md +70 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/ObjectReference.md +74 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Percentage.md +84 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Phone.md +81 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/RadioButtons.md +93 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/RichText.md +85 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/ScalarList.md +54 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/SelectableCard.md +55 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/SemanticLink.md +64 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/TextArea.md +66 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/TextContent.md +28 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/TextInput.md +67 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Time.md +67 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/URL.md +59 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/UserReference.md +90 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-components.md +83 -52
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/AdvancedSearch.md +77 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/AppShell.md +273 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/BannerPage.md +39 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/CaseSummary.md +79 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseView.md +399 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseViewActionsMenu.md +282 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/Confirmation.md +89 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DataReference.md +50 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DefaultForm.md +117 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DefaultPage.md +49 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/Details.md +59 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/DetailsSubTabs.md +60 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DetailsThreeColumn.md +12 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/DetailsTwoColumn.md +12 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DynamicTabs.md +67 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/FieldGroupTemplate.md +119 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/HierarchicalForm.md +45 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/InlineDashboard.md +41 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/InlineDashboardPage.md +56 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/ListPage.md +18 -0
- package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListView.md +419 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/MultiReferenceReadOnly.md +40 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/NarrowWide.md +66 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/OneColumn.md +34 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/PromotedFilters.md +92 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/SelfServiceCaseView.md +56 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/SimpleTable.md +59 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/SingleReferenceReadOnly.md +52 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/SubTabs.md +47 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/TwoColumn.md +49 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/WssNavBar.md +71 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-components.md +1 -1
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/AppAnnouncement.md +38 -1
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/Attachment.md +58 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/CaseHistory.md +63 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/widget-skills/FileUtility.md +81 -14
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/Followers.md +20 -0
- package/templates/react-sdk-reference/{.github → .ai-common}/skills/widget-skills/QuickCreate.md +48 -0
- package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/SummaryItem.md +66 -0
- package/templates/react-sdk-reference/.ai-common/skills/widget-skills/ToDo.md +492 -0
- package/templates/react-sdk-reference/package.minimal.json +29 -0
- package/templates/react-sdk-reference/src/AppProviders.tsx +17 -0
- package/templates/react-sdk-reference/src/MashupApp.tsx +8 -19
- package/templates/react-sdk-reference/src/PortalApp.tsx +6 -17
- package/templates/react-sdk-reference/.claude/instructions/component-map.md +0 -38
- package/templates/react-sdk-reference/.claude/instructions/dse-component.md +0 -75
- package/templates/react-sdk-reference/.claude/instructions/field-component.md +0 -75
- package/templates/react-sdk-reference/.claude/instructions/template-component.md +0 -93
- package/templates/react-sdk-reference/.claude/instructions/widget-component.md +0 -88
- package/templates/react-sdk-reference/.claude/prompts/add-component.md +0 -152
- package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +0 -193
- package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +0 -158
- package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +0 -140
- package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +0 -153
- package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +0 -165
- package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +0 -138
- package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +0 -519
- package/templates/react-sdk-reference/.claude/skills/component-contracts.md +0 -140
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +0 -137
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +0 -134
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +0 -118
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +0 -85
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +0 -232
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +0 -137
- package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +0 -291
- package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +0 -113
- package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +0 -175
- package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +0 -109
- package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +0 -101
- package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +0 -106
- package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +0 -88
- package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +0 -188
- package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +0 -173
- package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +0 -93
- package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +0 -129
- package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +0 -167
- package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +0 -149
- package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +0 -134
- package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +0 -231
- package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +0 -155
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +0 -107
- package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +0 -89
- package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +0 -86
- package/templates/react-sdk-reference/.claude/skills/template-components.md +0 -321
- package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +0 -150
- package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +0 -124
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +0 -106
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +0 -137
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +0 -131
- package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +0 -109
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +0 -97
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +0 -80
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +0 -70
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +0 -142
- package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +0 -82
- package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +0 -114
- package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +0 -131
- package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +0 -108
- package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +0 -82
- package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +0 -206
- package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +0 -118
- package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +0 -198
- package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +0 -41
- package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +0 -78
- package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +0 -74
- package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +0 -247
- package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +0 -149
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +0 -154
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +0 -131
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +0 -144
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +0 -156
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +0 -129
- package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +0 -110
- package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +0 -145
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +0 -140
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +0 -154
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +0 -159
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +0 -149
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +0 -136
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +0 -116
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +0 -120
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +0 -154
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +0 -88
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +0 -211
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +0 -140
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +0 -294
- package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +0 -299
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +0 -117
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +0 -208
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +0 -163
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +0 -111
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +0 -104
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +0 -108
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +0 -103
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +0 -119
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +0 -112
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +0 -95
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +0 -92
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +0 -141
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +0 -169
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +0 -169
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +0 -97
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +0 -115
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +0 -151
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +0 -143
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +0 -129
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +0 -221
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +0 -153
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +0 -101
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +0 -106
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +0 -109
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +0 -93
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +0 -90
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +0 -185
- package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +0 -73
- package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +0 -327
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +0 -149
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +0 -127
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +0 -88
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +0 -105
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +0 -136
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +0 -131
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +0 -112
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +0 -125
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +0 -107
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +0 -115
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +0 -93
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +0 -100
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +0 -83
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +0 -83
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +0 -106
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +0 -114
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +0 -118
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +0 -109
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +0 -90
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +0 -73
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +0 -144
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +0 -85
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +0 -146
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +0 -114
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +0 -129
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +0 -140
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +0 -132
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +0 -108
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +0 -84
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +0 -136
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +0 -155
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +0 -140
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +0 -276
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +0 -87
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +0 -151
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +0 -112
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +0 -205
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +0 -104
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +0 -119
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +0 -172
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +0 -195
- package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +0 -95
- package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +0 -90
- package/templates/react-sdk-reference/.github/prompts/component-manifest.json +0 -193
- package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +0 -110
- package/templates/react-sdk-reference/.github/prompts/replace-design-system.prompt.md +0 -524
- package/templates/react-sdk-reference/.github/skills/component-contracts.md +0 -140
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +0 -152
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +0 -159
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +0 -148
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +0 -113
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +0 -155
- package/templates/react-sdk-reference/.github/skills/field-components.md +0 -295
- package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +0 -113
- package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +0 -211
- package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +0 -175
- package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +0 -109
- package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +0 -101
- package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +0 -106
- package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +0 -99
- package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +0 -134
- package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +0 -109
- package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +0 -96
- package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +0 -145
- package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +0 -98
- package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +0 -117
- package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +0 -203
- package/templates/react-sdk-reference/.github/skills/run-and-verify.md +0 -70
- package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +0 -124
- package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +0 -86
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +0 -137
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +0 -131
- package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +0 -124
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +0 -104
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +0 -112
- package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +0 -90
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +0 -80
- package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +0 -106
- package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +0 -112
- package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +0 -116
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +0 -108
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +0 -82
- package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +0 -142
- package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +0 -143
- package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +0 -130
- package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +0 -142
- package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +0 -133
- package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +0 -152
- package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +0 -139
- package/templates/react-sdk-reference/.github/skills/widget-components.md +0 -260
- package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +0 -84
- package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +0 -151
- package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +0 -110
- package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +0 -103
- package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +0 -169
- package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +0 -198
- package/templates/react-sdk-reference/AGENTS.md +0 -246
- /package/templates/react-sdk-reference/{.claude → .ai-common}/skills/run-and-verify.md +0 -0
- /package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/WideNarrow.md +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
description: Add a new component type to the registry
|
|
2
|
+
ai-description: Add a new component type to the registry
|
|
4
3
|
---
|
|
5
4
|
|
|
6
5
|
## Step 0 — Resolve missing information
|
|
@@ -12,7 +11,7 @@ Read the user's message carefully. Extract:
|
|
|
12
11
|
- **Design system** — the UI library to use (e.g. `Ant Design`, `Chakra UI`, `Carbon`, `Radix UI`)
|
|
13
12
|
- **Output path** — the exact or relative path where the component should be generated (e.g. `src/components/field/AutoComplete`)
|
|
14
13
|
|
|
15
|
-
All four values above are required. If any are missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure,
|
|
14
|
+
All four values above are required. If any are missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `{{AI_FILE_EXT}}` files, existing folders, or any other source.
|
|
16
15
|
|
|
17
16
|
⛔ **STOP** — If the user's message does not explicitly provide ALL of: component name, component type, design system, and output path — ask for the missing items now. Do not proceed to Step 1 until you have explicit answers from the user for all required inputs.
|
|
18
17
|
|
|
@@ -25,7 +24,7 @@ Example questions to ask (only ask the ones that are actually missing):
|
|
|
25
24
|
|
|
26
25
|
### Case-insensitive component name matching
|
|
27
26
|
|
|
28
|
-
The user may enter the component name in any casing (e.g. `autocomplete`, `Autocomplete`, `autoComplete`). It is your responsibility to match it to the correct canonical name by checking the skill files in
|
|
27
|
+
The user may enter the component name in any casing (e.g. `autocomplete`, `Autocomplete`, `autoComplete`). It is your responsibility to match it to the correct canonical name by checking the skill files in `{{SKILL_DIR}}/field-skills/`, `{{SKILL_DIR}}/template-skills/`, `{{SKILL_DIR}}/widget-skills/`, and `{{SKILL_DIR}}/design-system-extension-skills/`. For example, if the user types `autocomplete`, match it to `AutoComplete`.
|
|
29
28
|
|
|
30
29
|
Once all four are known, continue to Step 1.
|
|
31
30
|
|
|
@@ -47,21 +46,21 @@ Before generating, check if a component already exists at the resolved output pa
|
|
|
47
46
|
|
|
48
47
|
Always read the **general type skill** for the component type:
|
|
49
48
|
|
|
50
|
-
| Component Type | General Skill File
|
|
51
|
-
| ----------------------- |
|
|
52
|
-
| `field` |
|
|
53
|
-
| `template` |
|
|
54
|
-
| `widget` |
|
|
55
|
-
| `designSystemExtension` |
|
|
49
|
+
| Component Type | General Skill File |
|
|
50
|
+
| ----------------------- | ------------------------------------------ |
|
|
51
|
+
| `field` | `{{SKILL_DIR}}/field-components.md` |
|
|
52
|
+
| `template` | `{{SKILL_DIR}}/template-components.md` |
|
|
53
|
+
| `widget` | `{{SKILL_DIR}}/widget-components.md` |
|
|
54
|
+
| `designSystemExtension` | `{{SKILL_DIR}}/design-system-extension.md` |
|
|
56
55
|
|
|
57
56
|
Then look for a **component-specific skill** based on the component type:
|
|
58
57
|
|
|
59
|
-
| Component Type | Specific Skill Location
|
|
60
|
-
| ----------------------- |
|
|
61
|
-
| `field` |
|
|
62
|
-
| `template` |
|
|
63
|
-
| `widget` |
|
|
64
|
-
| `designSystemExtension` |
|
|
58
|
+
| Component Type | Specific Skill Location |
|
|
59
|
+
| ----------------------- | ----------------------------------------------------------------- |
|
|
60
|
+
| `field` | `{{SKILL_DIR}}/field-skills/<ComponentName>.md` |
|
|
61
|
+
| `template` | `{{SKILL_DIR}}/template-skills/<ComponentName>.md` |
|
|
62
|
+
| `widget` | `{{SKILL_DIR}}/widget-skills/<ComponentName>.md` |
|
|
63
|
+
| `designSystemExtension` | `{{SKILL_DIR}}/design-system-extension-skills/<ComponentName>.md` |
|
|
65
64
|
|
|
66
65
|
If the component-specific skill file exists, read it fully. Pay special attention to:
|
|
67
66
|
|
|
@@ -97,9 +96,29 @@ npm install <design-system-package>
|
|
|
97
96
|
|
|
98
97
|
Also install any peer dependencies documented in the package's README. Report what was installed.
|
|
99
98
|
|
|
100
|
-
|
|
99
|
+
### 3.1 — Install the DS styles package and configure global CSS (MANDATORY)
|
|
100
|
+
|
|
101
|
+
Design systems require their global stylesheet — without it, components render unstyled.
|
|
102
|
+
|
|
103
|
+
#### Known DS style requirements (examples — verify from README for exact paths):
|
|
104
|
+
|
|
105
|
+
| Design System | Styles Package (example) | CSS Import in `src/main.tsx` (example) | Provider Wrapper (example) |
|
|
106
|
+
| ------------- | ------------------------ | ---------------------------------------- | -------------------------- |
|
|
107
|
+
| Carbon | `@carbon/styles` | `import '@carbon/react/css/styles.css';` | `<Theme>` |
|
|
108
|
+
| Ant Design | (included) | `import 'antd/dist/reset.css';` | `<ConfigProvider>` |
|
|
109
|
+
| Radix Themes | `@radix-ui/themes` | `import '@radix-ui/themes/styles.css';` | `<Theme>` |
|
|
110
|
+
| Chakra UI | (included) | (none — runtime) | `<ChakraProvider>` |
|
|
111
|
+
| Shadcn/ui | (Tailwind) | `import './globals.css';` | None |
|
|
112
|
+
| MUI | (included) | (none — CSS-in-JS) | `<ThemeProvider>` |
|
|
113
|
+
|
|
114
|
+
These are **examples** based on common versions. Always verify the exact import path and provider name from the installed package's README (`node_modules/<ds>/README.md`).
|
|
101
115
|
|
|
102
|
-
|
|
116
|
+
If in table and not already configured: install styles package (if separate), add CSS import as **first import** in `src/main.tsx`, add Provider in `src/AppProviders.tsx`.
|
|
117
|
+
If not in table: check README and `find node_modules/<ds> -name "*.css" -path "*/dist/*" | head -5`.
|
|
118
|
+
|
|
119
|
+
Verification: `grep -n "import.*css\|import.*styles" src/main.tsx` — if already present, report "already configured" and continue.
|
|
120
|
+
|
|
121
|
+
Report what was installed/configured (or "already configured").
|
|
103
122
|
|
|
104
123
|
Before writing any code, inspect the installed package:
|
|
105
124
|
|
|
@@ -177,6 +196,14 @@ Edit `src/components/component-map.ts`:
|
|
|
177
196
|
1. Add the import at the top of the file, in the correct section (Fields / Templates / Widgets / Design System Extension)
|
|
178
197
|
2. Add an entry in `getSampleComponentMap()` under the matching category comment
|
|
179
198
|
|
|
199
|
+
⚠️ **Key name exceptions** — verify after registration:
|
|
200
|
+
|
|
201
|
+
- `Date: DateField` (not `DateField,`) — `Date` is a reserved JS global
|
|
202
|
+
- `URL: URLComponent` (not `URLComponent,`) — `URL` is a reserved JS global
|
|
203
|
+
- `Todo: ToDo` (not `ToDo,`) — Pega sends `Todo`, not `ToDo`
|
|
204
|
+
|
|
205
|
+
If the component being added matches any of the above, use the explicit `key: value` mapping instead of shorthand.
|
|
206
|
+
|
|
180
207
|
Do not restructure or reorder any existing entries.
|
|
181
208
|
|
|
182
209
|
---
|
package/templates/react-sdk-reference/{.cursor/rules → .ai-common}/prompts/component-manifest.json
RENAMED
|
@@ -119,7 +119,9 @@
|
|
|
119
119
|
{ "name": "SubTabs", "path": "src/components/template/SubTabs" },
|
|
120
120
|
{ "name": "TwoColumn", "path": "src/components/template/TwoColumn" },
|
|
121
121
|
{ "name": "WideNarrow", "path": "src/components/template/WideNarrow" },
|
|
122
|
-
{ "name": "WssNavBar", "path": "src/components/template/WssNavBar" }
|
|
122
|
+
{ "name": "WssNavBar", "path": "src/components/template/WssNavBar" },
|
|
123
|
+
{ "name": "SearchForm", "path": "src/components/template/DataReference/SearchForm" },
|
|
124
|
+
{ "name": "SearchGroups", "path": "src/components/template/AdvancedSearch/SearchGroups" }
|
|
123
125
|
],
|
|
124
126
|
"widget": [
|
|
125
127
|
{
|
|
@@ -133,7 +135,11 @@
|
|
|
133
135
|
{ "name": "QuickCreate", "path": "src/components/widget/QuickCreate" },
|
|
134
136
|
{ "name": "SummaryItem", "path": "src/components/widget/SummaryItem" },
|
|
135
137
|
{ "name": "SummaryList", "path": "src/components/widget/SummaryList" },
|
|
136
|
-
{ "name": "ToDo", "path": "src/components/widget/ToDo" }
|
|
138
|
+
{ "name": "ToDo", "path": "src/components/widget/ToDo" },
|
|
139
|
+
{
|
|
140
|
+
"name": "ActionButtonsForFileUtil",
|
|
141
|
+
"path": "src/components/widget/FileUtility/ActionButtonsForFileUtil"
|
|
142
|
+
}
|
|
137
143
|
],
|
|
138
144
|
"infra": [
|
|
139
145
|
{ "name": "ActionButtons", "path": "src/components/infra/ActionButtons" },
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
description: Generate components across multiple types (field, template, widget, designSystemExtension) using any design system
|
|
2
|
+
ai-description: Generate components across multiple types (field, template, widget, designSystemExtension) using any design system
|
|
4
3
|
---
|
|
5
4
|
|
|
6
5
|
## Step 0 — Resolve inputs
|
|
@@ -11,7 +10,7 @@ Read the user's message carefully. Extract:
|
|
|
11
10
|
- **Base components folder** — the root folder that contains (or will contain) the component type subfolders (e.g. `src/components/`)
|
|
12
11
|
- **Component types in scope** — which types to generate (default: all four if not specified)
|
|
13
12
|
|
|
14
|
-
Both **design system** and **base components folder** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure,
|
|
13
|
+
Both **design system** and **base components folder** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `{{AI_FILE_EXT}}` files, existing folders, or any other source.
|
|
15
14
|
|
|
16
15
|
⛔ **STOP** — If the user's message does not explicitly state BOTH the design system AND the base components folder, ask for the missing items now. Do not proceed to Step 1 until you have explicit answers from the user for all required inputs.
|
|
17
16
|
|
|
@@ -53,12 +52,12 @@ Once design system, base folder, and type scope are resolved, continue to Step 1
|
|
|
53
52
|
|
|
54
53
|
Read the general skill file for every type in scope. Do this upfront — do not re-read per component.
|
|
55
54
|
|
|
56
|
-
| Type | Skill file to read
|
|
57
|
-
| --------------------- |
|
|
58
|
-
| field |
|
|
59
|
-
| template |
|
|
60
|
-
| widget |
|
|
61
|
-
| designSystemExtension |
|
|
55
|
+
| Type | Skill file to read |
|
|
56
|
+
| --------------------- | ------------------------------------------ |
|
|
57
|
+
| field | `{{SKILL_DIR}}/field-components.md` |
|
|
58
|
+
| template | `{{SKILL_DIR}}/template-components.md` |
|
|
59
|
+
| widget | `{{SKILL_DIR}}/widget-components.md` |
|
|
60
|
+
| designSystemExtension | `{{SKILL_DIR}}/design-system-extension.md` |
|
|
62
61
|
|
|
63
62
|
Keep all loaded skill files active throughout the entire session.
|
|
64
63
|
|
|
@@ -82,44 +81,153 @@ npm install <design-system-package>
|
|
|
82
81
|
|
|
83
82
|
Also install any peer dependencies documented in the package's README. Report what was installed.
|
|
84
83
|
|
|
85
|
-
###
|
|
84
|
+
### 2a.1 — Install the DS styles package and configure global CSS (MANDATORY)
|
|
86
85
|
|
|
87
|
-
|
|
86
|
+
Design systems require their global stylesheet to be loaded — without it, components render as unstyled browser-native HTML. This step is **not optional**.
|
|
88
87
|
|
|
89
|
-
|
|
88
|
+
#### Known DS style requirements (examples — verify from README for exact paths):
|
|
90
89
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
| Design System | Styles Package to Install | CSS Import to Add in `src/main.tsx` (example) | Provider Wrapper (example) |
|
|
91
|
+
| ------------- | -------------------------------- | --------------------------------------------- | --------------------------------------------- |
|
|
92
|
+
| Carbon | `@carbon/styles` | `import '@carbon/react/css/styles.css';` | `<Theme>` from `@carbon/react` |
|
|
93
|
+
| Ant Design | (included in `antd`) | `import 'antd/dist/reset.css';` | `<ConfigProvider>` from `antd` |
|
|
94
|
+
| Radix Themes | `@radix-ui/themes` | `import '@radix-ui/themes/styles.css';` | `<Theme>` from `@radix-ui/themes` |
|
|
95
|
+
| Chakra UI | (included in `@chakra-ui/react`) | (no CSS file needed) | `<ChakraProvider>` from `@chakra-ui/react` |
|
|
96
|
+
| Shadcn/ui | (Tailwind CSS) | `import './globals.css';` (Tailwind output) | None (uses Tailwind classes directly) |
|
|
97
|
+
| MUI | (included in `@mui/material`) | (no CSS file needed — CSS-in-JS) | `<ThemeProvider>` from `@mui/material/styles` |
|
|
94
98
|
|
|
95
|
-
|
|
99
|
+
These are **examples** based on common versions. Always verify the exact import path and provider name from the installed package's README (`node_modules/<ds>/README.md`) — paths may differ across versions.
|
|
96
100
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
101
|
+
#### If the DS is in the table above:
|
|
102
|
+
|
|
103
|
+
1. Install the styles package (if separate): `npm install <styles-package>`
|
|
104
|
+
2. Add the CSS import as the **first import** in `src/main.tsx` (before any component imports)
|
|
105
|
+
3. Add the Provider wrapper in `src/AppProviders.tsx`
|
|
100
106
|
|
|
101
|
-
|
|
107
|
+
#### If the DS is NOT in the table:
|
|
102
108
|
|
|
109
|
+
1. Check `node_modules/<designSystem>/README.md` for CSS/styles setup instructions
|
|
110
|
+
2. Search for a CSS entry point:
|
|
103
111
|
```bash
|
|
104
|
-
find node_modules/<designSystem> -name "
|
|
105
|
-
grep -A 40 "interface.*Props" <path-from-above>
|
|
112
|
+
find node_modules/<designSystem> -name "*.css" -path "*/dist/*" | head -5
|
|
106
113
|
```
|
|
114
|
+
3. Install and import whatever is found
|
|
115
|
+
4. Check if a Provider/ThemeProvider is documented in the README
|
|
116
|
+
|
|
117
|
+
#### Verification (non-visual):
|
|
118
|
+
|
|
119
|
+
After adding the CSS import, confirm it exists in the entry file:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
grep -n "import.*css\|import.*styles\|import.*reset" src/main.tsx
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
If this grep returns nothing, the CSS was NOT added correctly — fix it before proceeding.
|
|
126
|
+
|
|
127
|
+
⛔ **Do NOT proceed to Step 2b until the CSS import is confirmed present in `src/main.tsx`.** Without it, every generated component will render unstyled.
|
|
128
|
+
|
|
129
|
+
### 2b — Deep-dive into the installed DS package
|
|
130
|
+
|
|
131
|
+
After installation, build a comprehensive understanding of the design system by reading its source declarations. Do NOT rely on training knowledge — read the actual installed files.
|
|
132
|
+
|
|
133
|
+
#### Step 2b.1 — Read the README and understand the DS architecture
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
cat node_modules/<designSystem>/README.md
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Extract:
|
|
140
|
+
|
|
141
|
+
- Correct import paths (named exports from root vs subpath imports like `<ds>/Button`)
|
|
142
|
+
- Whether it uses a **Provider/ThemeProvider** wrapper (if so, note the setup requirements)
|
|
143
|
+
- Whether it has a **CSS reset or global styles** requirement
|
|
144
|
+
|
|
145
|
+
#### Step 2b.2 — List every exported component
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
grep "^export" node_modules/<designSystem>/dist/index.d.ts 2>/dev/null || grep -rl "^export" node_modules/<designSystem> --include="index.d.ts" | head -5 | xargs grep "^export"
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Save this full export list — it is the authoritative source of what components exist. Any component name not in this list does NOT exist and must NOT be used.
|
|
152
|
+
|
|
153
|
+
#### Step 2b.3 — Read every exported component's prop interface
|
|
154
|
+
|
|
155
|
+
For EACH exported component from Step 2b.2, read its TypeScript declarations to understand:
|
|
156
|
+
|
|
157
|
+
- All available props (required and optional)
|
|
158
|
+
- Supported variants, sizes, and states (e.g., `variant: 'outlined' | 'filled'`)
|
|
159
|
+
- Event handler prop names (e.g., `onChange`, `onValueChange`, `onSelect`)
|
|
160
|
+
- Slot/composition patterns (e.g., `renderInput`, `startAdornment`, `prefix`)
|
|
161
|
+
- Whether it accepts `children` or uses named slots
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# For each component, find and read its type declarations:
|
|
165
|
+
find node_modules/<designSystem> -name "*.d.ts" -path "*ComponentName*" | head -3
|
|
166
|
+
grep -A 60 "interface.*Props" <path-from-above>
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Organize your findings into a **DS Component Catalog** grouped by UI category:
|
|
170
|
+
|
|
171
|
+
**Form inputs:** Input, Select, Checkbox, Radio, DatePicker, TimePicker, Autocomplete/Combobox, NumberInput, Textarea, Switch, etc.
|
|
172
|
+
|
|
173
|
+
- For each: note the exact prop names for `value`, `onChange`, `error/invalid`, `disabled`, `readOnly`, `placeholder`, `label`, `helperText/description`
|
|
174
|
+
|
|
175
|
+
**Layout:** Grid, Flex, Stack, SimpleGrid, Columns, Box, Container, etc.
|
|
176
|
+
|
|
177
|
+
- For each: note how column counts/ratios are specified (e.g., `columns={2}`, `templateColumns`, `span`)
|
|
178
|
+
- Note responsive breakpoint props (e.g., `{{ base: 1, md: 2 }}`)
|
|
179
|
+
|
|
180
|
+
**Data display:** Table, List, Card, Badge, Tag, Avatar, Typography/Text, etc.
|
|
181
|
+
|
|
182
|
+
- For each: note sub-components (e.g., `Table.Head`, `Card.Header`)
|
|
183
|
+
|
|
184
|
+
**Feedback:** Alert, Toast/Snackbar, Dialog/Modal, Popover, Progress, Spinner, etc.
|
|
185
|
+
|
|
186
|
+
- For each: note severity/status prop names and how to show/dismiss
|
|
187
|
+
|
|
188
|
+
**Navigation:** Tabs, Menu/Dropdown, Link, Button, IconButton, etc.
|
|
107
189
|
|
|
108
|
-
|
|
109
|
-
- **field**: form input controls (Input, Select, Checkbox, DatePicker, etc.)
|
|
110
|
-
- **template**: grid/layout primitives (Grid, Flex, Columns, SimpleGrid, etc.)
|
|
111
|
-
- **widget**: card/list/table/button/badge primitives
|
|
112
|
-
- **designSystemExtension**: alert/notification/avatar primitives
|
|
190
|
+
#### Step 2b.4 — Check supporting features
|
|
113
191
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
192
|
+
- **Form layout wrapper** — does the DS provide a component that combines label + input + helper text + error message? (e.g., `Form.Item`, `FormControl`, `Field`). If yes, use it for ALL field components instead of composing label/input/helper manually.
|
|
193
|
+
- **Companion icons package** — list the package name and read its exports. Never guess icon names:
|
|
194
|
+
```bash
|
|
195
|
+
ls node_modules/<designSystem>-icons/dist/ 2>/dev/null | head -20
|
|
196
|
+
```
|
|
197
|
+
- **CSS tokens / design tokens** — does the DS expose CSS custom properties or a token system? Use them for spacing instead of hardcoded `px` values.
|
|
198
|
+
- **Theme variants** — what `size` values are available? (e.g., `sm`, `md`, `lg`). What `variant` values? (e.g., `outlined`, `filled`, `ghost`).
|
|
119
199
|
|
|
120
|
-
|
|
200
|
+
#### Step 2b.5 — Build the DS API reference map
|
|
121
201
|
|
|
122
|
-
|
|
202
|
+
Compile all findings into a single reference map structured as:
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
DS API Reference Map
|
|
206
|
+
====================
|
|
207
|
+
Package: <name>@<version>
|
|
208
|
+
Import pattern: import { Component } from '<path>'
|
|
209
|
+
Provider required: yes/no (ThemeProvider, etc.)
|
|
210
|
+
|
|
211
|
+
Form Inputs:
|
|
212
|
+
Input: { value, onChange, onBlur, placeholder, disabled, readOnly, invalid/error, size, variant }
|
|
213
|
+
Select: { value, onChange, options/children, placeholder, disabled, ... }
|
|
214
|
+
...
|
|
215
|
+
|
|
216
|
+
Layout:
|
|
217
|
+
Grid: { columns, gap, children }
|
|
218
|
+
...
|
|
219
|
+
|
|
220
|
+
Data Display:
|
|
221
|
+
Card: { children } → Card.Header, Card.Body, Card.Footer
|
|
222
|
+
Table: { children } → Table.Head, Table.Body, Table.Row, Table.Cell
|
|
223
|
+
...
|
|
224
|
+
|
|
225
|
+
Feedback:
|
|
226
|
+
Alert: { status/severity, title, description, closable/onClose }
|
|
227
|
+
...
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Keep this map active throughout the entire session. Reference it whenever generating a component — do NOT re-run discovery commands per component.
|
|
123
231
|
|
|
124
232
|
---
|
|
125
233
|
|
|
@@ -137,6 +245,8 @@ Collect all existing components across all types and report them in one consolid
|
|
|
137
245
|
|
|
138
246
|
Wait for the user's answer before proceeding. If none exist, continue immediately.
|
|
139
247
|
|
|
248
|
+
⚠️ **This decision is final for the entire session.** Do NOT re-check file existence or re-ask this overwrite question during Steps 4–7. When you encounter a component file that already exists during generation, silently apply the decision made here (overwrite it or skip it) without prompting again. This applies even after retries, transport errors, or subagent restarts — the user's answer here governs all subsequent component generation in this conversation.
|
|
249
|
+
|
|
140
250
|
---
|
|
141
251
|
|
|
142
252
|
## Step 4 — Generate field components (skip if field not in scope)
|
|
@@ -147,7 +257,7 @@ If `field` is in scope, generate each of the 27 field components in order:
|
|
|
147
257
|
|
|
148
258
|
### 4.1 — Read the component-specific skill file (MANDATORY — do not skip)
|
|
149
259
|
|
|
150
|
-
Read the file
|
|
260
|
+
Read the file `{{SKILL_DIR}}/field-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `field-components.md`.
|
|
151
261
|
|
|
152
262
|
After reading, extract and keep active:
|
|
153
263
|
|
|
@@ -186,17 +296,13 @@ Edit `src/components/component-map.ts`:
|
|
|
186
296
|
1. Add an import at the top in the **Fields** section
|
|
187
297
|
2. Add an entry in `getSampleComponentMap()` under the fields comment
|
|
188
298
|
|
|
189
|
-
|
|
299
|
+
⚠️ **Key name exceptions for fields** — these MUST use explicit key mapping (Pega sends a name that differs from the JS variable):
|
|
190
300
|
|
|
191
|
-
|
|
301
|
+
- `Date: DateField` (not `DateField,`)
|
|
302
|
+
- `URL: URLComponent` (not `URLComponent,`)
|
|
303
|
+
- `Checkbox: CheckboxComponent` (if your variable name differs from `Checkbox`)
|
|
192
304
|
|
|
193
|
-
|
|
194
|
-
npm run build
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
Fix any errors before continuing.
|
|
198
|
-
|
|
199
|
-
### 4.5 — Report progress
|
|
305
|
+
### 4.4 — Report progress
|
|
200
306
|
|
|
201
307
|
After each component: "`<ComponentName>` ✓ — using `<DS component name>`"
|
|
202
308
|
|
|
@@ -210,7 +316,7 @@ If `template` is in scope, generate each of the 32 template components in order:
|
|
|
210
316
|
|
|
211
317
|
### 5.1 — Read the component-specific skill file (MANDATORY — do not skip)
|
|
212
318
|
|
|
213
|
-
Read the file
|
|
319
|
+
Read the file `{{SKILL_DIR}}/template-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component — do not rely solely on the general `template-components.md`.
|
|
214
320
|
|
|
215
321
|
After reading, extract and keep active:
|
|
216
322
|
|
|
@@ -242,25 +348,42 @@ export { default } from './<ComponentName>';
|
|
|
242
348
|
|
|
243
349
|
Create any CSS file required by the skill file.
|
|
244
350
|
|
|
245
|
-
### 5.
|
|
351
|
+
### 5.2.1 — Create sub-variant files (MANDATORY for Layout templates)
|
|
246
352
|
|
|
247
|
-
|
|
353
|
+
⛔ **Do NOT skip this step.** Without sub-variants, portal pages and tabs won't render column layouts.
|
|
248
354
|
|
|
249
|
-
|
|
250
|
-
2. Add an entry in `getSampleComponentMap()` under the templates comment
|
|
251
|
-
3. For sub-variants (e.g., TwoColumnPage, TwoColumnTab), register each key separately
|
|
355
|
+
After generating **TwoColumn**, **OneColumn**, **NarrowWide**, or **WideNarrow**, you MUST immediately create these additional files in the same directory:
|
|
252
356
|
|
|
253
|
-
|
|
357
|
+
| Base template | Sub-variant files to create |
|
|
358
|
+
| ------------- | ------------------------------------------------------------------- |
|
|
359
|
+
| TwoColumn | `TwoColumnPage.tsx`, `TwoColumnTab.tsx` |
|
|
360
|
+
| OneColumn | `OneColumnPage.tsx`, `OneColumnTab.tsx` |
|
|
361
|
+
| NarrowWide | `NarrowWideForm.tsx`, `NarrowWidePage.tsx` |
|
|
362
|
+
| WideNarrow | `WideNarrowDetails.tsx`, `WideNarrowForm.tsx`, `WideNarrowPage.tsx` |
|
|
254
363
|
|
|
255
|
-
|
|
364
|
+
Each sub-variant is a one-line passthrough that delegates to the base component via the registry:
|
|
256
365
|
|
|
257
|
-
```
|
|
258
|
-
|
|
366
|
+
```typescript
|
|
367
|
+
import { getComponentFromRegistry } from '@pega/sdk-react';
|
|
368
|
+
import type { PConnProps } from '@pega/sdk-react';
|
|
369
|
+
|
|
370
|
+
export default function TwoColumnPage(props: PConnProps & Record<string, any>) {
|
|
371
|
+
const TwoColumn = getComponentFromRegistry('TwoColumn');
|
|
372
|
+
return <TwoColumn {...props} />;
|
|
373
|
+
}
|
|
259
374
|
```
|
|
260
375
|
|
|
261
|
-
|
|
376
|
+
Replace `TwoColumnPage`/`TwoColumn` with the appropriate names for each sub-variant. These files go in the same directory as the base component (e.g., `template/TwoColumn/TwoColumnPage.tsx`).
|
|
262
377
|
|
|
263
|
-
### 5.
|
|
378
|
+
### 5.3 — Register the component
|
|
379
|
+
|
|
380
|
+
Edit `src/components/component-map.ts`:
|
|
381
|
+
|
|
382
|
+
1. Add an import at the top in the **Templates** section
|
|
383
|
+
2. Add an entry in `getSampleComponentMap()` under the templates comment
|
|
384
|
+
3. **Also import and register ALL sub-variant files** created in Step 5.2.1. Each sub-variant gets its own import and its own entry in the map.
|
|
385
|
+
|
|
386
|
+
### 5.4 — Report progress
|
|
264
387
|
|
|
265
388
|
After each component: "`<ComponentName>` ✓ — `<Layout | Form | Page>` template"
|
|
266
389
|
|
|
@@ -274,7 +397,7 @@ If `widget` is in scope, generate each of the 9 widget components in order:
|
|
|
274
397
|
|
|
275
398
|
### 6.1 — Read the component-specific skill file (MANDATORY — do not skip)
|
|
276
399
|
|
|
277
|
-
Read the file
|
|
400
|
+
Read the file `{{SKILL_DIR}}/widget-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `widget-components.md`.
|
|
278
401
|
|
|
279
402
|
After reading, extract and keep active:
|
|
280
403
|
|
|
@@ -315,17 +438,11 @@ Edit `src/components/component-map.ts`:
|
|
|
315
438
|
1. Add an import at the top in the **Widgets** section
|
|
316
439
|
2. Add an entry in `getSampleComponentMap()` under the widgets comment
|
|
317
440
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
After every **5 widget components**, run:
|
|
441
|
+
⚠️ **Key name exception for widgets** — this MUST use explicit key mapping:
|
|
321
442
|
|
|
322
|
-
|
|
323
|
-
npm run build
|
|
324
|
-
```
|
|
443
|
+
- `Todo: ToDo` (not `ToDo,`) — Pega engine sends `Todo` (lowercase 'odo'), not `ToDo`
|
|
325
444
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
### 6.5 — Report progress
|
|
445
|
+
### 6.4 — Report progress
|
|
329
446
|
|
|
330
447
|
After each component: "`<ComponentName>` ✓ — using `<DS card/list primitive>`"
|
|
331
448
|
|
|
@@ -339,7 +456,7 @@ If `designSystemExtension` is in scope, generate each of the 11 DSE components i
|
|
|
339
456
|
|
|
340
457
|
### 7.1 — Read the component-specific skill file (MANDATORY — do not skip)
|
|
341
458
|
|
|
342
|
-
Read the file
|
|
459
|
+
Read the file `{{SKILL_DIR}}/design-system-extension-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `design-system-extension.md`.
|
|
343
460
|
|
|
344
461
|
After reading, extract and keep active:
|
|
345
462
|
|
|
@@ -378,17 +495,7 @@ Edit `src/components/component-map.ts`:
|
|
|
378
495
|
1. Add an import at the top in the **Design System Extension** section
|
|
379
496
|
2. Add an entry in `getSampleComponentMap()` under the DSE comment
|
|
380
497
|
|
|
381
|
-
### 7.4 —
|
|
382
|
-
|
|
383
|
-
After every **5 DSE components**, run:
|
|
384
|
-
|
|
385
|
-
```bash
|
|
386
|
-
npm run build
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
Fix any errors before continuing.
|
|
390
|
-
|
|
391
|
-
### 7.5 — Report progress
|
|
498
|
+
### 7.4 — Report progress
|
|
392
499
|
|
|
393
500
|
After each component: "`<ComponentName>` ✓ — Pattern `<B/A/C>`"
|
|
394
501
|
|
|
@@ -404,6 +511,16 @@ npm run build
|
|
|
404
511
|
|
|
405
512
|
Fix any TypeScript or build errors before reporting completion.
|
|
406
513
|
|
|
514
|
+
### 8.1 — Validate component-map key names
|
|
515
|
+
|
|
516
|
+
After a clean build, verify these key name exceptions in `component-map.ts`:
|
|
517
|
+
|
|
518
|
+
- [ ] `Date: DateField` (not `DateField,`)
|
|
519
|
+
- [ ] `URL: URLComponent` (not `URLComponent,`)
|
|
520
|
+
- [ ] `Todo: ToDo` (not `ToDo,`)
|
|
521
|
+
|
|
522
|
+
These are cases where the Pega engine sends a component name that differs from the JavaScript variable name. If any are registered using shorthand (e.g., `ToDo,`), fix them to use explicit key mapping (e.g., `Todo: ToDo,`).
|
|
523
|
+
|
|
407
524
|
Report a final summary:
|
|
408
525
|
|
|
409
526
|
- Total components generated, grouped by type
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
description: Generate all (or a subset of) design system extension components using any design system
|
|
2
|
+
ai-description: Generate all (or a subset of) design system extension components using any design system
|
|
4
3
|
---
|
|
5
4
|
|
|
6
5
|
## Step 0 — Resolve inputs
|
|
@@ -11,7 +10,7 @@ Read the user's message carefully. Extract:
|
|
|
11
10
|
- **Output base path** — the folder where DSE components should be generated (e.g. `src/components/designSystemExtension/`)
|
|
12
11
|
- **Component list** — which components to generate (default: all 11 listed below)
|
|
13
12
|
|
|
14
|
-
Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure,
|
|
13
|
+
Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `{{AI_FILE_EXT}}` files, existing folders, or any other source.
|
|
15
14
|
|
|
16
15
|
⛔ **STOP** — If the user's message does not explicitly state BOTH the design system AND the output path, ask for the missing items now. Do not proceed to Step 1 until you have explicit answers from the user for all required inputs.
|
|
17
16
|
|
|
@@ -44,7 +43,7 @@ Once both are known, continue to Step 1.
|
|
|
44
43
|
|
|
45
44
|
## Step 1 — Read `design-system-extension.md` (once, for the entire session)
|
|
46
45
|
|
|
47
|
-
Read the full contents of
|
|
46
|
+
Read the full contents of `{{SKILL_DIR}}/design-system-extension.md`.
|
|
48
47
|
|
|
49
48
|
This gives you:
|
|
50
49
|
|
|
@@ -76,7 +75,29 @@ npm install <design-system-package>
|
|
|
76
75
|
|
|
77
76
|
Also install any peer dependencies documented in the package's README. Report what was installed.
|
|
78
77
|
|
|
79
|
-
###
|
|
78
|
+
### 2a.1 — Install the DS styles package and configure global CSS (MANDATORY)
|
|
79
|
+
|
|
80
|
+
Design systems require their global stylesheet — without it, components render unstyled.
|
|
81
|
+
|
|
82
|
+
#### Known DS style requirements (examples — verify from README for exact paths):
|
|
83
|
+
|
|
84
|
+
| Design System | Styles Package (example) | CSS Import in `src/main.tsx` (example) | Provider Wrapper (example) |
|
|
85
|
+
| ------------- | ------------------------ | ---------------------------------------- | -------------------------- |
|
|
86
|
+
| Carbon | `@carbon/styles` | `import '@carbon/react/css/styles.css';` | `<Theme>` |
|
|
87
|
+
| Ant Design | (included) | `import 'antd/dist/reset.css';` | `<ConfigProvider>` |
|
|
88
|
+
| Radix Themes | `@radix-ui/themes` | `import '@radix-ui/themes/styles.css';` | `<Theme>` |
|
|
89
|
+
| Chakra UI | (included) | (none — runtime) | `<ChakraProvider>` |
|
|
90
|
+
| Shadcn/ui | (Tailwind) | `import './globals.css';` | None |
|
|
91
|
+
| MUI | (included) | (none — CSS-in-JS) | `<ThemeProvider>` |
|
|
92
|
+
|
|
93
|
+
These are **examples** based on common versions. Always verify the exact import path and provider name from the installed package's README (`node_modules/<ds>/README.md`).
|
|
94
|
+
|
|
95
|
+
If in table: install styles package (if separate), add CSS import as **first import** in `src/main.tsx`, add Provider in `src/AppProviders.tsx`.
|
|
96
|
+
If not in table: check README and `find node_modules/<ds> -name "*.css" -path "*/dist/*" | head -5`.
|
|
97
|
+
|
|
98
|
+
Verification: `grep -n "import.*css\|import.*styles" src/main.tsx` must return a result. Do NOT proceed until confirmed.
|
|
99
|
+
|
|
100
|
+
Report what was installed and configured.
|
|
80
101
|
|
|
81
102
|
> 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.
|
|
82
103
|
|
|
@@ -131,7 +152,7 @@ For each component in the resolved list (in the order listed in Step 0):
|
|
|
131
152
|
|
|
132
153
|
### 4a — Read the component-specific skill file (MANDATORY — do not skip)
|
|
133
154
|
|
|
134
|
-
Read the file
|
|
155
|
+
Read the file `{{SKILL_DIR}}/design-system-extension-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `design-system-extension.md`.
|
|
135
156
|
|
|
136
157
|
After reading, extract and keep active:
|
|
137
158
|
|
|
@@ -178,17 +199,7 @@ Edit `src/components/component-map.ts`:
|
|
|
178
199
|
|
|
179
200
|
Do not reorder or restructure any existing entries.
|
|
180
201
|
|
|
181
|
-
### 4d —
|
|
182
|
-
|
|
183
|
-
After every **5 components**, run:
|
|
184
|
-
|
|
185
|
-
```bash
|
|
186
|
-
npm run build
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
Fix any TypeScript or build errors before continuing to the next component. This prevents error accumulation.
|
|
190
|
-
|
|
191
|
-
### 4e — Report progress
|
|
202
|
+
### 4d — Report progress
|
|
192
203
|
|
|
193
204
|
After each component: "`<ComponentName>` ✓ — Pattern `<B/A/C>`<`, using <DS primitive>` if Pattern B>"
|
|
194
205
|
|