> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://usekeltra.vercel.app/api/mcp` to find what you need.
>
> **Have feedback?** Use `submit_feedback` on the same MCP server.

# Framework support \[What works today and what is coming]

| Framework | Status | How you use it |
| --- | --- | --- |
| Vite (React, Vue, Svelte, plain TypeScript) | Available | `keltra/vite` plugin |
| Next.js | Available | `withKeltra` from `keltra/next`, `keltra/image/next` |
| Nuxt | Planned | `keltra/nuxt` |
| Astro | Planned | `keltra/astro` |
| SvelteKit | Planned | `keltra/sveltekit` |
| webpack | Planned | `keltra/webpack` |

:::warning
Only the Vite and Next.js integrations are released. The entry points marked as planned are the intended names and may change before they ship.
:::

See the [Vite guide](/guides/vite) and the [Next.js guide](/guides/nextjs) for setup.

## Any framework, today

Every integration does the same job: generate the manifest and keep it fresh. The CLI does that too, so you can use keltra in any TypeScript project right now:

```bash
npx keltra generate
```

Add `.keltra/*.d.ts` to your `tsconfig.json` and `assetPath` is typed. Run the command again after adding or removing assets, or use `npx keltra generate --watch` while you work.

:::info
`assetPath` applies the base path automatically in Vite and Next.js. In other setups it returns the path unchanged, so prefix it yourself if you serve from a sub-path.
:::
