···11# Repository Guidelines
2233## Project Structure & Module Organization
44+45- `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`.
56- `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`.
67- Root app setup lives in `src/app.html` and `src/app.css`.
···89- `docs` includes contributor-facing docs like custom cards and self-hosting.
9101011## Build, Test, and Development Commands
1212+1113- `pnpm dev` starts the Vite dev server.
1214- `pnpm build` creates a production build.
1315- `pnpm preview` builds and runs locally with Wrangler.
···1719- `pnpm deploy` builds and deploys to Cloudflare Workers.
18201921## Coding Style & Naming Conventions
2222+2023- Indentation uses tabs, single quotes, and 100-column width (see `.prettierrc`).
2124- Svelte components use PascalCase filenames; utilities and helpers use camelCase.
2225- Prefer TypeScript in `src` and keep module boundaries aligned with `src/lib` subfolders (cards, components, website, oauth).
23262427## Testing Guidelines
2828+2529- There is no dedicated test runner yet. Use `pnpm check` and `pnpm lint` before submitting changes.
2630- For UI changes, verify key flows manually (login, card editing, save/load, and route navigation across `[handle]` pages).
27312832## Commit & Pull Request Guidelines
3333+2934- Keep commits short and direct; recent history favors lowercase, imperative summaries (e.g., `small fixes`).
3035- PRs should include a clear description, linked issues when relevant, and screenshots for UI changes.
31363237## Configuration & Deployment Notes
3838+3339- Copy `.env.example` to `.env` and adjust `PUBLIC_*` values for local or self-hosted setups.
3440- Cloudflare configuration lives in `wrangler.jsonc`; deployments use Wrangler via `pnpm deploy`.
+3-5
README.md
···11# blento
2233-Alpha version can be tried at https://blento.app
33+Alpha version can be tried at https://blento.app
4455Your personal website in a bento style layout, using your bluesky personal data server as a backend.
6677made with svelte, tailwind and hosted on cloudflare workers.
88-98109https://github.com/user-attachments/assets/2b6f5e99-b5d4-4484-ab95-35445067bb80
11101212-1311## Why?
14121513This 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.
16141715That'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).
18161919-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).
1717+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).
20182119One 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).
2220···36343735Open an issue
38363939-## License
3737+## License
40384139MIT
+1-1
docs/Beta.md
···34343535- onboarding
36363737-- show alert when user tries to close window with unsaved changes3737+- show alert when user tries to close window with unsaved changes
+2-2
docs/CardIdeas.md
···37373838- leaflet
3939- skywatched
4040-- teal.fm
4040+- teal.fm
4141 - [x] last played songs
4242- tangled.sh
4343- popfeed.social
···69697070## various
71717272-- eyes tracking cursor (https://blento.app/jumpcity.blacksky.app)7272+- eyes tracking cursor (https://blento.app/jumpcity.blacksky.app)
+1-1
docs/CustomCards.md
···55Notes:
6677- 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).
88-- Please test newly created cards both when editing (/your-user/edit) and in your user profile when saved (/your-user)88+- Please test newly created cards both when editing (/your-user/edit) and in your user profile when saved (/your-user)