Skip to content

Cirro App Kit

Documentation, a project template and tools for building browser apps on the Cirro platform: apps that sign users in with their Cirro account over OAuth and work with their projects, datasets and files.

The template and tools live in the CirroBio/Cirro-app-kit repository; getting started shows how to clone it.

Quick start

New to Cirro? Read Cirro in five minutes, then follow getting started, which takes you from no account to a running app.

  1. Register the app's callback URL. Each app has its own callback URL, the address it returns to after sign-in, and gets its client ID from the tenant by it. In production a tenant admin registers it with discovery enabled (support@cirro.bio for the public tenant), so no client ID is configured or deployed. For local development, an App Developer can register a localhost callback URL themselves and put that registration's client ID in .env.
  2. Run the app template. templates/app is a React starter for portals, dashboards and workflow tools. Set the tenant's address (and, for local development, your registration's client ID) in .env, then npm install && npm run dev.
  3. Decide what to build. Cirro gives an app storage, pipelines, workspaces, sharing and a database, not just an API; see building on Cirro. List the permissions you use in cirro-permissions.json (permissions).
  4. Before deploying, run python3 tools/scan.py <your app> and work through the security checklist.
  5. Connect to tenants. A deployed app works for users once each tenant approves it; see connecting to tenants.

Verified against

@cirrobio/api-client and @cirrobio/sdk 0.13.39, with oidc-client-ts 3.5.0 for sign-in, React 19, Vite 8 and TypeScript 7. The app template was clean-installed and built on 2026-10-19. CI rebuilds it on every push and weekly against the latest published packages.

Contributing

See contributing, including how to update the kit when the Cirro packages publish a new version.

Using with Claude

The kit is also a Claude Code plugin, and its repository is a marketplace that lists it. Its skills hold the workflow steps for an agent (which questions to ask, which path to choose, when to verify against installed versions) and read their facts from this guide, so the guide stays the single source of truth. Install it in Claude Code (you need access to the CirroBio/Cirro-app-kit repository):

/plugin marketplace add CirroBio/Cirro-app-kit
/plugin install cirro-app-kit@cirro-app-kit

Then describe what you want to build ("start a Cirro dashboard that lists my datasets"); the matching skill loads by itself, or call one by name, such as /cirro-app-kit:cirro-app-scaffold. To work on the skills, see contributing.

Skill Use it to
cirro-app-scaffold Start a new app
cirro-auth-wiring Add or debug Cirro sign-in
cirro-data-access Call the API and read or upload files
cirro-permissions Write the permission manifest and handle 403s
cirro-sheets Use Sheets as the app's database
cirro-compute Run pipelines and launch workspaces from the app
cirro-app-review Review an app before deploying
cirro-app-deploy Deploy, and connect the app to tenants