Skip to content

Publishing

Publishing your Clip makes it installable by anyone with pinix hub add @yourscope/name.

  • A working Clip (tested locally with pinix hub add local/...)
  • Logged in: pinix login (Registry uses the same auth as Hub)
  1. Verify your identity

    Terminal window
    pinix registry whoami
    # → @yourscope
  2. Check your clip.json

    Ensure the package name matches your scope:

    {
    "name": "@yourscope/my-clip",
    "version": "0.1.0",
    "description": "What this Clip does",
    "main": "src/index.ts"
    }
  3. Build Web UI (if applicable)

    Terminal window
    cd web && bun run build && cd ..
  4. Publish

    Terminal window
    pinix registry publish .

    This packages your Clip directory and uploads it to the Registry.

The Registry follows semver. To publish a new version:

  1. Update version in clip.json
  2. Run pinix registry publish . again
{
"name": "@yourscope/my-clip",
"version": "0.2.0"
}
  • You can only publish to your own scope (@yourscope/)
  • The scope is determined by your login identity
  • Other users install with: pinix hub add @yourscope/my-clip

Publishing puts code in the Registry — users download and run the Clip on their own machine.

Sharing (via the Console’s Sharing feature) exposes a running instance of your Clip to other users. The code stays on your machine; invocations are routed through the Cloud Hub.

PublishingSharing
Code distributionYes (Registry)No (runs on your machine)
User runs onTheir machineYour machine (via Cloud Hub)
MonetizationNot directlyPer-use pricing via Credits
VisibilityRegistry searchMarketplace (shared Clips)

The publish command packages:

my-clip/
├── clip.json ✓ Always included
├── src/ ✓ Source code
├── package.json ✓ Dependencies
├── node_modules/ ✗ Excluded (installed on user's machine)
├── web/dist/ ✓ Built Web UI (if exists)
├── web/src/ ✗ Web source (excluded if dist/ exists)
└── .git/ ✗ Excluded

By default, the published version is tagged as latest. You can manage dist-tags to control different release channels:

Terminal window
# 查看包的所有 dist-tag
pinix registry dist-tag list @yourscope/my-clip
# 给指定版本设置 tag
pinix registry dist-tag add @yourscope/my-clip@0.2.0 beta
# 发布时指定 tag(不影响 latest)
pinix registry publish . --tag beta

Users can specify a tag when installing: pinix hub add @yourscope/my-clip@beta

After publishing, verify it’s accessible:

Terminal window
# Search for it
pinix registry search my-clip
# Install it (on another machine or after removing local)
pinix hub add @yourscope/my-clip
# 查看安装后的 Clip 信息
pinix hub info my-clip