Skip to main content
A BudsCollab package declares identity, surfaces, entrypoints, tools, provenance, renderer boundary, permission boundary, and JSON-render samples. Prefer generating packages from budscollab.blueprint.json with the CLI.

Blueprint fields

Blueprints are the editable starting point:
  • schemaVersion: must be budscollab.app-blueprint.v1.
  • id: stable package id, such as com.example.piano.
  • name, description, publisher: human-facing identity.
  • category: Productivity, Utilities, Games, Music, Tools, or Other.
  • dataScope: room, space, or global.
  • distributionTarget: personal-widget, published-widget, published-wall, full-app, sandbox-project, or developer-owned-repo.
  • icon and keywords: discovery metadata.
  • capabilities: requested primitive capabilities.
  • surfaces: widget, fullscreen, dock, overlay, and chatPanel.
  • tools: read-only by default; set write: true only for reviewed writes.
Dock requires fullscreen. At least one rendered surface must be enabled: widget, fullscreen, overlay, or chatPanel.

Package fields

budsui app from-blueprint compiles a blueprint into budscollab.package.json. A strict package includes:
  • manifest: identity, sizes, views, entrypoints, category, source, tools, market category, data scope, optional dock, overlays, properties, style options, design contract, and releases.
  • contract: validation requirements such as required surfaces, JSON-render surfaces, required action ids, minimum tools, and write posture.
  • provenance: publisher, repository, license, review URL, and signing status.
  • rendererBoundary: either json-render-only or isolated-external-renderer.
  • permissionBoundary: filesystem, data export, network, write, and audit policy.
  • jsonRenderSamples: representative JSON-render trees for the declared surfaces.
Packages are validation artifacts. They are not install permission.