Publishing a Package
Last updated: March 28, 2026
Publishing a Package
1. Create the files
Place your files in the package directory following the structure:
_packages_/{org}/{name}/{version}/{type}/[files]
Example for a Go stack package:
_packages_/studiowebux/golang/1.0.0/stacks/go.md
Example for a multi-file workflow package:
_packages_/studiowebux/deploy/1.0.0/workflows/deploy-staging.md
_packages_/studiowebux/deploy/1.0.0/workflows/deploy-prod.md
_packages_/studiowebux/deploy/1.0.0/hooks/pre-deploy-check.sh
2. Add to the registry
Add an entry to _configs_/registry.json:
{
"name": "golang",
"org": "studiowebux",
"version": "1.0.0",
"path": "_packages_/studiowebux/golang/1.0.0",
"description": "Go development conventions and standards",
"files": [
{"name": "go.md", "type": "stacks"}
],
"tags": ["go", "stack"]
}
The path field points to the package root. Each file entry needs name
(filename) and type (subdirectory). Add "realFile": true for files that
should be copied instead of symlinked.
3. Test locally
cerveau marketplace info studiowebux/golang
cerveau marketplace install studiowebux/golang MyApp
Verify the files appear in the brain:
ls -la _brains_/myapp-brain/.claude/rules/stack/
Start a Claude Code session and confirm the rules load.
4. Submit
To publish to the official Cerveau marketplace:
- Fork
studiowebux/cerveau.dev - Add your package files and registry entry
- Open a pull request
The rule files and registry entry must ship together in the same PR.
Registry Schema
{
"version": "1.0.0",
"packages": [
{
"name": "package-name",
"org": "org-name",
"version": "1.0.0",
"path": "_packages_/org-name/package-name/1.0.0",
"description": "One-line description",
"files": [
{"name": "filename.md", "type": "workflows"},
{"name": "template.md", "type": "workflows", "realFile": true}
],
"tags": ["searchable", "keywords"]
}
]
}
| Field | Required | Description |
|---|---|---|
name |
yes | Package name |
org |
yes | Org namespace |
version |
yes | Semver version |
path |
yes | Relative path to package root |
description |
yes | Single sentence |
files |
yes | Array of file entries |
tags |
no | Searchable keywords |
File entry fields
| Field | Required | Description |
|---|---|---|
name |
yes | Filename (relative to type dir) |
type |
yes | One of: rules, workflows, practices, stacks, hooks, skills, agents, templates, claude |
realFile |
no | Copy instead of symlink (default: false) |
Checklist
- Files exist at the paths declared in the registry
-
pathmatches_packages_/{org}/{name}/{version} -
descriptionis a single sentence -
typeon each file matches the subdirectory it lives in - Tested with
cerveau marketplace installon a local brain - Rules follow Cerveau conventions (under 80 lines, no prose)