···88git clone https://github.com/flo-bit/blento.git
99cd blento
1010pnpm install
1111-pnpm env:setup-dev # creates .env, fills COOKIE_SECRET + CLIENT_ASSERTION_KEY
1211pnpm dev
1312```
1313+1414+No `.env` file required — dev uses the loopback OAuth public client, a fallback cookie secret, and `blento.app` as the default handle for `/`.
14151516Note: if cloudflare authorization website opens when running `pnpm dev` flip the `DB` binding's `"remote": true` to `false` in `wrangler.jsonc` and re-run.
1617···27282829## AI-assisted PRs
29303030-Welcome — please:
3131+AI-assisted PRs are accepted, especially if you just create a new card, but please:
31323233- Keep diffs minimal; no unrelated cleanup or verbose code
3334- Test light/dark, colored cards, edit/view, desktop and both mobile modes (screen-size and `pointer: coarse`)
+1-1
src/lib/actor.ts
···3030 console.error('failed to get custom domain kv', error);
3131 }
3232 } else {
3333- actor = publicEnv.PUBLIC_HANDLE as ActorIdentifier;
3333+ actor = (publicEnv.PUBLIC_HANDLE || 'blento.app') as ActorIdentifier;
3434 }
3535 } else if (customDomain && paramActor && blockBoth) {
3636 actor = undefined;