Guidance for designing and building digital services for the NHS. Things you need to make consistent, usable services that put people first.
Install the long-term support (LTS) version of Node.js, which includes npm.
Clone the repo: git clone https://github.com/nhsuk/nhsuk-service-manual.git nhsuk-service-manual
and while in the project directory cd nhsuk-service-manual
, install the required npm packages with: npm install
.
Run the project in development mode npm run watch
and visit http://localhost:3000.
Run automated tests locally with npm run test
.
Before running Gitpod, you must install the Gitpod.io application on your GitHub account.
Gitpod also requires access to public repositories. Enable this via Gitpod integrations. (Click on the 3 dots to edit permissions for your GitHub account. Gitpod may pre-select permissions. You need read/write access to code in the repos.)
Using your own Github credentials you can create, change, commit and push to branches on our Gitpod container via the "ready to code" button below.
Read an introduction to Gitpod (on Gitpod's website).
Code pushed to a branch starting with review/1-
will deploy on the review/1 environment.
Code pushed to a branch starting with review/2-
will deploy on the review/2 environment.
Code pushed to a branch starting with review/3-
will deploy on the review/3 environment.
Code pushed to a branch starting with dev/
will deploy on the development environment.
Code pushed to a branch starting with user/
will deploy on the user testing environment.
Used for very final checks before changes are pushed to the live website.
Code pushed to the main
branch will deploy to the Staging environment.
The live NHS digital service manual website, accessible to the public.
Git tags created using SEMVER format v0.0.0
will deploy to the Live environment. (Note: Live is behind a server side cache which results in changes not appearing immediately.)
- Visit the GitHub releases page and draft a new release.
- Enter the tag version, using the same version as in the CHANGELOG and package.json files, prefixed with a
v
. For examplev13.15.1
. - The
main
branch should be preselected. Leave it as it is. - Enter the same tag version in the release title box. For example,
v13.15.1
. - Enter the CHANGELOG entry for this version's release in the release description box. You can find examples of other release descriptions on the GitHub releases page.
- Leave "This is a pre-release" unticked.
- Leave "Create a discussion for this release" unticked.
- Then click the Publish release button.
- After a couple of minutes the Azure Pipeline will complete and the release will start.
Code analysis results can be found in SonarQube.
The NHS digital service manual is maintained by NHS Digital. Email the service manual team, open a GitHub issue or get in touch on the NHS digital service manual Slack workspace.
The codebase is released under the MIT Licence, unless stated otherwise. This covers both the codebase and any sample code in the documentation. The documentation is © Crown copyright and available under the terms of the Open Government 3.0 licence.