Skip to content


Repository files navigation

HubSpot CMS Boilerplate

A straight-forward starting point for building a great website on the HubSpot CMS.

Documentation | Demo website | Contributing

Current version Latest commit Contributors GitHub watchers GitHub stars GitHub forks HubSpot website grader score Google Lighthouse desktop performance score Google Lighthouse SEO score Google Lighthouse accessibility score License


The HubSpot CMS Boilerplate is designed to offer developers a head start in the website building process. While the HubSpot CMS Boilerplate represents HubSpot's opinionated best practices, we intend to learn from similar projects and feedback. We hope it offers inspiration and utility for all website projects!

Getting started

To download the HubSpot CMS Boilerplate using the HubSpot CMS CLI:

Before getting started, you will need to have Node.js installed, the HubSpot CMS CLI installed, and we strongly suggest that you set up a HubSpot CMS Developer Sandbox for your QA/testing environment.

  1. Navigate to the directory that you want to use for your project
  2. Run hs create website-theme <directory> to create a project from the HubSpot CMS Boilerplate
  3. Configure the local development tools for the portal(s) you'd like to use for your project.
  4. Run hs watch --portal=<portal> src <directory> --initial-upload to upload all the files in the project and watch for changes to files in the src directory

Please reference our Quick start guide to developing on the HubSpot CMS and our Getting started with local development articles for more information.

To use version control in your project using GitHub and GitHub Actions:

  1. Fork the HubSpot CMS Boilerplate repository and clone your forked repository to your computer
  2. Set up GitHub secrets in your forked repository to encrypt sensitive information from showing publically for HUBSPOT_PORTAL_ID and HUBSPOT_PERSONAL_ACCESS_KEY
  3. Update the name of the directory that you'll be deploying to in your Design Manager in the .github/workflows/deploy.yml file (the current default dest_dir is cms-theme-boilerplate)
  4. Deploy changes to your Design Manager by pushing to the main branch of your forked repository

Please reference our HubSpot CMS deploy GitHub action page and Setting up continuous integration with a GitHub repository using GitHub Actions article for more information.

Style guide

For details about the HubSpot CMS Boilerplate's recommended best practices and code formatting, please reference our style guide.


If you’re interested in contributing to the HubSpot CMS Boilerplate, please read and to see how you can report an issue, make a feature request, or make a pull request.


Previous releases and their documentation are available for download. To provide transparency into future releases, we create a project board that documents our planning in preparation for each upcoming major and minor version.


You can stay up to date with HubSpot CMS Boilerplate updates and discussions in the #hs-cms-boilerplate channel in the HubSpot Developer Slack.


The code is available under the Apache License, Version 2.0