···1# Repository Guidelines
23## Project Structure & Module Organization
04- `src/routes` contains SvelteKit routes, including dynamic handle pages in `src/routes/[handle]/[[page]]`, edit flows in `src/routes/[handle]/[[page]]/edit` and `src/routes/edit`, and API endpoints under `src/routes/api`.
5- `src/lib` holds reusable modules: card implementations in `src/lib/cards`, shared UI in `src/lib/components`, OAuth helpers in `src/lib/oauth`, and site data/loading in `src/lib/website`.
6- Root app setup lives in `src/app.html` and `src/app.css`.
···8- `docs` includes contributor-facing docs like custom cards and self-hosting.
910## Build, Test, and Development Commands
011- `pnpm dev` starts the Vite dev server.
12- `pnpm build` creates a production build.
13- `pnpm preview` builds and runs locally with Wrangler.
···17- `pnpm deploy` builds and deploys to Cloudflare Workers.
1819## Coding Style & Naming Conventions
020- Indentation uses tabs, single quotes, and 100-column width (see `.prettierrc`).
21- Svelte components use PascalCase filenames; utilities and helpers use camelCase.
22- Prefer TypeScript in `src` and keep module boundaries aligned with `src/lib` subfolders (cards, components, website, oauth).
2324## Testing Guidelines
025- There is no dedicated test runner yet. Use `pnpm check` and `pnpm lint` before submitting changes.
26- For UI changes, verify key flows manually (login, card editing, save/load, and route navigation across `[handle]` pages).
2728## Commit & Pull Request Guidelines
029- Keep commits short and direct; recent history favors lowercase, imperative summaries (e.g., `small fixes`).
30- PRs should include a clear description, linked issues when relevant, and screenshots for UI changes.
3132## Configuration & Deployment Notes
033- Copy `.env.example` to `.env` and adjust `PUBLIC_*` values for local or self-hosted setups.
34- Cloudflare configuration lives in `wrangler.jsonc`; deployments use Wrangler via `pnpm deploy`.
···1# Repository Guidelines
23## Project Structure & Module Organization
4+5- `src/routes` contains SvelteKit routes, including dynamic handle pages in `src/routes/[handle]/[[page]]`, edit flows in `src/routes/[handle]/[[page]]/edit` and `src/routes/edit`, and API endpoints under `src/routes/api`.
6- `src/lib` holds reusable modules: card implementations in `src/lib/cards`, shared UI in `src/lib/components`, OAuth helpers in `src/lib/oauth`, and site data/loading in `src/lib/website`.
7- Root app setup lives in `src/app.html` and `src/app.css`.
···9- `docs` includes contributor-facing docs like custom cards and self-hosting.
1011## Build, Test, and Development Commands
12+13- `pnpm dev` starts the Vite dev server.
14- `pnpm build` creates a production build.
15- `pnpm preview` builds and runs locally with Wrangler.
···19- `pnpm deploy` builds and deploys to Cloudflare Workers.
2021## Coding Style & Naming Conventions
22+23- Indentation uses tabs, single quotes, and 100-column width (see `.prettierrc`).
24- Svelte components use PascalCase filenames; utilities and helpers use camelCase.
25- Prefer TypeScript in `src` and keep module boundaries aligned with `src/lib` subfolders (cards, components, website, oauth).
2627## Testing Guidelines
28+29- There is no dedicated test runner yet. Use `pnpm check` and `pnpm lint` before submitting changes.
30- For UI changes, verify key flows manually (login, card editing, save/load, and route navigation across `[handle]` pages).
3132## Commit & Pull Request Guidelines
33+34- Keep commits short and direct; recent history favors lowercase, imperative summaries (e.g., `small fixes`).
35- PRs should include a clear description, linked issues when relevant, and screenshots for UI changes.
3637## Configuration & Deployment Notes
38+39- Copy `.env.example` to `.env` and adjust `PUBLIC_*` values for local or self-hosted setups.
40- Cloudflare configuration lives in `wrangler.jsonc`; deployments use Wrangler via `pnpm deploy`.
+3-5
README.md
···1# blento
23-Alpha version can be tried at https://blento.app
45Your personal website in a bento style layout, using your bluesky personal data server as a backend.
67made with svelte, tailwind and hosted on cloudflare workers.
8-910https://github.com/user-attachments/assets/2b6f5e99-b5d4-4484-ab95-35445067bb80
1112-13## Why?
1415This started as a replacement/alternative for bento.me which is shutting down in a few weeks (Feb 2026) after being bought by a competitor ^^ I wanted to build a version that couldn't just shut down or where it would be very easy to spin up a new version (with all the data) should the old one disappear.
1617That's why all your data is saved on your bluesky personal data server, so you can start setting up your website on blento.app, but then anytime you want to start self hosting you easily take your data with you (dedicated forks optimized for self hosting on different platforms coming soon).
1819-Should blento.app shut down at some point, someone else can also spin up a new version that shows all blentos (note: it's MIT licensed so you *could* do that now too and offer a competing service, but please don't (except for self-hosting your own profile ofc), legal != nice).
2021One other note: for most independence I encourage everyone to get their own domain and either self host or redirect to blento.app/your-profile (still working on a way to make this as easy as possible for non-technical users, if you have any suggestions please reach out).
22···3637Open an issue
3839-## License
4041MIT
···1# blento
23+Alpha version can be tried at https://blento.app
45Your personal website in a bento style layout, using your bluesky personal data server as a backend.
67made with svelte, tailwind and hosted on cloudflare workers.
089https://github.com/user-attachments/assets/2b6f5e99-b5d4-4484-ab95-35445067bb80
10011## Why?
1213This started as a replacement/alternative for bento.me which is shutting down in a few weeks (Feb 2026) after being bought by a competitor ^^ I wanted to build a version that couldn't just shut down or where it would be very easy to spin up a new version (with all the data) should the old one disappear.
1415That's why all your data is saved on your bluesky personal data server, so you can start setting up your website on blento.app, but then anytime you want to start self hosting you easily take your data with you (dedicated forks optimized for self hosting on different platforms coming soon).
1617+Should blento.app shut down at some point, someone else can also spin up a new version that shows all blentos (note: it's MIT licensed so you _could_ do that now too and offer a competing service, but please don't (except for self-hosting your own profile ofc), legal != nice).
1819One other note: for most independence I encourage everyone to get their own domain and either self host or redirect to blento.app/your-profile (still working on a way to make this as easy as possible for non-technical users, if you have any suggestions please reach out).
20···3435Open an issue
3637+## License
3839MIT
+1-1
docs/Beta.md
···3435- onboarding
3637-- show alert when user tries to close window with unsaved changes
···3435- onboarding
3637+- show alert when user tries to close window with unsaved changes
+2-2
docs/CardIdeas.md
···3738- leaflet
39- skywatched
40-- teal.fm
41 - [x] last played songs
42- tangled.sh
43- popfeed.social
···6970## various
7172-- eyes tracking cursor (https://blento.app/jumpcity.blacksky.app)
···3738- leaflet
39- skywatched
40+- teal.fm
41 - [x] last played songs
42- tangled.sh
43- popfeed.social
···6970## various
7172+- eyes tracking cursor (https://blento.app/jumpcity.blacksky.app)
+1-1
docs/CustomCards.md
···5Notes:
67- Cards should be styled to work in light and dark mode (with dark: class modifier) as well as when cards are colorful (= bg-color-500 for the card) (with accent: modifier).
8-- Please test newly created cards both when editing (/your-user/edit) and in your user profile when saved (/your-user)
···5Notes:
67- Cards should be styled to work in light and dark mode (with dark: class modifier) as well as when cards are colorful (= bg-color-500 for the card) (with accent: modifier).
8+- Please test newly created cards both when editing (/your-user/edit) and in your user profile when saved (/your-user)