AppView in a box as a Vite plugin thing hatk.dev

docs: fix frontend setup to correctly attribute type generation to CLI

The Vite plugin handles import resolution, dev server, and the callXrpc
bridge. Type generation is done by the hatk CLI, not the plugin.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

+3 -3
+3 -3
docs/site/frontend/setup.md
··· 5 5 6 6 # Frontend Setup 7 7 8 - hatk uses SvelteKit for its frontend. The integration is handled by a Vite plugin that generates typed client code from your lexicons, so your components get autocomplete and type checking for every API call. 8 + hatk uses SvelteKit for its frontend, but any Vite SSR framework could be supported. The hatk CLI generates typed client code from your lexicons, so your components get autocomplete and type checking for every API call. The Vite plugin handles import resolution, the dev server, and the server-side bridge for `callXrpc()`. 9 9 10 10 ## Vite plugin 11 11 ··· 22 22 }); 23 23 ``` 24 24 25 - The `hatk()` plugin watches your lexicons and regenerates the typed client files when they change during development. It also sets up the server-side bridge that lets `callXrpc()` work in both server and client contexts. 25 + The `hatk()` plugin resolves `$hatk` and `$hatk/client` imports to the generated files, boots the dev server and PDS, and sets up the server-side bridge that lets `callXrpc()` work in both server and client contexts. 26 26 27 27 ## Generated files 28 28 ··· 108 108 npx hatk generate types 109 109 ``` 110 110 111 - This updates both `hatk.generated.ts` and `hatk.generated.client.ts` with new types, XRPC schema entries, and helper functions matching your lexicons. During `hatk dev`, this happens automatically when lexicon files change. 111 + This updates both `hatk.generated.ts` and `hatk.generated.client.ts` with new types, XRPC schema entries, and helper functions matching your lexicons.