Skip to content

Packages

sarr-io edited this page Jun 9, 2026 · 28 revisions

Packages

Zinc packages provide a way to share reusable Circuitry shapes, prompts, and assets.

Packages are installed into the local workspace (.zinc/packages/) or global path (~/.zinc/packages/).

Manifest: zinc.pkg.yaml

Each package must contain a zinc.pkg.yaml file outlining its details:

name: browser
version: "0.1.0"
about: Package for browser automation.

shapes:
  observe: shapes/observe.circuitry.yaml
  input: shapes/input.circuitry.yaml

prompts:
  instructions: prompts/guidance.md

files:
  script: scripts/setup.sh

Manifest Keys

  • name: Unique identifier for the package.
  • version: Package version.
  • about (or description): Summary of package features.
  • shapes: Mapping of short shape names to their relative file paths.
  • prompts: Mapping of prompt names to markdown assets.
  • files: Mapping of keys to package asset files.
  • scripts: Optional lifecycle hooks (setup, check, remove) run during package setup/teardown.

Resolution

When a package is installed, its shapes and assets can be referenced and loaded dynamically by the runtime using the zinc://package/<name>/shape/<shape_name> URI format.

Clone this wiki locally