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

# Built-in plugins

> Fallow ships with 95 built-in plugins for Next.js, Vite, Jest, Tailwind, ESLint, and more. Auto-detected framework conventions for accurate analysis.

Fallow ships with 95 built-in plugins for the most popular TypeScript and JavaScript tools. Each plugin teaches fallow about framework-specific conventions: entry points, config files, used exports, and tooling dependencies. Analysis is accurate out of the box.

<Info>
  Most plugins activate automatically when the relevant package is in your `package.json`. Some plugins (ESLint, Vitest) also activate when a config file is present in the workspace root, even without the package. This covers monorepos where the tool is installed at the root but workspace packages have their own config files.
</Info>

<Tabs>
  <Tab title="Frameworks">
    | Plugin              | Enabler packages                                                                                      |
    | :------------------ | :---------------------------------------------------------------------------------------------------- |
    | **Next.js**         | `next`                                                                                                |
    | **Nuxt**            | `nuxt`, `nuxt3`                                                                                       |
    | **Remix**           | `@remix-run/dev`                                                                                      |
    | **SvelteKit**       | `@sveltejs/kit`                                                                                       |
    | **Gatsby**          | `gatsby`                                                                                              |
    | **Astro**           | `astro`                                                                                               |
    | **Angular**         | `@angular/core`                                                                                       |
    | **React Router**    | `react-router`, `@react-router/dev`                                                                   |
    | **TanStack Router** | `@tanstack/react-router`, `@tanstack/start`, `@tanstack/react-start`                                  |
    | **React Native**    | `react-native`                                                                                        |
    | **Expo**            | `expo`                                                                                                |
    | **NestJS**          | `@nestjs/core`                                                                                        |
    | **AdonisJS**        | `@adonisjs/core`                                                                                      |
    | **Docusaurus**      | `@docusaurus/core`                                                                                    |
    | **Nitro**           | `nitropack`                                                                                           |
    | **Capacitor**       | `@capacitor/core`, `@capacitor/cli`                                                                   |
    | **Sanity**          | `sanity`, `@sanity/`                                                                                  |
    | **VitePress**       | `vitepress`                                                                                           |
    | **next-intl**       | `next-intl`                                                                                           |
    | **Relay**           | `relay-runtime`, `react-relay`, `relay-compiler`                                                      |
    | **Electron**        | `electron`, `electron-builder`, `@electron-forge/cli`, `electron-vite`                                |
    | **Qwik**            | `@builder.io/qwik`, `@builder.io/qwik-city`, `@qwik.dev/core`, `@qwik.dev/router`                     |
    | **i18next**         | `i18next`, `react-i18next`, `vue-i18n`                                                                |
    | **Convex**          | `convex`                                                                                              |
    | **Lit**             | `lit`, `lit-element`, `lit-html` (also activates for native Custom Elements without a Lit dependency) |
  </Tab>

  <Tab title="Bundlers">
    | Plugin       | Enabler packages     |
    | :----------- | :------------------- |
    | **Vite**     | `vite`               |
    | **Webpack**  | `webpack`            |
    | **Rspack**   | `@rspack/core`       |
    | **Rsbuild**  | `@rsbuild/core`      |
    | **Rollup**   | `rollup`             |
    | **Rolldown** | `rolldown`           |
    | **Tsup**     | `tsup`               |
    | **Tsdown**   | `tsdown`             |
    | **Parcel**   | `parcel`, `@parcel/` |
  </Tab>

  <Tab title="Testing">
    | Plugin          | Enabler packages                |
    | :-------------- | :------------------------------ |
    | **Vitest**      | `vitest` or config file present |
    | **Jest**        | `jest`                          |
    | **Playwright**  | `@playwright/test`              |
    | **Cypress**     | `cypress`                       |
    | **Mocha**       | `mocha`                         |
    | **Ava**         | `ava`                           |
    | **tap**         | `tap`                           |
    | **tsd**         | `tsd`                           |
    | **Storybook**   | `storybook`, `@storybook/react` |
    | **Karma**       | `karma`                         |
    | **Cucumber**    | `@cucumber/cucumber`            |
    | **WebdriverIO** | `webdriverio`, `@wdio/`         |
  </Tab>

  <Tab title="Linting & Formatting">
    | Plugin           | Enabler packages                                        |
    | :--------------- | :------------------------------------------------------ |
    | **ESLint**       | `eslint` or config file present                         |
    | **Biome**        | `@biomejs/biome`                                        |
    | **Stylelint**    | `stylelint`                                             |
    | **Prettier**     | `prettier`                                              |
    | **Oxlint**       | `oxlint`                                                |
    | **markdownlint** | `markdownlint`, `markdownlint-cli`, `markdownlint-cli2` |
    | **CSpell**       | `cspell`                                                |
    | **Remark**       | `remark`, `remark-cli`                                  |
  </Tab>

  <Tab title="Transpilation">
    | Plugin         | Enabler packages        |
    | :------------- | :---------------------- |
    | **TypeScript** | `typescript`            |
    | **Babel**      | `@babel/core`           |
    | **SWC**        | `@swc/core`, `@swc/cli` |
  </Tab>

  <Tab title="CSS">
    | Plugin       | Enabler packages      |
    | :----------- | :-------------------- |
    | **Tailwind** | `tailwindcss`         |
    | **PostCSS**  | `postcss`             |
    | **UnoCSS**   | `unocss`, `@unocss/*` |
  </Tab>

  <Tab title="Database">
    | Plugin      | Enabler packages           |
    | :---------- | :------------------------- |
    | **Prisma**  | `prisma`, `@prisma/client` |
    | **Drizzle** | `drizzle-orm`              |
    | **Knex**    | `knex`                     |
    | **TypeORM** | `typeorm`                  |
    | **Kysely**  | `kysely`, `kysely-ctl`     |
  </Tab>

  <Tab title="Monorepo">
    | Plugin         | Enabler packages                                  |
    | :------------- | :------------------------------------------------ |
    | **Turborepo**  | `turbo`                                           |
    | **Nx**         | `nx`                                              |
    | **Changesets** | `@changesets/cli`                                 |
    | **Syncpack**   | `syncpack`                                        |
    | **pnpm**       | `pnpm-workspace.yaml` or `pnpm-lock.yaml` present |
  </Tab>

  <Tab title="CI/CD & Release">
    | Plugin               | Enabler packages   |
    | :------------------- | :----------------- |
    | **semantic-release** | `semantic-release` |
    | **Commitlint**       | `@commitlint/cli`  |
    | **Commitizen**       | `commitizen`       |
    | **Wrangler**         | `wrangler`         |
    | **Sentry**           | `@sentry/cli`      |
  </Tab>

  <Tab title="Git Hooks">
    | Plugin               | Enabler packages   |
    | :------------------- | :----------------- |
    | **husky**            | `husky`            |
    | **lint-staged**      | `lint-staged`      |
    | **lefthook**         | `lefthook`         |
    | **simple-git-hooks** | `simple-git-hooks` |
  </Tab>

  <Tab title="Other">
    | Plugin                 | Enabler packages                           |
    | :--------------------- | :----------------------------------------- |
    | **GraphQL Codegen**    | `@graphql-codegen/cli`                     |
    | **TypeDoc**            | `typedoc`                                  |
    | **openapi-ts**         | `openapi-typescript`                       |
    | **Plop**               | `plop`                                     |
    | **SVGO**               | `svgo`                                     |
    | **SVGR**               | `@svgr/core`, `@svgr/cli`, `@svgr/webpack` |
    | **c8**                 | `c8`                                       |
    | **nyc**                | `nyc`                                      |
    | **MSW**                | `msw`                                      |
    | **nodemon**            | `nodemon`                                  |
    | **PM2**                | `pm2`                                      |
    | **dependency-cruiser** | `dependency-cruiser`                       |
    | **Hardhat**            | `hardhat`                                  |
    | **Bun**                | `bun-types`                                |
  </Tab>
</Tabs>

<Accordion title="Plugins with deep config parsing">
  These plugins go beyond simple package detection. They parse your config files with Oxc's AST parser to extract entry points, dependencies, aliases, and other settings automatically:

  | Plugin         | What it extracts                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | **ESLint**     | Plugin imports, shared configs, custom rule paths, import resolver packages                                                                                                                                                                                                                                                                                                                                                                                                                                         |
  | **Vitest**     | Reporters, coverage provider, typecheck checker, browser provider from `vitest.config.ts`                                                                                                                                                                                                                                                                                                                                                                                                                           |
  | **Vite**       | Entry points, `resolve.alias` mappings, plugin imports from `vite.config.ts`                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  | **Jest**       | Setup files, transform paths, module mappers from `jest.config.js`                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  | **tsd**        | Declaration test directory from `package.json#tsd.directory`                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  | **Storybook**  | Story globs, addon imports from `.storybook/main.ts`                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | **Tailwind**   | Content paths, plugin imports from `tailwind.config.js`                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  | **Webpack**    | Entry points including descriptor/context forms, `resolve.alias` mappings, loader/plugin imports from `webpack.config.js`                                                                                                                                                                                                                                                                                                                                                                                           |
  | **TypeScript** | Path aliases, project references from `tsconfig.json`                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  | **Babel**      | Plugin and preset imports from `babel.config.js`                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | **Rollup**     | Entry points, plugin imports from `rollup.config.js`                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | **Rolldown**   | Entry points, external deps, plugin imports from `rolldown.config.ts`                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  | **PostCSS**    | Plugin imports from `postcss.config.js`                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  | **Nuxt**       | Modules, plugins, server routes, `alias`, `imports.dirs`, `components`, `srcDir` from `nuxt.config.ts`                                                                                                                                                                                                                                                                                                                                                                                                              |
  | **SvelteKit**  | `kit.alias` mappings, param matchers from `svelte.config.js`                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  | **Next.js**    | App Router convention exports (`page`, `layout`, `loading`, `error`, `route`), route segment config, Pages Router exports, middleware, proxy, instrumentation, `mdx-components`, `transpilePackages`                                                                                                                                                                                                                                                                                                                |
  | **Rsbuild**    | Entry points, plugin imports from `rsbuild.config.ts`                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  | **Remark**     | Plugin imports from `.remarkrc.js`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  | **Angular**    | Styles, scripts, main, polyfills from `angular.json` build targets; `@Component({ templateUrl, styleUrl })` decorator references create graph edges; standalone `.html` templates and inline `template:` literals both contribute synthetic `<template>` complexity findings (`@if`/`@for`/`@switch`/`@defer`, `*ngIf`, bound attributes, interpolations) suppressible via `<!-- fallow-ignore-file complexity -->` (external) or `// fallow-ignore-next-line complexity` above the `@Component` decorator (inline) |
  | **Nx**         | Executor references, main entry points, tsconfig paths from `project.json`                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  | **Hardhat**    | Plugin imports and side-effect requires from `hardhat.config.ts`                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | **UnoCSS**     | Preset and transformer imports from `uno.config.ts`                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
</Accordion>

<Tip>
  Run `fallow list --plugins` to see which plugins are active in your project.
</Tip>

```bash title="$ fallow list --plugins" theme={null}
Active plugins:
  - nextjs
  - vite
  - vitest
  - playwright
  - storybook
  - eslint
  - typescript
  - tailwind
  - drizzle
```

<Info>
  Don't see your framework? [Custom plugins](/frameworks/custom-plugins) support any internal or third-party tool using declarative JSON or TOML.
</Info>

## See also

<CardGroup cols={2}>
  <Card title="Custom plugins" icon="screwdriver-wrench" href="/frameworks/custom-plugins">
    Add support for internal frameworks with external plugin files.
  </Card>

  <Card title="fallow list" icon="list" href="/cli/list">
    Inspect active plugins, entry points, and project metadata.
  </Card>
</CardGroup>
