USWDS Tailwind is an open-source project designed to provide a modern approach to building application federal websites using Tailwind CSS and USWDS principles. This repository is actively maintained, and contributions from the community are welcome!
Want to use USWDS + Tailwind on your project? Visit the documentation site for how to get started.
Ensure you have the following installed before contributing:
- Clone the repository:
git clone https://github.com/IHIutch/uswds-tailwind.git cd uswds-tailwind - Install dependencies and build packages:
pnpm install pnpm build
Important: Always run
pnpm buildafter installing dependencies to ensure all packages are properly built and TypeScript declarations are generated.
If you encounter module import errors like Cannot find module '@uswds-tailwind/character-count-compat':
- Make sure you're in the workspace root:
cd /path/to/uswds-tailwind - Force rebuild: Run
pnpm rebuildto force rebuild all packages - Check turbo cache: Turbo may be using cached results - the
rebuildcommand bypasses cache
This project uses Astro to build the documentation site. If you’re unfamiliar with Astro, check out the Astro documentation for more information.
To start the Astro development server:
pnpm devStorybook is used for developing and testing UI components in isolation. This helps ensure that components are reusable and function correctly across different use cases. Learn more about Storybook in the Storybook documentation.
To run Storybook locally:
pnpm storybook- apps/docs/: Contains the Astro documentation site
- apps/storybook/: Contains the Storybook environment used to build and test components
- packages/tailwind-config: The main Tailwind configuration used by the docs and end-user installation
- examples/basic: A basic example of using this project
- scripts/: Used to copy the Storybook examples into the documentation site
- Fork the repository and create a new branch for your feature or fix.
- Follow the coding standards and ensure your changes align with project goals.
- Write tests for any new functionality where applicable.
- Submit a pull request with a clear explanation of your changes.
If you encounter bugs, have feature requests, or need help, please open an issue or start a discussion.
This project is licensed under the MIT License. See the LICENSE file for details.
