diff --git a/AGENTS.md b/AGENTS.md index cdccf98..46db227 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # BookHive — Agent Reference Index -Goodreads alternative built on Bluesky's AT Protocol. Server-rendered Hono JSX with minimal client-side hydration via `hono/jsx/dom`. Bun runtime, SQLite via Kysely, Tailwind CSS v4. Built with Vite + Nitro (preset `bun`), output to `.output/server/`. +Goodreads alternative built on Bluesky's AT Protocol. Server-rendered Hono JSX with minimal client-side hydration via `hono/jsx/dom`. Bun runtime, SQLite via Kysely, Tailwind CSS v4. Built with Vite+ (vite-plus, wrapping Vite 8 + Rolldown) + Nitro (preset `bun`), output to `.output/server/`. ## User preferences (do not remove this) @@ -37,7 +37,7 @@ Browser ──> Bun.serve() ──> Hono app ──> Server-rendered JSX pages │ /_bundle (HTML import, dev) ├── SQLite (Kysely ORM) │ └── entry.html ├── KV cache (unstorage + SQLite) │ ├── src/client/index.tsx ├── Bluesky PDS (ATProto writes) - │ └── src/index.css ├── Goodreads / Google / ISBNdb scrapers + │ └── src/index.css ├── Goodreads scrapers │ └── Worker threads (see below) └── static files (public/) @@ -48,27 +48,13 @@ Worker threads (src/workers/, bundled to .output/server/workers/): import-worker — CSV import processing ``` -**Key pattern**: Server components (`src/pages/`) render full HTML. Only 6 islands are hydrated client-side (`src/client/`). Most interactivity is CSS-only (peer/checked selectors for tabs, dropdowns, modals) or inline `