This is the public repository for CircleCI Docs, a static website generated by Jekyll. If you find any errors in our docs or have suggestions, please follow our Contributing Guide to submit an issue or pull request.
For minor changes like typos, you can click Suggest an edit to this page, located at the bottom of each article. This will take you to the source file on GitHub, where you can submit a pull request for your change through the UI.
For larger edits or new articles, you'll want to set up a local environment for editing. Please see our Local Development document to set that up.
If you have a question or need help debugging, please head to CircleCI Discuss where our support team will help you out.
It is possible to build and serve the Jekyll docs locally (without ruby or jekyll installed) using Docker and docker compose.
If you already configured Jekyll on your local machine, you need to delete
vendor directory, before running the command.
$ docker-compose up
This repository houses and manages several arms of documentation for CircleCI. This section will provide a brief overview of each "component" and how to get started with making changes.
/Jekyll - Main Site
This is the main CircleCI documentation site.
This is built with Jekyll and houses the majority of our documentation. Other
branches of documentation (
src-crg, etc) eventually get moved into
this folder (in our build process) and integrated into the Jekyll Site. Follow
the local development guide to get started with
building the Jekyll site.
We also have an automated code review tool setup, so it will run markdownlint on your PR and review for any markdown style violations. The rules are located at .markdownlint.jsonc . You can also fix most of the violations automatically. You can read more here.
/src-api - API v1.1 and v2 Build Tooling
Our API documentation source can be found in this folder.
API v1 is written by hand, and compiled to work with
Slate. The compilation and deployment of
v1 is handled by our
.circleci/config.yml, which calls our
script. If you need to make changes to our V1 documentation, go to
src-api/source/includes and make changes as needed in the markdown files.
API v2 is compiled from an OpenAPI
spec. We use
Redoc to compile our spec into a webpage. To
see the compilation process, refer to
build_api_docs.sh and our
.circleci/config.yml. If you need to make changes to the output site, you will
likely need to make source code changes to the API, where the docs are generated
This is the build folder we use for automatically generating documentation for the CircleCI API v2. This uses Slate and Widdershins to create documentation with a spec (that follows the Open API Spec) generated from the CircleCI code base.
/src-shared - Shared Assets with circleci.com
This is a git sub-module for shared content with the main CircleCI
js folder within is symlinked into
integrated with a better JS bundle solution per above. Please see the local
development guide for more information about
pulling in the updates for the sub-module.
Docs for CircleCI Server Administration are built in a slightly different way; please refer to the server build documentation
Documentation (guides, references, and associated images) is licensed as Creative Commons Attribution-NonCommercial-ShareAlike CC BY-NC-SA. The full license can be found here, and the human-readable summary here.
Everything in this repository not covered above is licensed under the included MIT license.