---
title: "Overview"
description: "Find configuration information for common development frameworks on our platform."
---

> For the complete documentation index for AI agents, see [llms.txt](https://docs.netlify.com/llms.txt). Markdown versions of any documentation page are available by appending `.md` to its docs.netlify.com URL.

Netlify automatically detects and configures your project based on the framework you're using. This page describes commonly used [build settings](/build/configure-builds/overview#build-settings) and other configuration tips for popular build tools and project architectures. Your particular settings may be different. For projects that require more advanced setup, check out common configurations for:

* [Monorepos](/build/configure-builds/monorepos)
* [SPA (Single page applications](/build/configure-builds/javascript-spas)
* [Ignoring builds](/build/configure-builds/ignore-builds)

If you're a framework author, the [frameworks API](/build/frameworks/frameworks-api) is available to integrate your framework with Netlify.

## Definitions

The following sections outline the typical **build command** and **publish directory** settings for popular frameworks.

- **Build command:** the command to run to build your site if you are using a static site generator or other build tool. For example, `npm run build`. The build command runs in the Bash shell, allowing you to add Bash-⁠compatible syntax to the command.
- **Publish directory:** directory that contains the deploy-ready HTML files and assets generated by the build. The directory is relative to the base directory, which is root by default (`/`).
  > **Note - Only files in the publish directory are deployed:** Files and assets located outside of the publish directory won't be included in site deploys.

## Angular

Our docs provide an overview for using [Angular on Netlify](/build/frameworks/framework-setup-guides/angular), while our blog post [First steps using Netlify & Angular](https://www.netlify.com/blog/2019/09/23/first-steps-using-netlify-angular/) includes task-based setup instructions. The typical build settings are as follows. They differ depending on how you've set up your project and whether you're using [Scully](https://scully.io/), the static site generator for Angular.

- For a standard Angular project:
  - **Build command:** `ng build --prod`
  - **Publish directory:** `dist/YOUR_PROJECT_NAME`
- Using Angular Universal for prerendering:
  - **Build command:** `npm run prerender`
  - **Publish directory:** `dist/YOUR_PROJECT_NAME/browser`
- Using Scully:
  - **Build command:** `ng build -prod && npm run scully`
  - **Publish directory:** `dist/static`

## Astro

Our docs provide an overview for using [Astro on Netlify](/build/frameworks/framework-setup-guides/astro). You can also check out our introductory [blog post about Astro and SSR](https://www.netlify.com/blog/astro-ssr). The default build settings are as follows:

- **Build command:** `astro build`
- **Publish directory:** `dist`

## Create React App

Check out our docs overview for using [Create React App on Netlify](/build/frameworks/framework-setup-guides/react#create-react-app) or read the instructions for [deploying to Netlify](https://create-react-app.dev/docs/deployment/#netlify) in the Create React App docs. The typical build settings are as follows:

- **Build command:** `react-scripts build`
- **Publish directory:** `build`

## Eleventy

Our docs provide an overview for using [Eleventy on Netlify](/build/frameworks/framework-setup-guides/eleventy), and we have a [Let's Learn Eleventy](https://www.netlify.com/blog/2020/04/09/lets-learn-eleventy-boost-your-jamstack-skills-with-11ty/) blog post with instructions to get started with the framework. The default build settings are as follows:

- **Build command:** `eleventy`
- **Publish directory:** `_site`

## Express

Express apps can be deployed to Netlify using Netlify Functions. Our docs provide an overview for using [Express on Netlify](/build/frameworks/framework-setup-guides/express). If paired with a frontend, Express apps on Netlify do not need any specific build settings. Netlify packages and bundles your functions automatically during the build process.

## Gatsby

Our docs provide an overview for using [Gatsby on Netlify](/build/frameworks/framework-setup-guides/gatsby), while the Gatsby docs include task-based instructions for [deploying Gatsby sites to Netlify](https://www.gatsbyjs.com/docs/how-to/previews-deploys-hosting/deploying-to-netlify/). For apps that use Gatsby Functions or can benefit from build caching, we provide the [Essential Gatsby build plugin](https://github.com/netlify/netlify-plugin-gatsby#readme).

The typical build settings are as follows:

- **Build command:** `gatsby build`
- **Publish directory:** `public`

## Gridsome

The Gridsome docs include instructions for [deploying Gridsome to Netlify](https://gridsome.org/docs/deploy-to-netlify/). The typical build settings are as follows:

- **Build command:** `gridsome build`
- **Publish directory:** `dist`

## Grunt

We automatically provide Grunt for you in the build environment in case your build command references it. We'll run `npm install grunt-cli` for you before running your build command, in case your build command contains the string `grunt`. The typical build settings are as follows:

- **Build command:** `grunt build`
- **Publish directory:** `dist`

## Hexo

The Hexo docs include instructions for [deploying Hexo to Netlify](https://hexo.io/docs/one-command-deployment#Netlify). The typical build settings are as follows:

- **Build command:** `hexo generate`
- **Publish directory:** `public`

## Hugo

Our docs provide an overview of [Hugo on Netlify](/build/frameworks/framework-setup-guides/hugo), while the Hugo docs include task-based instructions for [deploying Hugo to Netlify](https://gohugo.io/hosting-and-deployment/hosting-on-netlify/). The typical build settings are as follows:

- **Build command:** `hugo`
- **Publish directory:** `public`

## Hydrogen

Our docs provide an overview of how [Hydrogen works on Netlify](/build/frameworks/framework-setup-guides/hydrogen). The typical build settings are:

- **Build command:** `remix vite:build`
- **Publish directory:** `dist/client`

## Jekyll

If your site is built with Jekyll, make sure you have a [Gemfile and a Gemfile.lock](/build/configure-builds/manage-dependencies#ruby-dependencies) checked into your repository, specifying the Jekyll version you want to use. The typical build settings are as follows:

- **Build command:** `jekyll build`
- **Publish directory:** `_site`

## Middleman

If your site is built with Middleman, make sure you have a [Gemfile and a Gemfile.lock](/build/configure-builds/manage-dependencies#ruby-dependencies) checked into your repository, specifying the Middleman version you want to use. The typical build settings are as follows:

- **Build command:** `middleman build`
- **Publish directory:** `build`

## MkDocs

If you're using MkDocs, make sure to [include the dependency](/build/configure-builds/manage-dependencies#python-dependencies) in a `Pipfile` or `requirements.txt` file, specifying version 0.9.0 or above. You may also need to set your [Python version](/build/configure-builds/manage-dependencies#python). The typical build settings are as follows:

- **Build command:** `mkdocs build`
- **Publish directory:** `site`

## Next.js

Netlify supports [all major Next.js features](/build/frameworks/framework-setup-guides/nextjs/overview#next-js-support-on-netlify)-including App Router, SSR, ISR, middleware, image optimization, and more-with zero configuration. 

Typical build settings (SSR or hybrid sites):

  - **Build command:** `next build`
  - **Publish directory:** `.next`

- For static-only sites (using next export):

  - **Build command:** `next build && next export`
  - **Publish directory:** `out`
  - **Env var:** NETLIFY_NEXT_PLUGIN_SKIP=true
 
Learn more about [Next.js on Netlify](/build/frameworks/framework-setup-guides/nextjs/overview). 

## Nuxt

You can get an overview in our [Nuxt on Netlify](/build/frameworks/framework-setup-guides/nuxt) doc or read the Nuxt docs for instructions on how to deploy [Nuxt 2](https://nuxtjs.org/docs/2.x/deployment/netlify-deployment) and [Nuxt 3](https://nitro.unjs.io/deploy/providers/netlify) on Netlify. The typical build settings are as follows:

- Nuxt 3
  - **Build command:** `nuxt build`
  - **Publish directory:** `dist`
- Nuxt 2
  - **Build command:** `nuxt generate`
  - **Publish directory:** `dist`

## React

Check out our docs for building on Netlify using these popular React-based frameworks: [Gatsby](/build/frameworks/framework-setup-guides/gatsby), [Next.js](/build/frameworks/framework-setup-guides/nextjs/overview), [React Router](/build/frameworks/framework-setup-guides/react-router), [Remix](/build/frameworks/framework-setup-guides/remix).

You can also get started with our docs about [Create React App on Netlify](/build/frameworks/framework-setup-guides/react#create-react-app).

## React Router

Our docs provide all the information you need to deploy a [React Router application on Netlify](/build/frameworks/framework-setup-guides/react-router). The typical build settings are as follows.

- **Build command:** `react-router build`
- **Publish directory:** `build/client`

## Remix

Our docs provide all the information you need to deploy a [Remix application on Netlify](/build/frameworks/framework-setup-guides/remix). The typical build settings are as follows.

For projects built with Remix Vite:

- **Build command:** `remix vite:build`
- **Publish directory:** `build/client`

For projects built with the Remix Classic Compiler:

- **Build command:** `remix build`
- **Publish directory:** `public`

## RedwoodJS

The fastest way to deploy a RedwoodJS project on Netlify is to run `yarn rw setup deploy netlify` in your terminal at your project's root directory. This will create a `netlify.toml` file that contains all the configuration you need.

For more details, check out the RedwoodJS docs for [deploying to Netlify](https://docs.redwoodjs.com/docs/deploy/netlify).

## SolidStart

Check out our docs overview for using [SolidStart on Netlify](/build/frameworks/framework-setup-guides/solidstart). Typical build settings for SolidStart 2 are as follows:

- **Build command:** `vite build`
- **Publish directory:** `dist/client`

### Caution - Other SolidStart setups

For SolidStart 1.x, use `vinxi build` as the build command and `dist` as the publish directory. SolidStart 2 projects that build with Nitro rather than the Netlify Vite plugin also publish from `dist`.

## SvelteKit and Svelte

Check out our docs overview for using [SvelteKit on Netlify](/build/frameworks/framework-setup-guides/sveltekit) or learn more in the [SvelteKit Netlify adapter README](https://github.com/sveltejs/kit/tree/master/packages/adapter-netlify#readme). Typical build settings are as follows.

For projects built with SvelteKit:

- **Build command:** `vite build`
- **Publish directory:** `build`

For projects built with Svelte:

- **Build command:** `npm run build`, `pnpm build`, or `yarn build`
- **Publish directory:** `public`

## TanStack Start

Our docs share a TanStack Start app template and a command for generating an app in your terminal. Learn more in our [TanStack Start docs](/build/frameworks/framework-setup-guides/tanstack-start). Typical build settings are as follows:

- **Build command:** `vite build`
- **Publish directory:** `dist/client`

### Caution - TanStack Start versions before 1.132.0

For TanStack Start versions before 1.132.0, use `dist` as the publish directory instead. For versions before 1.121.0, use `vinxi build` as the build command instead.

## Vite

Check out our docs overview for using [Vite on Netlify](/build/frameworks/framework-setup-guides/vite) or learn more in the [Vite docs](https://vitejs.dev/guide/static-deploy.html#netlify). Typical build settings are as follows:

- **Build command:** `vite build`
- **Publish directory:** `dist`

### Note - Vite plugin

Gain the powers of the Netlify CLI with your Vite dev server when you install the Vite plugin `@netlify/vite-plugin`. Learn more about this plugin in our [Vite plugin docs](/build/frameworks/framework-setup-guides/vite#vite-plugin).

## Vue CLI

Our docs provide an overview for using the [Vue CLI with Netlify](/build/frameworks/framework-setup-guides/vue-cli), and you can also learn more in the [Vue CLI docs](https://cli.vuejs.org/guide/). The typical build settings are as follows:

- **Build command:** `vue-cli-service build`
- **Publish directory:** `dist`

## VuePress

The VuePress docs include instructions for [deploying VuePress to Netlify](https://vuepress.vuejs.org/guide/deployment.html#netlify). The typical build settings are as follows:

- **Build command:** `npm run docs:build` or `yarn docs:build`
- **Publish directory:** `docs/.vuepress/dist`
