🎉 Proudly backed by Andreessen Horowitz. Read More

Get Started

Code Quality Solved.

Modern repositories include many technologies, each with its own set of linters. With 30+ linters and counting, Trunk makes it dead-simple to identify, install, configure, and run the right linters, static analyzers, and formatters for all your repos.
Use the beta for free today.

curl https://get.trunk.io -fsSL | bash


See full install instructions →


VS Code Extension


trunk init

initialize trunk in your repo

trunk init



Analyzing files in your repo...


Detecting latest linter versions...


Creating config files...

Enabled 12 linters

  • actionlint

  • black-py

  • clang-format

  • clang-tidy

  • flake8 (created .flake8)

  • gitleaks

  • hadolint (created .hadolint.yaml)

  • isort (created .isort.cfg)

  • markdownlint (created .markdownlint.yaml)

  • prettier

  • shellcheck (created .shellcheckrc)

  • shfmt

Check Key Features

Check Everything

We check every major technology and every language. Includes 30+ linters, formatters, static code analysis tools and spell/grammar checkers.


Trunk only blocks on newly introduced issues, so you can make incremental fixes to your codebase.

Blazing Fast Results

Trunk works in the background so results are ready when you need them. No more waiting minutes before you can push.

Continuous Caching

Check results for your repo are always cached and continuously updated. No need to recompute all checks and wait every time you push code.

Hermetic & Sandboxed

Trunk manages the downloading and updating of all your configured tools, so you always get the same results locally and in CI.

Prevent Leaked Secrets

Check for exposed secrets on local machines before pushing them to GitHub. No more rotating secrets and rewriting git history.