Publishing
Publishing your Clip makes it installable by anyone with pinix hub add @yourscope/name.
Prerequisites
Section titled “Prerequisites”- A working Clip (tested locally with
pinix hub add local/...) - Logged in:
pinix login(Registry uses the same auth as Hub)
Publish
Section titled “Publish”-
Verify your identity
Terminal window pinix registry whoami# → @yourscope -
Check your
clip.jsonEnsure the package name matches your scope:
{"name": "@yourscope/my-clip","version": "0.1.0","description": "What this Clip does","main": "src/index.ts"} -
Build Web UI (if applicable)
Terminal window cd web && bun run build && cd .. -
Publish
Terminal window pinix registry publish .This packages your Clip directory and uploads it to the Registry.
Version management
Section titled “Version management”The Registry follows semver. To publish a new version:
- Update
versioninclip.json - Run
pinix registry publish .again
{ "name": "@yourscope/my-clip", "version": "0.2.0"}Scope and permissions
Section titled “Scope and permissions”- 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
Sharing vs Publishing
Section titled “Sharing vs Publishing”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.
| Publishing | Sharing | |
|---|---|---|
| Code distribution | Yes (Registry) | No (runs on your machine) |
| User runs on | Their machine | Your machine (via Cloud Hub) |
| Monetization | Not directly | Per-use pricing via Credits |
| Visibility | Registry search | Marketplace (shared Clips) |
What gets published
Section titled “What gets published”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/ ✗ ExcludedDist-tag Management
Section titled “Dist-tag Management”By default, the published version is tagged as latest. You can manage dist-tags to control different release channels:
# 查看包的所有 dist-tagpinix registry dist-tag list @yourscope/my-clip
# 给指定版本设置 tagpinix registry dist-tag add @yourscope/my-clip@0.2.0 beta
# 发布时指定 tag(不影响 latest)pinix registry publish . --tag betaUsers can specify a tag when installing: pinix hub add @yourscope/my-clip@beta
Verifying your published Clip
Section titled “Verifying your published Clip”After publishing, verify it’s accessible:
# Search for itpinix 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