Developer quickstart

Install a scheduler surface, then make it yours.

Bravo Calendar is designed as composable React UI plus calendar math and scheduling models. The business site uses the local package directly so demos stay honest.

Package availability

Public docs show the intended customer package name, @bravocalendar/react. The live marketing app still runs against the private local workspace package while registry access and early customer fulfillment are finalized.

Install

pnpm add @bravocalendar/react

import { CalendarRoot } from "@bravocalendar/react";
import "@bravocalendar/react/calendar.css";

Render

<CalendarRoot
  events={events}
  resources={resources}
  view="timeline"
  eventEditing
  showResourceFilters
  onEventCreate={handleCreate}
  onEventUpdate={handleUpdate}
  onEventDelete={handleDelete}
/>

Customize

Validation Hooks

Scheduling rules live in the app. Use unavailable ranges, disabled resources, locked events, and rejected update callbacks to keep the UI honest about business constraints.

Customer Access

Paid customers get account-gated setup instructions after Stripe and Clerk attach the license to a buyer identity. First customers can still be invited manually to GitHub Packages while automated package fulfillment is refined.

# Customer .npmrc
@bravocalendar:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=YOUR_GITHUB_PACKAGES_TOKEN

Known Limits