Introduction to Authoring Orbs

Quick start

Orbs take reusable configuration and package it in a way that can be published to the Orb Registry and imported into multiple configuration files. If you manage multiple, similar projects, consider abstracting out your config with orbs.

Before authoring an orb, it is recommended that you become familiar with the CircleCI config and authoring parameterized reusable config elements pages.

Orbs consist of three main elements:

Practice with inline orbs. Inline orbs can be defined within a single config file for easy and quick testing.

Orb authors automatically agree to the CircleCI Code Sharing Terms of Service. All published orbs are made available publicly on the Orb Registry under the MIT License agreement. For more information, see Orb Licensing.

Getting started

Orb CLI

To begin creating orbs, you will need to set up the CircleCI CLI on your local machine, with a personal access token. For a full list of orb-related commands inside the CircleCI CLI, visit CircleCI CLI help.

Permissions matrix

Orb CLI commands are scoped to different user permission levels, set by your VCS. You are the owner of your own organization. If you are authoring or publishing orbs for a namespace owned by another organization, you may require assistance from your organization admin:

Orb Command Permission Scope
circleci namespace create Owner
circleci orb init Owner
circleci orb create Owner
circleci orb publish development version Member
circleci orb publish production version Owner

Register a namespace

Every organization registered on CircleCI is able to claim one unique namespace. This includes your personal organization and any organization you are a member of. As each organization is limited to a single namespace, in order to register the namespace for an organization you must be the owner of the organization.

Enter the following command to claim your namespace, if you have not yet claimed one:

circleci namespace create <name> <vcs-type> <org-name> [flags]

where name is the namespace you wish to claim, vcs-type is the type of your version control system (i.e. github or bitbucket), and org-name is the name of your organization.

Next steps

Continue on to the Orb Authoring Process guide for information on developing your orb.

See also