Skip to main content
Enterprise registries let your team publish and share dotbot workflows, stacks, tools, skills, and agents through a standard git repository or a local directory. Any team member can link to your registry with a single command and then install content from it by name. Registries work with public and private git hosts, and local paths are available for inner-loop development.

Add a registry

1

Register a remote git repository

Run dotbot registry add with a short name and the repository URL:
dotbot clones the repository and validates registry.json. The name you provide (myorg) must match the name field inside registry.json, and dotbot exits with an error if they do not match. Pass --branch <branch> to clone a non-default branch, or --force to overwrite an existing registry with the same name.
2

Register a local path (optional)

Local paths are linked rather than cloned, so they always reflect the current state of the directory. Use this during development before pushing to a remote:
dotbot records each registered registry in a registries.json file in your dotbot home directory.

List registries

See all registered registries and the content they declare:
The output shows each registry’s name, source URL or path, and the workflows, stacks, tools, skills, and agents it provides.

Install from a registry

Pass the registry name and content name separated by a colon:
You can combine registry content with other flags to set up a full project in one command:

Update and remove registries

Pull the latest content from all registered registries:
Update a single registry by name, or remove one you no longer need:
Local-path registries are linked rather than cloned, so they always reflect the current state of the local directory. Running registry update has no effect on local registries.

registry.json manifest

Place a registry.json at the root of your registry repository. dotbot validates this file during registry add:
registry.json
The content section can list workflows, stacks, tools, skills, agents, and prompts. Each declared item must have a matching directory in the registry repository. For example, "workflows": ["custom-workflow"] requires workflows/custom-workflow/ to exist. dotbot performs these checks during validation:
  1. registry.json exists at the repository root.
  2. The JSON parses without syntax errors.
  3. The name field matches the name provided on the command line.
  4. The content section lists at least one item.
  5. Each declared item has a matching directory. A missing directory is a warning, not a fatal error.
  6. min_dotbot_version is read and reported so you can confirm compatibility with your installed version.

Authentication for private registries

If your registry is hosted on a private git repository, dotbot relies on your existing git credential configuration. When a clone fails because of an authentication error, dotbot prints provider-specific hints.
Make sure your PAT or SSH key has at least read access to the registry repository. dotbot does not store credentials. It delegates entirely to your git credential helper.