Generate and manage design tokens, web Sass resources, Expo and React Native style modules, fonts, assets, and configuration files that define the visual foundation of your Atomic Design system.
Atomic Resources - Design tokens for web and native systems
Atomic Resources detects the project type and installs the right resource foundation.
React web projects receive a Sass/SCSS resource framework controlled by a single design token. Expo and React Native projects receive a native-only resource tree with generated TypeScript or JavaScript style modules, a token-to-native converter script, and a reusable font-loading hook.

install the atomic resources package
In the root of project execute the following command to install the package:
This will create a new folder called

File structure
The package installs files and folders in
this is the
This folder contains the font files for your design system. Web projects keep the bundled font set. Native projects receive the lean runtime font asset used by the generated
Web projects use SCSS files generated from the
Web projects use

Packages
The following development packages are installed depending on project type:
Web packages generate SCSS files from design tokens and compile CSS. Native installs keep the dependency set lean and only add Prettier for generated resource formatting.

package.json scripts
The installer will add the following to your scripts in
Web projects use
The formatting script is available for both web and native projects. The
Requirements
A design token is usually a JSON file that contains all the design specs for your project. It's generally used as a developer hand-off from a designer to a developer
You can check Atlassian's design token for more information.
Creates a reusable SCSS resources setup for projects that use atomic design, Storybook, and optionally atomic-bomb.
Usage
Run the package from the root of the project that should receive the resources:
The command expects one argument:
Example:
For web projects, this creates or updates:
For Expo or React Native projects, the installer detects
What It Does
The installer:
- copies the bundled directory into the destination directoryresources
- installs ,json-to-scss, andsassas dev dependencies for web projectsprettier
- installs only as a dev dependency for Expo or React Native projectsprettier
- detects ,pnpm-lock.yaml, oryarn.lockto choose the package managerpackage-lock.json
- defaults to when no lockfile existsnpm
- retries npm installs with when npm reports an--legacy-peer-depspeer dependency conflictERESOLVE
- adds resource scripts to the project package.json
The generated web scripts are:
The generated Expo or React Native scripts are:
The Design Token
The design token file is the source of truth for the generated SCSS token map:
The
The generated
Token File Shape
The token file is plain JSON. Keys use the names that the bundled SCSS expects, so keep the top-level names stable unless you also update the SCSS modules that read them.
Top-level token groups:
- : the base unit label used by the design system. The bundled file usesunit.rem
- : page-level defaults.page,backgroundColor, andmarginare used by the root/page styles.padding
- : an array of named color entries. Each entry has acolors, a CSS color value intype, and an optionalcolorarray.shades
- : an array of named font entries. Each entry has afonts, a font filetype, and supporteduri.sizes
- : heading font metadata. It contains a sharedheadings, a fonttype, and auriarray withvariantthroughh1size values.h6
- : named spacing scale values.spacing
- : named radius values. The generated SCSS exposes this group asborderRadius.$border-radius
- : named CSS shadow values.boxShadow
- : named intent colors for UI states such assemanticColors,success,warning, anddanger.info
- : named stacking values for layers such as dropdowns, sticky elements, modals, and toasts.zIndex
- : named opacity values for disabled, muted, and overlay states.opacity
- : form-control tokens split intoforms,input,focus, anddisabledgroups.error
Colors
Color tokens are an array so the SCSS can generate utility classes from each entry:
For every color entry,
For example, a color with
Fonts
Font tokens describe available text families and sizes:
The
Headings
Heading tokens define the heading font and the size for each heading level:
Forms
Form tokens keep the default, focus, disabled, and error styles together:
Use the same hyphenated keys that appear in the bundled example when a CSS property name needs to be represented directly.
Example Token File
A complete example token file is included at:
Use it as a reference when changing
Requirements
- Node.js
- npm, pnpm, or Yarn
- a in the directory where the command is runpackage.json
The command should be run from the application root, not from inside the destination folder.
Storybook
Import the generated stylesheet in
If you install into a different destination directory, adjust the import path to match that directory.
Design Tokens
The design token file should live in:
After changing
Then rebuild the compiled stylesheet:
SCSS
The main SCSS entrypoint is:
The compiled CSS output is:
The bundled SCSS uses Dart Sass modules with
Flex Mixins
The utility module exposes flex positioning mixins for common layout alignment:
Available named mixins:
With atomic-bomb
When using the generated resources together with
Those imports point at the Sass barrel files that
When
Manual Installation
You can also clone the repository with degit:
The
Troubleshooting
npm peer dependency conflicts
If npm reports an
This is useful in projects with strict or outdated peer dependency ranges.
No lockfile detected
When no
Custom destination directories
The copied resources follow the destination directory you pass to the CLI. The generated package scripts currently target
Development
Check the CLI syntax:
Format the CLI:
Publish workflow:


