Local Development of IDManagement.gov
IDManagement.gov website is open-source, the development of this site exists in an open and transparent format where the Federal Identity, Credential, and Access Management (FICAM) community is encouraged to contribute their thoughts and ideas.
Contributors are encourages to first establish communication with a department or agency that governs or helps manage content on IDManagement.gov, before starting the process of creating new content or submitting changes, see the contact list below.
- ICAM or HSPD-12 policies or programs - icam@gsa.gov
- FIPS 201 product testing or approved products - fips201ep@gsa.gov
- Federal PKI policies, programs, or operations- fpki@gsa.gov
Prerequisite
Before running IDManagement.gov locally, there are a few requirements needed on your machine to run the site locally.
- Permission to access and change files on your machine, if your machine is company issued, you may require additional help from your IT department.
- Git - to manage files and versioning.
- Access to the Command Line and permissions to run commands:
CMD prompt
- for Windows.Powershell
- for Windows.Terminal
- for Mac or Linux.- GitBash - If Git is installed locally.
- Ruby - the programming environment for the Ruby programming language.
- Node.js for support and dependencies needed to build the site.
- NPM - if installed separately from Node.js (NPM is often installed when Node.js is installed).
Editors:
There are many editors to choose from, including those that may be required by your organization to do work, but any code editor that can do basic code editing can be used.
Below is a list of common code editors that can be downloaded and used:
Next
Once all of these requirements are present on your machine, you can proceed to the download or clone stage.
Download or Clone the Repo
To dowload the files the IDManagement.gov repo files to your local machine, you have a few options based on your experience working with source control systems like GitHub.
- Create a fork of the repo, then download the files from the repo as a .zip file to your local machine.
- Use the command line tool Git or GitHub Desktop to clone the repo locally.
- Use the Git or GitHub integration included in your Code Editor like: VS Code to clone the repo locally.
On matter which option you use, once you have the files, you can start development locally, run the site locally to view your changes. Then, when read, submit a Pull Request (PR) through GitHub for review. If approved, your submitted updates or changes will be merged into Staging, where it will continue the review process. If your submitted changes require no further edits or update, they will be merged into the live IDManagement.gov website.
Building the site locally
Once the repo of the site is downloaded, using the command line, change to the directory where you downloaded or cloned the repo files, run the following commands:
npm run local
This should download all of the required Gems and Nodjs packages needed by to build and run the site locally.
Running the site locally
Once the npm run local
command is finished running, run the following command to run the website locally on your machine, on port 4000
.
npm run start
This should go through the build process, once complete, in a browser, go to https://localhost:4000 to connect to the website locally.
Editing and making changes
While the site is running locally, open up the Code Editor of your choice to make changes to the site. The site should rebuild and live reload the page to show any changes or updates you have made.
GitHub Codespaces
The IDManagement.gov repo can also be developed in GitHub Codespaces:
- Open IDManagement.gov in a codespace, wait for it to finish set up.
- Once set up is complete, on the command line run the following commands:
First:
npm run local
Then:
npm run start
This should launch the site on a local port 4000
within your codespace.
Note: the performance and browsing may be slower than local development, if this becomes an issue, use local development instead.