Skip to content

Project structure ​

A generated project starts with these files (with tailwind.css only when Tailwind is selected):

text
my-app/
├── .gitignore
├── app.ts
├── islands/
│   └── counter.ts
├── main.js or main.ts
├── package.json
├── public/
├── routes/
│   ├── _app.ts
│   ├── foo.ts
│   └── index.ts
├── tailwind.css            # optional
└── vite.config.ts
PathPurpose
app.tsCreates an App and enables filesystem routes.
routes/_app.tsDefines the HTML document and places route content and Vite assets.
routes/index.ts, routes/foo.tsDefine pages and optional HTTP handlers.
islands/counter.tsDefines an interactive Lit component used by a route.
public/Holds files Vite copies to the client output.
vite.config.tsInstalls the limette/vite plugin, and optionally Tailwind's Vite plugin.
main.js or main.tsServes the built handler with the Node or Deno adapter.

Both variants use the same package.json scripts: dev runs vite, build runs vite build, and start runs the runtime-specific launcher. The Node starter writes main.js; the Deno starter writes main.ts. A production build creates dist/client and dist/server/entry.js.

Released under the MIT License.