Core concepts
View as Markdown

Shared Library

Brand assets with stable CDN URLs (logos, photos, icons, fonts).

The shared library hosts brand assets — logos, photos, icons, fonts — that any Droplet or Skill can reference. Assets get stable CDN URLs that keep working even when the asset is renamed or archived.

The library lives at S3 paths under _library/{collection}/ and is fronted by CloudFront. The default collection is brand; you can upload into others (e.g. product, marketing) by passing --collection.

Using an asset in a Droplet

Every collection publishes a JSON catalog with every asset's CDN URL, content type, and metadata:

https://drop-apps.himarley.xyz/_library/brand/catalog.json

Embed an asset directly by URL — no auth required, no signed URL needed:

<img src="https://drop-apps.himarley.xyz/_library/brand/assets/{id}/logo.svg" alt="Hi Marley">

Permissions

Any authenticated user can browse the library. Uploading, editing, and archiving require the Library Admin role (the @drop-library-admins system role group). Site admins manage the role membership in Settings → User Permissions.

Lifecycle

Assets have three states:

  • Active — live in the catalog, embedable from any Droplet.
  • Archived — hidden from the catalog but the CDN URL still resolves. Use for assets that need to keep working in already-published Droplets but shouldn't be new-use.
  • Deleted — gone. An asset must be archived first; delete is permanent.

Brand rules

Color hierarchy, typography, logo usage, and voice guidelines live alongside the assets at /_library/brand/brand-rules.md. Skills like pres and droplet read this file to stay on-brand without prompt-stuffing.

Operations

Upload an asset

Category is auto-detected from the filename, but pass --category to override. Use --collection to upload into something other than brand. Requires Library Admin.

# Single asset (category auto-detected)
drop library upload logo_brand_navy.svg

# Bulk upload fonts
drop library upload *.ttf --category font

# Upload into a non-brand collection with tags + AI guidance
drop library upload hero.jpg \
  --collection marketing \
  --tags "hero,homepage" \
  --guidance "Use as the hero image on launch droplets"

List library assets

Print the current catalog grouped by category. The same data is available as JSON at /_library/{collection}/catalog.json for in-Droplet consumption.

drop library list
drop library list --collection marketing

Archive, restore, delete

archive removes the asset from the catalog but keeps the CDN URL working. restore puts it back. delete is permanent and requires the asset to be archived first. All three require Library Admin.

drop library archive <id>    # remove from catalog
drop library restore <id>    # put back
drop library delete <id>     # permanent (must archive first)