Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Bob the Builder

CircleCI License: MIT project chat

What CI/CD should've been.

Most CI/CD tools are too opinionated and do too much. Bob follows the UNIX philosophy of doing one thing and doing it well, and the emacs/LISP like philosophy of small core with external extensibility, and strives for simpler, decomposed and hence more composable and unbundled design. For more information, see Why Bob

Getting Started

To build and run your pipelines, check out the Getting Started guide.


Bob's API (accessible entirely through HTTP) enables a core set of CI/CD features. The following are the only concepts that Bob is opinionated about:

  • Step: Direct commands (like a shell command, pytest, etc)
  • Pipeline: Ordered series of steps
  • Environment: Key-Value pair associated with either Steps and/or Pipelines
  • Resource: Things (like source code or artifacts) consumed by Pipelines
  • Artifact: Something produced by a Pipeline

The following services form the core cluster:

All of these services live, breathe, and deploy from their own section of this mono-repo. Post-deployment, they are coordinated via a central persistent queue. Read more about Bob's Architecture.

Join the conversation

Please start a discussion on literally any topic and we are happy to help and learn from each other!

For a more Clojure specific discussion there we also have a Clojurians Slack channel.

Happy Building!


Bob is Free and Open Source and always will be. Licensed fully under MIT