Welcome to the Coinbase Design System (CDS)!
Please visit our website https://cds.coinbase.com for the latest documentation.
CDS uses three toolchains: Node for web and React Native, Gradle for native Android, and Xcode for native iOS. Start with the contributor guide and follow the setup instructions for the platform you are changing.
Run one of the available apps to get started:
yarn nx run storybook:devyarn nx run docs:devyarn nx run expo-app:ios
yarn nx run expo-app:androidSee apps/expo-app/README.md for details.
yarn nx run android-app:launchRequires JDK 21 and the Android SDK. Open android/ in Android Studio for the IDE workflow.
yarn nx run ios-gallery:launchRequires macOS, Xcode with Swift 6 support, an iOS 17+ Simulator, and XcodeGen. Generate the project and open both iOS modules with:
yarn nx run ios-gallery:build
open ios/CDS.xcworkspaceSee the native setup guide for Android and iOS prerequisites.
CDS ships on four platforms:
| Platform | Package |
|---|---|
| Web (React) | packages/web |
| Mobile (React Native) | packages/mobile |
| Native Android (Compose) | packages/cds-android |
| Native iOS (SwiftUI) | packages/cds-ios |
We welcome contributions to the Coinbase Design System. Read CONTRIBUTING.md for
the pull-request process and docs/ for local development, validation, and CI
guidance.
CDS generally follows Semantic Versioning.
We aim to preserve type/public API compatibility across minor and patch releases. Visual changes are allowed in minor releases. Review changelog entries and validate UI when upgrading.
Node packages use Nx release version plans, while Android and iOS version independently. See the versioning and release guide.
For information about reporting security vulnerabilities, please see our Security Policy.
This project is licensed under the terms described in LICENSE.
