Expose hermetic tools to shell
There are a handful of solutions out there for creating hermetic development evironments - docker, bazel, devenv.sh , asdf, nvm and others. With Trunk's ability to declare your environment for the purposes of linting and formatting, it doesn't feel like much of a stretch to allow engineers to utilize those same tools for other development tasks and to use trunk's config as the source of truth for a project instead of having to declare versions in multiple tools. I would love the ability to add the current repository's toolchains to my PATH or have them be exposed through a CLI command like trunk exec ... .
More comprehensive VSCode multi-root workspace support
Enable the Trunk extension to support more than one directory of a VSCode multi-root workspace. The use case is multiple (~10) microservices (we do not use a monorepo). It'd be nice to have an easy/quick way to toggle the Trunk status (enabled/disabled) for each directory/repo.
Ability to pin linter versions
Trunk currently support a disabled list which will prevent trunk from suggesting that linter during upgrades. It would be nice if it also had a mechanism for pinning linter versions so you could upgrade everything except that linter.
Compile go linters from source
A user should be able to write a linter in go and check the source code into the repo. Trunk should use the hermetic go runtime to compile and execute the resulting binary.
Add support for include-what-you-use
Trunk already has support for IWYU, but it lacks feature-completeness when reading from compile_commands.json, resulting in an error like: error: no such file or directory: '../main.cpp' error: no input files error: unable to handle compilation, expected exactly one compiler job in '' We should fully support this use case.
Support CMake Out-of-source builds
Trunk should support out-of-source cmake builds, especially if compile_commands.json is symlinked into the source folder. See slack thread for details: https://trunkcommunity.slack.com/archives/C04GAE5EA5S/p1684881409606349
Support configuration files in .config folder
User request: "Could you make it so that Trunk looks for the configuration in the .config folder as well? This is a common place to store various configuration files – I’m sure people who leverage linters would love this since those are the types of developers that have a lot of meta files that they don’t want cluttering the base directory."
Recommend disabling linters when better replacements are enabled
When enabling something like ruff - recommend which linters this replaces