Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/superradcompany/tool-cli/llms.txt

Use this file to discover all available pages before exploring further.

Publishing makes your tool available on tool.store. Once published, anyone can install it with tool install namespace/toolname.

Authenticate

Before you can publish, you need to log in with a registry token.
tool login                        # Interactive login (prompts for token)
tool login --token "your-token"   # Non-interactive login
Your token is stored locally and encrypted at rest. It is never sent anywhere other than the registry.

Verify your auth status

tool whoami                       # Show current auth status
tool whoami --token "your-token"  # Validate a specific token

Publish

tool publish validates, packs, and uploads your tool to the registry in one step.
tool publish                      # Publish current directory
tool publish ./my-tool            # Publish specific directory

Dry run

Preview what would be uploaded without actually sending anything:
tool publish --dry-run
This runs validation and packing, then reports what would be uploaded — useful for confirming the version, bundle size, and manifest contents before committing.

CI publishing with —token

In CI environments where you cannot run an interactive login, pass the token directly:
tool publish --token "your-token"
Store your token as a secret in your CI provider (e.g., TOOL_STORE_TOKEN) and pass it via an environment variable or secret injection. Never hard-code it in source control.

Strict mode

Treat validation warnings as errors and abort publishing if any are found:
tool publish --strict
Combine with --dry-run to enforce quality gates in pull requests:
tool publish --dry-run --strict

Versioning

The registry uses the version field in manifest.json to distinguish releases. You must increment the version before each publish — attempting to publish the same version twice will fail. Update version in manifest.json:
{
  "manifest_version": "0.3",
  "name": "my-tool",
  "version": "1.1.0"
}
Then publish:
tool publish
Use semantic versioning: MAJOR.MINOR.PATCH.

Registry URL format

Tools on the registry are identified by namespace/toolname. The namespace is your account username or organization slug. For example:
appcypher/bash
library/open-data
my-org/my-tool
Users install your tool with:
tool install my-org/my-tool
tool install my-org/my-tool@1.1.0   # specific version

Multi-platform publishing

For tools with native binaries or platform-specific dependencies, see Multi-platform publishing.
tool publish --multi-platform        # Publish bundles for each platform

All publish examples

tool publish                                                  # Publish current directory
tool publish ./my-tool                                        # Publish specific directory
tool publish --dry-run                                        # Preview without uploading
tool publish --token "your-token"                             # Publish with explicit token
tool publish --multi-platform                                 # Publish bundles for each platform
tool publish --multi-platform --darwin-arm64 ./dist/mac.mcpb  # Use pre-built bundle
tool publish --multi-platform --universal ./dist/all.mcpb     # Specify universal bundle

Build docs developers (and LLMs) love