Skip to content

feat(cds-android): port Button to Compose and add RN-to-Compose skill - #877

Open
cb-ekuersch wants to merge 7 commits into
masterfrom
cursor/android-button-port-rn-to-compose-skill
Open

cb-ekuersch wants to merge 7 commits into
masterfrom
cursor/android-button-port-rn-to-compose-skill

Conversation

@cb-ekuersch

Copy link
Copy Markdown
Contributor

What changed? Why?

Ports the CDS mobile Button to a public Jetpack Compose implementation in packages/cds-android, including shared interaction affordances (CdsInteractionDefaults), Robolectric behavior tests, demo gallery coverage, and package docs.

Also adds the cds-rn-to-compose agent skill to guide future React Native → Compose ports and audits, with discovery/audit checklists, CompositionLocal theming guidance, and a living learnings log.

Root cause (required for bugfixes)

N/A — feature work.

UI changes

iOS Old iOS New
N/A N/A
Android Old Android New
Sample controls in demo app Public CDS Button with variants, states, icon slots, and gallery section
Web Old Web New
N/A N/A

Testing

How has it been tested?

  • Unit tests
  • Interaction tests
  • Pseudo State tests
  • Manual - Web
  • Manual - Android (Emulator / Device)
  • Manual - iOS (Emulator / Device)

Testing instructions

yarn nx run cds-android:test
yarn nx run cds-android:build
yarn nx run android-app:build

With an emulator or device connected:

yarn nx run android-app:launch

Verify Button variants, transparent mode, disabled/loading states, icon slots, and full-width layout in the demo app gallery.

Illustrations/Icons Checklist

Required if this PR changes files under packages/illustrations/** or packages/icons/**

N/A

Change management

type=routine
risk=low
impact=sev5

automerge=false

Made with Cursor

@cb-heimdall

Copy link
Copy Markdown
Collaborator

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 1
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1
CODEOWNERS 🟡 See below

🟡 CODEOWNERS

Code Owner Status Calculation
ui-systems-eng-team 🟡 0/1
Denominator calculation
Additional CODEOWNERS Requirement
Show calculation
Sum 0
0
From CODEOWNERS 1
Sum 1

@Dustin4444 Dustin4444 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 1
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1
CODEOWNERS 🟡 See below

🟡 CODEOWNERS

Code Owner Status Calculation
ui-systems-eng-team 🟡 0/1
Denominator calculation
Additional CODEOWNERS Requirement
Show calculation
Sum 0
0
From CODEOWNERS 1
Sum 1

cb-ekuersch and others added 6 commits September 23, 2026 16:57
Ship public Button and shared interaction primitives with Robolectric tests, gallery coverage, and docs. Add cds-rn-to-compose skill to guide future mobile-to-Android ports and audits.

Co-authored-by: Cursor <cursoragent@cursor.com>
Route unmatched documentation to a Format Docs job so Android-only PRs are not blocked by Node format and bundle-stats.

Co-authored-by: Cursor <cursoragent@cursor.com>
Run tools:format from root CI on JS/TS/JSON/Markdown so docs and skills are checked without starting Node CI, and drop format from the Node workflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
Move component demos off monolithic home scrolls to prepare for visreg and
Maestro flows, and extend the RN-to-Compose skill with testTag guidance.

Co-authored-by: Cursor <cursoragent@cursor.com>
Restore nx format:check in the Node workflow while keeping docs/skills
off the Node CI classifier, and remove per-component cds-android docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
@cb-ekuersch
cb-ekuersch force-pushed the cursor/android-button-port-rn-to-compose-skill branch from b6487b5 to d653f64 Compare September 23, 2026 22:10
Drop the branch-only tweak that let format run on docs/skills-only
PRs; keep node.yml and the CI docs identical to master's language-arm
behavior instead of carrying an arbitrary local divergence.

Co-Authored-By: Claude <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants