Back to home

White Paper

Architecture decisions, roadmap, and vision for stoked-ds. This document provides transparency into where the project is, where it's going, and the principles that guide every decision.

Key Metrics

27
Components
5
Integrations
214
Design Tokens
332
Unit Tests
0 KB
CSS Runtime
1
Prod Dependency

Guiding Principles

Every decision in stoked-ds is guided by these core principles. They define what we build, how we build it, and what we deliberately choose not to do.

1

Zero-Runtime CSS

CSS Modules with CSS Variables. No JavaScript overhead at runtime. Theme switching happens instantly through CSS cascade, not re-renders.

2

Wrap, Don't Reinvent

We don't build inferior versions of TanStack Table or react-day-picker. We wrap the best libraries with our tokens and styling. The ecosystem wins.

3

Accessibility is Non-Negotiable

WAI-ARIA patterns, keyboard navigation, focus management, and screen reader support. Every component, every release. No exceptions.

4

Minimal Dependency Surface

Only 1 production dependency (clsx). All animations are pure CSS. Everything else is a peer or dev dependency. Your bundle stays lean.

5

Supply Chain Security

Trusted Publishers with OIDC, provenance attestation, CycloneDX SBOM, npm audit in CI. Every release is cryptographically verifiable.

6

Ship With Tests and Docs

Every component ships with unit tests, Storybook stories, and TypeScript types. 1:1 test-to-component ratio. No undocumented features.

How It's Built

A summary of the key architectural decisions that make stoked-ds different from other React design systems.

Data-attribute variants instead of CSS classes. Variants are visible in DevTools as data-variant="solid", selectors are self-documenting, and there's no className collision. Each component controls its own attribute namespace.

Component-level CSS variables create a clean layering system: global tokens cascade into component defaults, which are overridden by variant selectors. No specificity wars, no !important.

Sub-path exports keep integrations isolated. Each adapter has its own entry point (stoked-ds/integrations/tanstack-table), its own bundle, and its external library as an optional peer dependency. The core bundle is never affected by integration code.

ESM-only output with 95 separate entry files maximizes tree-shaking. Import one component, only that component's code and CSS end up in your bundle. CSS is declared as a side effect for proper inclusion.

Pure CSS animation strategy: All animations use CSS keyframes and transitions defined in component CSS modules. Mount/unmount transitions (Modal, Toast) are managed by a lightweight useExitAnimation hook with data-state attributes. All motion respects prefers-reduced-motion via CSS media queries.

Where We're Going

A phased plan designed for predictability. Each phase builds on the previous one, with clear deliverables and priorities.

Phase 1: Foundation (v0.1 – v0.3) Completed

Core component library, design token system, integrations, and documentation. The foundation everything else builds on.

30 Components 214 Design Tokens Dark/Light Themes 5 Integrations 8 Page Stories Storybook Docs Landing Page
Phase 2: Hardening & Visibility (v0.4) In Progress

Security pipeline, SEO optimization, architecture documentation, and community building. Making the project trustworthy and discoverable.

Trusted Publishers (OIDC) Provenance Attestation CycloneDX SBOM npm Audit in CI Dependabot SEO Keywords README Badges White Paper
Phase 3: High-Demand Components (v0.5) Planned

New components that developers frequently need but rarely find well-implemented. Each one fills a gap in the current catalog.

TreeView MultiSelect (pills) Hierarchical Select Stepper CommandPalette Transfer
Phase 4: Headless Mode (v0.6) Planned

Unstyled component primitives that provide behavior, accessibility, and keyboard navigation without any CSS. Full customization power.

Behavior-Only Primitives Dual Export (styled + headless) Custom Theming Support
Phase 5: Premium Integrations (v0.7) Planned

Enterprise-grade integrations with popular commercial and open-source libraries. Open core model with premium adapters.

TipTap (WYSIWYG) AG Grid React DnD Kit Uppy (File Upload)
Phase 6: Developer Experience & Ecosystem (v1.0) Planned

AI-powered tooling, design-to-code pipeline, stable API commitment, and enterprise patterns. The full ecosystem play.

MCP Server CLI Scaffolding Figma Token Sync React Flow Integration Stable API (semver)

Supply Chain Security

Every release is cryptographically verifiable. We don't just build components — we build trust.

Trusted Publishers with OIDC — No npm tokens stored in CI. GitHub Actions receives ephemeral tokens per workflow run via OpenID Connect. Tokens expire immediately after use.

Provenance attestation — Every published version includes a signed attestation linking the package to the exact commit, workflow run, and repository. Verify with npm audit signatures.

CycloneDX SBOM — A Software Bill of Materials is generated for every release and attached as a GitHub Release asset. Full transparency into what ships in the package.

Automated dependency monitoring — Dependabot creates grouped PRs weekly. npm audit runs on every pull request, blocking merges on high/critical vulnerabilities in production dependencies.

Package validation — Before every publish, the tarball is scanned for sensitive files (.env, credentials, keys). The files allowlist in package.json ensures only dist/, README, LICENSE, and CHANGELOG are included.

Ready to build?

Install stoked-ds and start shipping accessible, performant interfaces today.