> ## Documentation Index
> Fetch the complete documentation index at: https://extension.js.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Languages and frameworks guide

> See which languages and frameworks Extension.js supports including TypeScript, React, Vue, Svelte, Preact, Sass, Less, CSS Modules, and WebAssembly.

Choose the right language and UI framework strategy for your extension surfaces, then use Extension.js defaults to keep setup minimal.

## Choose by goal

| Goal                                      | Start here                                                                               |
| ----------------------------------------- | ---------------------------------------------------------------------------------------- |
| Strong typing and safer refactors         | [TypeScript](/docs/languages-and-frameworks/typescript)                                  |
| Rich UI components with large ecosystem   | [React](/docs/languages-and-frameworks/react)                                            |
| Smaller React-like runtime                | [Preact](/docs/languages-and-frameworks/preact)                                          |
| Vue single-file component workflow        | [Vue.js](/docs/languages-and-frameworks/vue)                                             |
| Compiled components with minimal runtime  | [Svelte](/docs/languages-and-frameworks/svelte)                                          |
| Modern module syntax                      | [ECMAScript modules](/docs/languages-and-frameworks/ecmascript-modules)                  |
| Scoped styling by default                 | [CSS modules](/docs/languages-and-frameworks/css-modules)                                |
| Sass or Less styling workflows            | [Sass](/docs/languages-and-frameworks/sass), [Less](/docs/languages-and-frameworks/less) |
| Browser-safe Node compatibility decisions | [Node APIs in browser extensions](/docs/languages-and-frameworks/node)                   |
| Performance-heavy wasm workloads          | [WebAssembly](/docs/languages-and-frameworks/webassembly)                                |

## Suggested progression

1. Choose language/runtime (`TypeScript`, `React`, `Preact`, `Vue`, or `Svelte`).
2. Choose styling model (`CSS modules`, `Sass`, or `Less`).
3. Add build/runtime constraints (`Node APIs`, `WebAssembly`) only when needed.

## Next steps

* Add ecosystem tooling in [Integrations](/docs/integrations/index).
* Keep command usage clear in [Commands reference](/docs/commands/index).

## Video walkthrough
