chore: add Cursor automation spec for React parity (DSYS-302) - #1433
chore: add Cursor automation spec for React parity (DSYS-302)#1433georgewrmarshall wants to merge 6 commits into
Conversation
Version-control the agent orchestration for migrating RN components into design-system-react, including Extension audit and Storybook demo steps. Co-authored-by: Cursor <cursoragent@cursor.com>
📖 Storybook LinksCompare the preview for this pull request with the latest Storybooks from the 🔀 Pull Request Preview
🌳 Main Branch (Latest)
|
ListItem React parity depends on these RN components; align the automation queue with new DSYS-302 tickets. Co-authored-by: Cursor <cursoragent@cursor.com>
📖 Storybook LinksCompare the preview for this pull request with the latest Storybooks from the 🔀 Pull Request Preview
🌳 Main Branch (Latest)
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Broken cloud selection control flow
- Updated scheduled/cloud steps to apply the ListItem blocker check before claiming and to use a clear JQL fallback, restoring a coherent cascade.
Or push these changes by commenting:
@cursor push 2c1ec50923
Preview (2c1ec50923)
diff --git a/.cursor/automations/react-parity-from-mobile.md b/.cursor/automations/react-parity-from-mobile.md
--- a/.cursor/automations/react-parity-from-mobile.md
+++ b/.cursor/automations/react-parity-from-mobile.md
@@ -61,10 +61,11 @@
### Scheduled / cloud (“always take backlog”)
-1. Walk the priority queue in order; take the **first** unclaimed To Do still open.
-2. Skip ListItem if it is blocked by open BoxRow/BoxColumn/Content issues.
-3. Else first result of the unclaimed To Do JQL.
-4. If empty → stop (no PR).
+1. Walk the priority queue in order; for each item:
+ - If it is **ListItem (DSYS-713)** and BoxRow/BoxColumn/Content blockers are open, **skip and continue** to the next item.
+ - If the issue is **unclaimed** and **To Do**, **take it** and stop.
+2. If none selected from the priority queue, take the **first unclaimed To Do** from the Rank-ordered JQL above.
+3. If empty → stop (no PR).
**Jira:** Enable Atlassian/Jira MCP on the automation so the agent can search, assign, and transition.You can send follow-ups to the cloud agent here.
Reviewed by Cursor Bugbot for commit 9f211ab. Configure here.
|
Bugbot Autofix prepared a fix for the issue found in the latest run.
Or push these changes by commenting: Preview (b7c9c2fcfe)diff --git a/.cursor/automations/react-parity-from-mobile.md b/.cursor/automations/react-parity-from-mobile.md
--- a/.cursor/automations/react-parity-from-mobile.md
+++ b/.cursor/automations/react-parity-from-mobile.md
@@ -50,8 +50,9 @@
### Interactive (IDE / manual run)
1. Prefer **In Progress** assigned to you.
-2. Else prefer priority queue: **DSYS-713** then **DSYS-751** if still To Do.
-3. Else first unassigned To Do from Rank order.
+2. Else prefer **To Do** assigned to you.
+3. Else prefer priority queue: **DSYS-713** then **DSYS-751** if still **To Do** and **unassigned**.
+4. Else first unassigned To Do from Rank order.
### Scheduled / cloud (“always take backlog”)You can send follow-ups to the cloud agent here. |
Adopt shared-API / flatter-impl strategy for Content and ListItem; treat RN BoxRow, BoxColumn, and TextOrChildren as non-blockers. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Strategy update (option B): Content → ListItem → SectionHeader. |
📖 Storybook LinksCompare the preview for this pull request with the latest Storybooks from the 🔀 Pull Request Preview
🌳 Main Branch (Latest)
|
Lock the ordered backlog for Content through MainActionButton against existing DSYS-302 tickets. Co-authored-by: Cursor <cursoragent@cursor.com>
📖 Storybook LinksCompare the preview for this pull request with the latest Storybooks from the 🔀 Pull Request Preview
🌳 Main Branch (Latest)
|
| | Order | Issue | Component | | ||
| | ----- | --------- | -------------------- | | ||
| | 1 | DSYS-1043 | **Content** | | ||
| | 2 | DSYS-713 | **ListItem** | | ||
| | 3 | DSYS-751 | **SectionHeader** | | ||
| | 4 | DSYS-750 | **SectionDivider** | | ||
| | 5 | DSYS-757 | **HeaderRoot** | | ||
| | 6 | DSYS-758 | **HeaderStandard** | | ||
| | 7 | DSYS-756 | **TitleSubpage** | | ||
| | 8 | DSYS-755 | **TitleStandard** | | ||
| | 9 | DSYS-752 | **TitleAlert** | | ||
| | 10 | DSYS-749 | **SelectButton** | | ||
| | 11 | DSYS-716 | **HeaderSearch** | | ||
| | 12 | DSYS-712 | **KeyValueRow** | | ||
| | 13 | DSYS-711 | **KeyValueColumn** | | ||
| | 14 | DSYS-715 | **Spinner** | | ||
| | 15 | DSYS-714 | **MainActionButton** | |
There was a problem hiding this comment.
Let me know what you think of this priority @amandaye0h @brianacnguyen 🙏
- Can we do a 1:1 or will they need design input and audit?
There was a problem hiding this comment.
Missing from list
- ListItemSelect
- ListItemMultiSelect
- KeyValueSelect
- HeaderSubpage
- Skeleton
- Tag
- IconAlert
Low priority
- FilterButton
- FilterButtonGroup
- SegmentedControl
(TitleSubpage is no longer needed I think)
There was a problem hiding this comment.
@cursoragent update the list accordingly - we already have some of these components in React(e.g. IconAlert, Tag) so just add the outstading ones
There was a problem hiding this comment.
-
I updated
.cursor/automations/react-parity-from-mobile.mdto include the outstanding components called out in review, excluding ones already implemented in React (IconAlert,Tag). I appended these to the priority queue:ListItemSelect,ListItemMultiSelect,KeyValueSelect,HeaderSubpage,Skeleton,FilterButton,FilterButtonGroup, andSegmentedControl(issue keys marked TBD for now). -
I also removed the hardcoded “15 components” wording in the cloud prompt block so it stays accurate as the list evolves.
-
Changes are committed and pushed on
chore/react-parity-from-mobile-automation.
There was a problem hiding this comment.
all of these can do a 1:1, but anything interactive will need design input for hover states (though most of them can just use the bg-hover token for hover since a lot of these use bg-pressed for pressed). Anyways, these are
- ListItem isInteractive
- ListItemSelect
- ListItemMultiSelect
- SectionHeader
- SelectButton
- KeyValueSelect
- Tag
There was a problem hiding this comment.
Note: BoxRow and BoxColumn is used quite a bit to build these, so not sure if it's worth it to build those first to make it easy
…e (DSYS-302) Co-authored-by: George Marshall <georgewrmarshall@users.noreply.github.com>
📖 Storybook LinksCompare the preview for this pull request with the latest Storybooks from the 🔀 Pull Request Preview
🌳 Main Branch (Latest)
|
…se-workflow.md Co-authored-by: George Marshall <georgewrmarshall@users.noreply.github.com>
📖 Storybook LinksCompare the preview for this pull request with the latest Storybooks from the 🔀 Pull Request Preview
🌳 Main Branch (Latest)
|




Description
Adds a version-controlled Cursor Automations spec for epic DSYS-302 (React parity with existing React Native MMDS components). The Cursor Automations UI does not store prompts in git; this file is the canonical source for Jira pickup, Extension audit, implementation rules, Storybook demos, PR, and Slack steps — matching the existing
enum-shared-type-migrationpattern.Priority queue starts with ListItem (DSYS-713) and SectionHeader (DSYS-751).
Related issues
Fixes: N/A (tooling / agent orchestration for DSYS-302)
Manual testing steps
.cursor/automations/react-parity-from-mobile.mdand confirm JQL, priority queue, and cloud prompt block look correct.@-mention this file once merged tomain).@.cursor/automations/react-parity-from-mobile.mdin IDE) and confirm it targets DSYS-713 first when unclaimed.Screenshots/Recordings
N/A — docs-only change.
Before
N/A
After
N/A
Pre-merge author checklist
Pre-merge reviewer checklist
Made with Cursor