U.S. Web Design System Core
Build from the official USWDS contract, then adapt it to the project's existing stack.
Before editing
- Confirm that USWDS Core is the governing system. Use a documented agency or product system instead when it supplies a USWDS theme or child system.
- Read references/implementation.md before installing or upgrading USWDS.
- Read only the task-specific reference:
- components
- tokens
- grid
- Sass theming
- utilities
- Read references/sources.md for version, provenance, and license checks.
Workflow
- Inspect the current package manager, Sass/bundler setup, asset paths, JavaScript initialization, templates, and tests.
- Select one official delivery path: npm source, compiled distribution, or direct official download.
- Pin the version and preserve the official package license and notices.
- Start with documented components and patterns. Use official markup, class names, data attributes, content guidance, and JavaScript initialization.
- Customize through theme settings, tokens, utilities, and composition. Do not edit
node_modulesor copy a component and silently diverge. - Verify keyboard interaction, focus, names/roles/states, errors and status messages, contrast, zoom/reflow, responsive behavior, and target browsers.
Boundaries
- USWDS Core is framework-neutral.
@trussworks/react-uswdsis a community adapter, not an official USWDS package. - Do not mix USWDS Core JavaScript initialization with a wrapper that already owns the same component behavior.
- Do not apply an agency or product theme unless the target is governed by it.
- USWDS supports accessibility work but does not make the completed service automatically conformant.
- USWDS Elements is a separate alpha effort; use the
uswds-elementsskill for deliberate evaluation. - If a requested component or token is absent from current official documentation, say so rather than fabricating it.