Skip to content

Publishing

Publishing puts your team on CliqHub so anyone can install it with cliq team install hub://.... You can publish from the CLI or from the CliqHub Builder in your browser.

If you don’t need a public registry, you can also share teams via git.


You must authenticate before publishing. Browsing, searching, and installing are anonymous — no account required.

Terminal window
cliq hub login

Prompts for username and password. On success, saves a JWT token to ~/.cliqrc/settings.json.

For CI or headless environments, generate a named API token:

Terminal window
cliq hub token "my-ci-token"
API token created: my-ci-token
cliq_tok_a1b2c3d4e5f6...
Save this token — it will not be shown again.
Store via: cliq settings hub.token <token> --global

Store your token in ~/.cliqrc/settings.json:

{
"hub": {
"registry_url": "https://cliqhub.io",
"token": "cliq_tok_..."
}
}
FieldDefaultDescription
registry_urlhttps://cliqhub.ioRegistry base URL. Override for self-hosted or local development
token""Auth token for publishing. Not required for browsing or installing

Before publishing:

  1. Authenticate — run cliq hub login (or use an API token)
  2. Own the scope — you can only publish to scopes you own (e.g. @yourname/)
  3. Version your teamteam.yml must have a valid version field
  4. Pass validation — the CLI runs strict checks before uploading

The standard workflow: edit your team locally, bump the version, publish.

Edit roles, adjust the workflow, add phases — whatever the update requires.

Terminal window
cliq team version patch @yourname/my-pipeline

See Versioning for details on bump types and git integration.

Publish takes a local filesystem path to the team directory:

Terminal window
cliq team publish ./@yourname/my-pipeline

Add a changelog message with -m:

Terminal window
cliq team publish ./@yourname/my-pipeline -m "Added security review phase"

Control visibility with --access:

Terminal window
cliq team publish ./@yourname/my-pipeline --access public # default
cliq team publish ./@yourname/my-pipeline --access private
cliq team publish ./@yourname/my-pipeline --access draft
AccessBehavior
publicListed on CliqHub and installable by anyone
privateInstallable only by scope members. Not listed publicly
draftOnly visible to you. Review before making public

The CLI checks before uploading:

  • name is fully qualified (@scope/name)
  • version is valid semver
  • description is present
  • Every phase has a corresponding role file in roles/
  • Agent definitions are valid (bundled agents have entry files, phase agent references resolve)
  • @local teams cannot be published
Validating team...
✓ Team valid
Publishing @yourname/my-pipeline v1.3.0...
✓ Published @yourname/my-pipeline v1.3.0
Changelog: Added security review phase
View: https://cliqhub.io/@yourname/my-pipeline

The CliqHub web Builder includes a publish dialog for teams built or edited in the browser.

  1. Open the Builder at cliqhub.io/builder
  2. Build or edit your team (name, phases, roles)
  3. Click Publish in the toolbar (visible when the team has a name and at least one phase)

The publish dialog shows:

  • Team name with scope (e.g. @yourname/my-pipeline v1.2.0)
  • Version — for first publishes, locked at v1.0.0 (initial release). For updates, a bump type selector (patch / minor / major) with a live preview of the next version
  • Changelog — optional text field for release notes

Click Publish to upload. On success, the dialog shows the new version number and the team’s CliqHub URL.

Your account page on cliqhub.io lists all your published teams. Each team has a Publish Update button that:

  1. Loads the latest published version into the Builder
  2. Opens the publish dialog pre-filled with the current version

This is the fastest path for quick updates — edit the roles, pick a bump type, add a changelog, publish.


Versions are immutable. If you try to publish a version that already exists:

CLI:

✗ Version 1.2.0 already exists on CliqHub.
Bump the version first: cliq team version patch @yourname/my-pipeline

Builder: The publish dialog fetches the current version from the registry on open, so the bump selector always computes the correct next version. Conflicts only occur if two people publish simultaneously — in that case, close and reopen the dialog to pick up the new latest version.


The first time you publish a team, the version is 1.0.0. In the CLI, run cliq team version patch to add the version field before publishing. In the Builder, first publishes are automatically set to v1.0.0.

Terminal window
# New team, no version yet
cliq team version patch @yourname/new-pipeline # → 1.0.0
cliq team publish ./@yourname/new-pipeline # → Published v1.0.0

For automated publishing, use an API token instead of interactive login:

Terminal window
# Generate a token (one-time)
cliq hub login
cliq hub token ci-publish
# → cliq_tok_a1b2c3...
# In CI, set the token in settings
# Then publish
cliq team publish ./@yourname/my-pipeline -m "Automated release"

Store the token in hub.token in ~/.cliqrc/settings.json.


Teams are just directories. If you don’t need a public registry, you can share teams via git.

Create a repo with your scope directory and start creating teams directly into it:

Terminal window
mkdir -p ~/yourname-teams/@yourname

Now you can create teams directly in your scope:

Terminal window
cliq team new @yourname/blog-pipeline
cliq team copy @cliq/hello-world ./my-hello @yourname
cliq builder generate -m "Content review pipeline" --name @yourname/content-review

When you’re ready to share, push:

Terminal window
cd ~/yourname-teams
git init && git add . && git commit -m "Add blog-pipeline team"
git remote add origin [email protected]:yourname/cliq-teams.git
git push -u origin main

They clone the repo and install from the local path:

Terminal window
git clone [email protected]:yourname/cliq-teams.git ~/yourname-teams
cliq team install ~/yourname-teams/@yourname/blog-pipeline

Now cliq team list shows the team, and cliq assemble @yourname/blog-pipeline works from any project. Pull to get updates, then re-run cliq team install to pick up changes.

No special packaging — teams are just directories with a team.yml and roles/.


CommandDescription
cliq hub login [registry_url]Authenticate
cliq hub token <name> [registry_url]Generate API token
cliq team publish <path> [registry]Publish a team
cliq team publish <path> -m <msg>Publish with changelog
cliq team publish <path> --access <level>Set visibility (public, private, draft)
cliq team version <bump> [ref]Bump version before publishing. See Versioning