← marketplace

publish an app.

two ways to ship something here. pick the one that matches how deep you want to integrate.

1. external app (any URL)

your app lives at its own URL. listing it here means it appears under the filter in the new-tab picker — users click, it opens in a tab. closest thing to chrome's web-store except scoped to workspaces.

today: PR a row into src/lib/apps.ts. v0.2: form on this page + supabase write + automated review.

2. deeply-integrated app (in our ecosystem)

for apps that need workspace data, AI tool-use, or to embed inside surfaces (newtab widgets, mobile tabs). these get a real repo in the whitelabel-dev org + a slot in the ecosystem manifest. talk to garrett.


listing schema

{
  slug:        string   // url-safe, unique
  name:        string   // display
  description: string   // 1–2 sentence pitch
  url:         string   // where install/open opens
  publisher:   string   // org or person
  kind:        'first-party' | 'third-party'
  glyph:       string   // 1-char unicode badge
  installable: boolean  // true if /api/install lands today
}