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:
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:
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:
Use semantic versioning: MAJOR.MINOR.PATCH.
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
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