with one click
bbum-publisher
// Use when the user wants to publish a bbum task library to the marketplace. Trigger on: "publish my library", "add to marketplace", "submit library", "register my bbum library", "list my library on the marketplace".
// Use when the user wants to publish a bbum task library to the marketplace. Trigger on: "publish my library", "add to marketplace", "submit library", "register my bbum library", "list my library on the marketplace".
| name | bbum-publisher |
| description | Use when the user wants to publish a bbum task library to the marketplace. Trigger on: "publish my library", "add to marketplace", "submit library", "register my bbum library", "list my library on the marketplace". |
| lambda | λop. publish → marketplace(bbum, publisher) |
| metadata | {"tags":["bbum","marketplace","publisher","publish"]} |
λ(op). publish → λpublish(library)
Install marketplace tasks first — see the bbum-consumer skill (skills/bbum-consumer/SKILL.md)
for the λinstall step. The marketplace:publish task must be present in bb.edn
before running any publish command.
Publishing also requires:
gh CLI installed and authenticated (gh auth login)bbum.edn with :lib at the project rootorigin pointing at the library's GitHub repoPublish a bbum task library to the marketplace. Run in the library's root directory.
bb marketplace:publish
What happens:
bbum.edn for :lib and optional :description / :tagshugoduncan/bbum-marketplace via gh CLIOptional: pre-populate bbum.edn to skip prompts:
{:lib my-org/my-lib
:description "What this library does"
:tags ["tag1" "tag2"]
:tasks {...}}
Agent pattern:
user: "publish my library to the marketplace"
→ check bb.edn has marketplace:publish task installed
→ if not: follow bbum-consumer λinstall, then return here
→ check bbum.edn has :lib
→ if not: prompt user for lib name and add to bbum.edn
→ run: bb marketplace:publish
→ report PR URL to user
| Error | Cause | Fix |
|---|---|---|
gh CLI not authenticated | gh auth status fails | gh auth login |
No bbum.edn found | Not in a bbum library project | cd to the library root |
Library already registered | Entry exists for this slug | Use --update (future) or edit via PR |
HTTP 403 / rate limit | GitHub API cap hit | Set GITHUB_TOKEN |