One place for service teams to find styles, components and patterns for designing government services.
You'll need Git and Node.js installed to get this project running.
Note: You will need the active LTS (Long-term support) Node.js version for this project (as specified in .nvmrc)
If you're an external contributor make sure to fork this project first
git clone [email protected]:alphagov/govuk-design-system.git # or clone your own fork
cd govuk-design-system
If you work across multiple Node.js projects there's a good chance they require different Node.js and npm versions.
To enable this we use nvm (Node Version Manager) to switch between versions easily.
- install nvm
- Run
nvm install
in the project directory (this will use .nvmrc)
npm install
This will build sources, serve pages and watch for changes.
npm start
Build ./src
to ./deploy/public
npm run build
We are using the tool sass-lint to lint the Sass files in
source/stylesheets
. You can run the linter from command line by running:
npm run lint
Design System consumes the GOV.UK Frontend package via NPM. This is defined in the package.json file.
When changes are pushed to GitHub, Github Actions will:
- run the tests
- lint the Sass stylesheets in
source/stylesheets
- run the
npm run build
command to ensure that the site can be generated
If any of these fail, this will be reported in the GitHub status checks interface.