Sapiently is a modern design system implementation for React, built with accessibility, consistency, and developer experience in mind. Inspired by industry-leading design systems like Twilio's Paste.
- 🎨 Comprehensive token system - Colors, typography, spacing, shadows, and more
- 📦 Modular architecture - Pick only what you need
- 🚀 TypeScript first - Full type safety and IntelliSense support
- ♿ Accessible by default - WCAG 2.1 AA compliant components
- 🎯 Developer focused - Great DX with detailed documentation
- 🔧 Customizable - Extend and customize to match your brand
- 📖 Storybook integration - Interactive component playground
- Node.js >= 18.0.0
- Yarn >= 4.0.0
- Clone the repository:
git clone https://github.com/alashchev17/sapiently.git
cd sapiently- Install dependencies:
yarn install- Build all packages:
yarn build:bash- Start Storybook:
yarn start:storybookyarn build:bash- Build all packages in synchronize and ordered wayyarn dev- Build packages and start Storybookyarn test- Run testsyarn lint- Lint codeyarn format- Format code with Prettieryarn changeset- Create a changeset for version updatesyarn packages:check- Check peer dependenciesyarn packages:fix- Fix peer dependencies
sapient/
├── packages/ # Component and utility packages
│ ├── sapient-core/ # Core utilities and types
│ ├── sapient-design-tokens/ # Design tokens
│ ├── sapient-theme/ # Theme provider
│ ├── sapient-button/ # Button component
│ └── ... # Other components
├── apps/ # Applications
│ └── storybook/ # Component documentation
└── scripts/ # Build and maintenance scripts
import { SapientProvider } from '@sapiently/theme';
import { Button } from '@sapiently/button';
function App() {
return (
<SapientProvider>
<Button variant="primary">Click me</Button>
</SapientProvider>
);
}Please read our Contributing Guide before submitting a Pull Request.
Each change to a package must come with a changeset:
yarn changesetFollow the prompts to describe your changes.
- Monorepo with Yarn Workspaces - Efficient dependency management and cross-package development
- TypeScript - Type safety and better developer experience
- Changesets - Automated versioning and changelog generation
- Peer Dependencies - Avoiding version conflicts in consuming applications
- Build with tsup - Fast, zero-config bundler for TypeScript packages
MIT © Sapiently