malv publish
Publish your app to the MALV registry so others can install and use it.
Usage
# From inside an app directory
cd packages/apps/my-app
malv publish
# With version bump
malv publish --patch # 1.0.0 → 1.0.1
malv publish --minor # 1.0.0 → 1.1.0
malv publish --major # 1.0.0 → 2.0.0
# Preview without publishing
malv publish --dry-run
# Publish as private
malv publish --access private
Before Publishing
Make sure you:
- Build the app - Run
yarn buildto create thedist/directory - Log in - Run
malv loginto authenticate with the registry - Have permission - You must be a member of the organization in the package name
What Gets Published
The CLI publishes these files:
Required:
package.json- App metadata and versiontools.json- Tool definitionsdist/- Built JavaScript files
Optional (if present):
tokens.json- Token definitionsstorage.json- Storage permissionsevents.json- Event definitionsobjects.json- Object definitionsenvironment.json- Required environment variablesembeddings/- Semantic search embeddingsexamples/- Usage examples
Version Bumping
Use flags to bump the version before publishing:
malv publish --patch # Bug fixes: 1.0.0 → 1.0.1
malv publish --minor # New features: 1.0.0 → 1.1.0
malv publish --major # Breaking changes: 1.0.0 → 2.0.0
The version in package.json is updated before upload.
Private Apps
By default, apps are public. Make them private with:
malv publish --access private
Private apps:
- Only visible to organization members
- Require
malv loginto install - Don't appear in public searches
Dry Run
See what would be published without actually doing it:
malv publish --dry-run
Output:
Would publish @my-org/[email protected]
Files:
package.json (1.2 KB)
tools.json (3.4 KB)
dist/create_note.js (2.1 KB)
dist/edit_note.js (1.8 KB)
...
Total: 15 files (24.5 KB)
After Publishing
Others can install your app:
malv install @my-org/[email protected]
Or add it to their malv.json:
{
"apps": {
"@my-org/notes": "^1.2.0"
}
}
Authentication
Publishing requires authentication:
# Log in (opens browser for OAuth)
malv login
# Check who you're logged in as
malv whoami
# Log out
malv logout
Common Issues
Not logged in
Error: Not authenticated. Run 'malv login' first.
Run malv login and try again.
Missing dist/
Error: dist/ directory not found. Run 'yarn build' first.
Build your app before publishing.
No permission
Error: You don't have permission to publish to @other-org
You can only publish to organizations you're a member of.
Version already exists
Error: Version 1.0.0 already exists
Bump the version with --patch, --minor, or --major.