Skip to content
Go to file


Failed to load latest commit information.

Tech at GSA website

This is the website for the GSA Office of the Chief Technology Officer.


This is a Jekyll-based website designed to be published on the Federalist platform.

The website utilizes the US Web Design Standards.


There are two ways you can set up your development environment:

Method 1: Local development environment

This method explains how to set up a local development environment by installing all necessary tools and dependencies.

Install Ruby

Since this is a Jekyll-based website, you will need Ruby. The best way to get Ruby is to install it via rbenv. See the rbenv installation instructions to set it up on your system.

Install Node.js and npm

We use npm along with gulp to manage front-end dependencies. In order to get npm, install Node.js. You do not strictly need npm to work on the website. You only need it if you plan to update the vendor assets.

To update the vendor assets, run npm run assets.

Building and previewing the website

First, install bundler if you don't already have it:

gem install bundler

Then install the project's Ruby dependencies:

bundle install --with=development

Then you can run the site locally with live reloading:

rake serve

You should now be able to preview the site on your local machine at http://localhost:4000/.

Method 2: Containerized development environment using Docker

This method explains how to set up a containerized development environment by using Docker. Using this method, you shouldn't need to install anything other than Docker on your local machine.

Install Docker

Install Docker on your development machine and ensure the Docker daemon is successfully running.

Build the Docker container

docker build -t cto-website .

Building and previewing the website

Run the site locally with live reloading:

./ rake serve

You should now be able to preview the site on your local machine at http://localhost:4000/.



Please run rake test locally before pushing new content or code. This runs a JavaScript linter and HTML proofer.

Contributing content and code

  1. Fork the repository (or clone it if you have commit access)
  2. Create a feature branch
  3. Make your changes in the feature branch
  4. Commit the feature branch
  5. Push the feature branch to GitHub (preview your changes at
  6. Open a pull request to merge the feature branch

Proposing changes and reporting issues

The best way to contact us regarding the CTO Website is to open an issue on GitHub. Please submit a new issue if you need to:

  • Report a website bug
  • Propose a change to the website content


We make use of Federalist's continuous deployment system, which automatically deploys branches as soon as it detects a push to GitHub. Therefore, as soon as your pull request is accepted into the master branch, it goes to production.


As a work of the United States Government, this project is in the public domain within the United States.