FVM is a CLI tool that manages Flutter SDK versions on a per-project basis.
FVM solves the problem of working with multiple Flutter SDK versions simultaneously without constant reinstallation. Developers often need to test new releases, switch between channels, or maintain consistent SDK versions across team members, but Flutter's default tooling makes these operations slow and cumbersome. FVM lets you specify a Flutter version per project and switch between them instantly by storing multiple SDK versions locally and using symlinks or path configuration to route your project to the correct one.
FVM suits teams and individual developers who maintain multiple Flutter projects or need to test against different SDK versions without the overhead of repeated downloads and installations. It is particularly valuable when your team needs consistency—ensuring everyone builds with the same Flutter version—or when you're evaluating new releases before committing to an upgrade. The tool is designed to integrate into your existing workflow with minimal configuration.
The project maintains active development with regular releases deployed automatically across multiple platforms including pub.dev, Homebrew, Chocolatey, and Docker through GitHub Actions workflows. The codebase enforces code coverage standards and follows semantic versioning. Development targets a stable Dart SDK constraint while maintaining separate tooling requirements for release automation, indicating deliberate separation between day-to-day development and deployment infrastructure.