Your First App
Scaffold, run, and deploy a Bkper platform app in minutes. This is a thin walkthrough — deep reference for each topic lives in the other App docs.
This tutorial walks you through building and deploying a Bkper app from scratch. For the deep reference on any topic — architecture, configuration, development, events, or deployment — follow the links in each step.
Prerequisites
Development Setup — the CLI installed and authenticated.
Walkthrough
-
Scaffold from the template
bkper app init my-appcd my-appbkper app init my-appcreates./my-appand usesmy-appas the app id. The CLI sets your package name, URLs, and event-handler loop guards automatically. See App Configuration for the fullbkper.yamlreference. -
Install and start developing
npm installnpm run devThis runs the Vite client dev server and the local Worker runtime with automatic event tunneling. See Development Experience for details.
-
Open the app
Visit http://localhost:5173. Select a book to see account balances. No OAuth setup required — the platform handles authentication.
-
Trigger an event
Go to any Bkper book and check a transaction. The event handler creates a 20% draft using the original from and to Accounts. It does not affect balances unless posted. See Event Handlers for the full event model.
-
Make a change
Edit
server/src/events/handlers/transaction-checked.tsand save. The Worker reloads automatically. Check another transaction to see your change. -
Customize your listing
Update
bkper.yamlwith your app’s description and owner details. Replace the placeholder logos inclient/public/images/. See App Listing for publishing details. -
Update the README
Edit
README.mdfor end users — what the app does and how to use it. If your app exposes/api/*routes for users or integrators, include the app API base URL,/openapi.jsonURL, and one minimal authenticated example. Keep deeper developer docs inAGENTS.md. -
Establish shared source
Review the app, create its first commit, and sync it:
git add .git commit -m "Initial app"bkper app syncFor an eligible standalone app without an external remote, sync creates private Bkper-managed source and configures it as
origin. Authorized teammates and coding agents can then clone the same codebase withbkper app clone my-app. See Shared App Source for access rules and other source workflows. -
Check and deploy
npm run checknpm run deployDeployment is explicit: syncing or pushing source does not deploy the app. Your app is live at
https://my-app.bkper.app. See Building & Deploying for preview environments, secrets, and KV.
Next steps
- Shared App Source — Clone and improve one private app codebase together
- App Architecture — Understand the single Worker client/server structure
- App Configuration — Full
bkper.yamlreference - Event Handlers — All event types and patterns
- Building & Deploying — Preview environments and secrets