Publish a local solution template to the shared catalog for distribution
From opspal-corenpx claudepluginhub revpalsfdc/opspal-commercial --plugin opspal-core<solution-path> [--message <message>] [--dry-run]Publish a local solution template to the shared catalog for distribution.
/solution-publish <solution-path> [options]
<solution-path> - Path to local solution directory--author <name> - Override author name (default: from manifest metadata)--message <message> - Publish message for changelog--dry-run - Show what would be published without making changes--force - Update existing solution even if version is unchanged/solution-publish ./solutions/templates/my-solution
/solution-publish ./solutions/templates/my-solution --message "Initial release"
/solution-publish ./solutions/templates/my-solution --dry-run
/solution-publish ./solutions/templates/my-solution --author "My Team"
Before publishing, ensure your solution:
Passes validation:
/solution-validate ./solutions/templates/my-solution
Has required fields in solution.json:
name - Unique solution name (lowercase-hyphenated)version - Semantic version (e.g., "1.0.0")description - Brief descriptioncomponents - At least one componentHas no hardcoded values:
{{parameter}} syntax in templatessolutions/ directory at repo rootsolution-catalog.jsonPublishing solution: my-solution
Pre-publish Validation:
✓ Manifest valid
✓ All templates exist
✓ No hardcoded IDs detected
✓ Dependencies valid
Publishing:
✓ Copied to: ./solutions/my-solution/
✓ Updated solution-catalog.json
✓ Catalog entry created
Published: my-solution v1.0.0
Next Steps:
1. Commit the changes:
git add solution-catalog.json solutions/my-solution/
git commit -m "feat: Add my-solution to catalog"
git push origin main
2. Verify in catalog:
/solution-catalog --search "my-solution"
Publishing solution: my-solution
Note: Updating existing solution (v1.0.0 → v1.1.0)
✓ Solution updated in catalog
✓ Files copied to ./solutions/my-solution/
Remember to commit and push your changes.
Dry Run: Would publish my-solution v1.0.0
Source: ./solutions/templates/my-solution
Target: ./solutions/my-solution
Catalog Entry:
{
"name": "my-solution",
"version": "1.0.0",
"description": "My custom solution",
"platforms": ["salesforce"],
"tags": ["custom"],
"complexity": "moderate",
"componentCount": 3,
"parameterCount": 4
}
No changes made.
| Location | Purpose |
|---|---|
./solutions/templates/ | Local development |
./solutions/ (repo root) | Published solutions |
solution-catalog.json | Catalog registry |
After publishing, the solution is distributed by pushing to the repository:
git add solution-catalog.json solutions/my-solution/
git commit -m "feat: Add my-solution to catalog"
git push origin main
Other installations can then install it:
git pull origin main
/solution-install my-solution
When updating an existing solution:
solution.jsonThe catalog tracks:
/solution-validate - Validate before publishing/solution-catalog - View published solutions/solution-info - View solution details/solution-install - Install from catalog