Getting started
xds is a template rather than a package dependency. Running xds create copies the design tokens, component libraries, and a small app for each selected client into a repository you can edit directly.
Create a project
Section titled “Create a project”No release of xds has been published yet. Until the first release, build it from a local checkout:
git clone https://github.com/kjmin-dev/xds && cd xdsmise installcargo install --path cliThen create a new project:
xds create my-appBy default, xds prompts for a project name, the clients to include, and a color theme. To skip the prompts, pass those options as flags:
xds create my-app --name orbit --targets web-react,kotlin-compose --theme oceanThe available clients are:
| Target | Runs on | Stack |
|---|---|---|
web-react |
Browsers | React 19, Vite, Tailwind v4, HeroUI v3 |
desktop-gpui |
macOS | Rust, GPUI, GPUI Component |
mobile-react-native |
iOS, Android | React Native, Expo |
kotlin-compose |
Android, iOS, desktop | Kotlin Multiplatform, Compose Multiplatform |
Run it
Section titled “Run it”The project uses mise to pin tool versions and run tasks:
cd my-appmise trustmise installmise run fmtmise run checkRun mise run fmt once before the first mise run check, because substituting the project name can change line lengths and import order. xds also prints the command to start each selected client, such as mise run //web:dev.
Each app includes a design preview that displays all tokens and components on a single screen.
Change the design
Section titled “Change the design”- Edit the token files under
design/tokens, or switch the color theme withxds theme <name>. - Run
mise run tokensto regenerate the platform files. The build fails if a token is malformed or if a color pairing falls below its contrast threshold. - Commit both the updated token files and the generated files.
Where to go next
Section titled “Where to go next”- Commands documents every
xdscommand and flag. - How it fits together explains the token tiers and component contract.
- Colors lists all color tokens and their light and dark values.