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.
Authentication
Section titled “Authentication”You must authenticate before publishing. Browsing, searching, and installing are anonymous — no account required.
cliq hub loginPrompts for username and password. On success, saves a JWT token to ~/.cliqrc/settings.json.
API tokens
Section titled “API tokens”For CI or headless environments, generate a named API token:
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> --globalConfiguration
Section titled “Configuration”Store your token in ~/.cliqrc/settings.json:
{ "hub": { "registry_url": "https://cliqhub.io", "token": "cliq_tok_..." }}| Field | Default | Description |
|---|---|---|
registry_url | https://cliqhub.io | Registry base URL. Override for self-hosted or local development |
token | "" | Auth token for publishing. Not required for browsing or installing |
Prerequisites
Section titled “Prerequisites”Before publishing:
- Authenticate — run
cliq hub login(or use an API token) - Own the scope — you can only publish to scopes you own (e.g.
@yourname/) - Version your team —
team.ymlmust have a validversionfield - Pass validation — the CLI runs strict checks before uploading
Publishing from the CLI
Section titled “Publishing from the CLI”The standard workflow: edit your team locally, bump the version, publish.
1. Make your changes
Section titled “1. Make your changes”Edit roles, adjust the workflow, add phases — whatever the update requires.
2. Bump the version
Section titled “2. Bump the version”cliq team version patch @yourname/my-pipelineSee Versioning for details on bump types and git integration.
3. Publish
Section titled “3. Publish”Publish takes a local filesystem path to the team directory:
cliq team publish ./@yourname/my-pipelineAdd a changelog message with -m:
cliq team publish ./@yourname/my-pipeline -m "Added security review phase"Control visibility with --access:
cliq team publish ./@yourname/my-pipeline --access public # defaultcliq team publish ./@yourname/my-pipeline --access privatecliq team publish ./@yourname/my-pipeline --access draft| Access | Behavior |
|---|---|
public | Listed on CliqHub and installable by anyone |
private | Installable only by scope members. Not listed publicly |
draft | Only visible to you. Review before making public |
What gets validated
Section titled “What gets validated”The CLI checks before uploading:
nameis fully qualified (@scope/name)versionis valid semverdescriptionis present- Every phase has a corresponding role file in
roles/ - Agent definitions are valid (bundled agents have entry files, phase agent references resolve)
@localteams cannot be published
Example output
Section titled “Example output”Validating team...✓ Team validPublishing @yourname/my-pipeline v1.3.0...✓ Published @yourname/my-pipeline v1.3.0
Changelog: Added security review phase View: https://cliqhub.io/@yourname/my-pipelinePublishing from the Builder
Section titled “Publishing from the Builder”The CliqHub web Builder includes a publish dialog for teams built or edited in the browser.
How it works
Section titled “How it works”- Open the Builder at cliqhub.io/builder
- Build or edit your team (name, phases, roles)
- 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.
Publishing updates from the account page
Section titled “Publishing updates from the account page”Your account page on cliqhub.io lists all your published teams. Each team has a Publish Update button that:
- Loads the latest published version into the Builder
- 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.
Conflict resolution
Section titled “Conflict resolution”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-pipelineBuilder: 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.
First publish
Section titled “First publish”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.
# New team, no version yetcliq team version patch @yourname/new-pipeline # → 1.0.0cliq team publish ./@yourname/new-pipeline # → Published v1.0.0CI/CD publishing
Section titled “CI/CD publishing”For automated publishing, use an API token instead of interactive login:
# Generate a token (one-time)cliq hub logincliq hub token ci-publish# → cliq_tok_a1b2c3...
# In CI, set the token in settings# Then publishcliq team publish ./@yourname/my-pipeline -m "Automated release"Store the token in hub.token in ~/.cliqrc/settings.json.
Sharing without CliqHub
Section titled “Sharing without CliqHub”Teams are just directories. If you don’t need a public registry, you can share teams via git.
Set up a teams repo
Section titled “Set up a teams repo”Create a repo with your scope directory and start creating teams directly into it:
mkdir -p ~/yourname-teams/@yournameNow you can create teams directly in your scope:
cliq team new @yourname/blog-pipelinecliq team copy @cliq/hello-world ./my-hello @yournamecliq builder generate -m "Content review pipeline" --name @yourname/content-reviewWhen you’re ready to share, push:
cd ~/yourname-teamsgit init && git add . && git commit -m "Add blog-pipeline team"git push -u origin mainColleagues install your teams
Section titled “Colleagues install your teams”They clone the repo and install from the local path:
cliq team install ~/yourname-teams/@yourname/blog-pipelineNow 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/.
Command reference
Section titled “Command reference”| Command | Description |
|---|---|
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 |