> ## Documentation Index
> Fetch the complete documentation index at: https://docs.budscollab.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Manifest

> Required fields for BudsCollab app artifacts.

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.
