TLDR
Toolset - менеджер инструментов разработки для Go проектов. Решает проблему “у меня работает, а в CI не собирается” через изоляцию и версионирование инструментов на уровне проекта.
Проблема: почему инструменты должны быть версионированы
Представьте ситуацию: вы пушите код, локально все тесты проходят, линтер молчит. Но в CI сборка падает с ошибкой линтера. Знакомо? Проблема в том, что у вас локально golangci-lint v1.59.0
, а в CI - v1.62.0
, и новая версия нашла проблему, которую старая пропускала.