# Contributing to Next.js

[Watch the 40-minute walkthrough video on how to contribute to Next.js.](https://www.youtube.com/watch?v=cuoNzXFLitc)

- Read about our [Commitment to Open Source](https://vercel.com/oss).
- Before jumping into a PR be sure to search [existing PRs](https://github.com/vercel/next.js/pulls) or [issues](https://github.com/vercel/next.js/issues) for an open or closed item that relates to your submission.

## Signed commits

This repository requires verified commit signatures on protected branches.

Before contributing, configure Git to sign your commits with a GitHub-verified GPG, SSH, or S/MIME key. Unsigned commits will be rejected by the repository rules and will need to be rewritten as signed commits before they can be merged.

If a pull request includes unsigned commits, re-sign the commits and force-push the branch. Make sure the signing key is added to your GitHub account and that your commits appear as `Verified`.

A `Signed-off-by` line in the commit message is not enough to satisfy this requirement.

## Repository

- [Triaging](./contributing/repository/triaging.md)
- [Linting](./contributing/repository/linting.md)
- [Release Channels and Publishing](./contributing/repository/release-channels-publishing.md)
- [Pull Request Descriptions](./contributing/repository/pull-request-descriptions.md)

## Documentation

- [Adding Documentation](./contributing/docs/adding-documentation.md)

## Core

- [Developing](./contributing/core/developing.md)
- [Building](./contributing/core/building.md)
- [Testing](./contributing/core/testing.md)
- [Adding Error Links](./contributing/core/adding-error-links.md)
- [Adding a new feature](./contributing/core/adding-features.md)
- [Developing Using Local App](./contributing/core/developing-using-local-app.md)
<!-- - [Using the VS Code Debugger](./contributing/core/vscode-debugger.md) -->

## Turbopack

- [Tracing](./contributing/turbopack/tracing.md)
