# How can I add a custom build step to my project? 

**Author:** Allen Hai

---

[Projects](https://vercel.com/docs/platform/projects) with advanced build requirements may demand several steps of execution before the final assets are output into the destination directory. Read on to learn how Vercel supports advanced project builds.

## Custom Build Script

[Projects](https://vercel.com/docs/platform/projects) on Vercel are built in an [Amazon Linux 2](https://vercel.com/docs/concepts/deployments/troubleshoot-a-build#build-image) environment and are able to run custom scripts during the build. All that's required is a `package.json` file at the project root with a `scripts.build` key like the following:

`{ "scripts": { "build": "wget example.com/custom-binary.tar.gz;tar -zxvf ./custom-binary.tar.gz;./custom-binary.tar.gz;" } }`

You can also set a custom build command without creating a `package.json` file through your Project's settings in the [dashboard](https://vercel.com/docs/build-step#customizing-build-settings).

You can find a list of frequently asked questions about the build environment in the [documentation](https://vercel.com/docs/concepts/deployments/troubleshoot-a-build#build-image).

---

[View full KB sitemap](/kb/sitemap.md)
