GOV.UK Design System
This repository contains the code for the GOV.UK Design System website. To find the code we provide for reuse by services, go to the govuk-frontend repository.
Run locally
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)
Fork repository (optional)
If you're an external contributor make sure to fork this project first
Clone repository
git clone [email protected]:alphagov/govuk-design-system.git # or clone your own fork
cd govuk-design-system
Using nvm (optional)
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)
Install npm dependencies
npm install
Start a local server
This will build sources, serve pages and watch for changes.
npm start
Build
Build ./src
to ./deploy/public
npm run build
Run the Sass linter
We are using the tool stylelint to lint the Sass files in
source/stylesheets
. You can run the linter from command line by running:
npm run lint
GOV.UK Frontend packages
Design System consumes the GOV.UK Frontend package via NPM. This is defined in the package.json file.
Continuous integration
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.
Deployment
Security
GDS is an advocate of responsible vulnerability disclosure. If you’ve found a vulnerability, we would like to know so we can fix it.
To learn how to report a security vulnerability, see our security policy.
Contributing
The govuk-design-system repository is public and we welcome contributions from anyone.
Contributors to alphagov repositories are expected to follow the Contributor Covenant Code of Conduct. Contributors working within government are also expected to follow the Civil Service code.
We're unable to monitor activity on this repository outside of our office hours (10am to 4pm, UK time). To get a faster response at other times, you can report abuse or spam to GitHub.