Quick start

Start Calendarpit without cloning a repository and connect your application.

Start Calendarpit

Install and start with Homebrew:

brew install iktakahiro/tap/calendarpit
calendarpit serve

Or use Docker:

docker run --rm \
  -p 127.0.0.1:4173:4173 \
  -v calendarpit-data:/data \
  ghcr.io/iktakahiro/calendarpit:latest

Both commands start the API, the local OAuth server, and the admin UI on the same origin.

You do not need any of the following:

  • A Google account or Google Cloud project
  • An external database
  • A .env file
  • Provider credentials

For Compose and standalone downloads, see Installation.

Open the admin UI

Open http://127.0.0.1:4173. Changes made through the API appear there automatically.

The built-in fixture includes:

  • Test users alex and sam
  • Three calendars
  • A planning event on 2026-10-19

Where data is stored

  • CLI: .calendarpit/calendarpit.sqlite under your current directory.
  • Docker: the mounted volume.

For disposable tests, use in-memory storage:

  • CLI: pass --database :memory:.
  • Docker: pass -e CALENDARPIT_DATABASE=:memory:.

See Storage and restarts.

Connect your app

  1. Follow Connect your app to point your SDK and OAuth flow at Calendarpit.
  2. Use Fixtures to register local client credentials and exact callback URIs.

The built-in sample-app / local-sample-secret credentials are public test values. Their callback is http://127.0.0.1:4175/callback.

Optional source sample

The source sample walks through approval, event creation, FreeBusy, watch delivery, and revocation. It is separate from the distributed server. For setup, see the development guide.

Next steps

On this page