FlutterTools is a .NET-based CLI utility designed to streamline the management of large-scale, multi-package Flutter projects. It automates repetitive tasks such as running pub get across multiple modules and helps maintain architectural integrity by identifying missing dependencies in pubspec.yaml based on Dart imports.
- Multi-package
pub getAutomatically runsflutter pub getacross all packages located inmodules/andpackages/directories. - Cross-module Dependency Analysis
Analyzes Dart files in your modules to ensure that all internal package imports are correctly declared in their respective
pubspec.yamlfiles. - Dependency Visualization
Generates and opens an interactive HTML dependency graph using
pubviz. - Flutter Environment Check
Quickly run
flutter doctordirectly from the tool. - Project Information Displays current project path and Flutter SDK information.
- Dependency Listing
Runs
flutter pub depsfor the main application to show a full dependency tree.
FlutterTools is optimized for projects following this structure:
my_flutter_project/
├── application/ # The main Flutter application
├── modules/ # Directory containing internal modules/packages
│ ├── module_a/
│ └── module_b/
└── packages/ # Directory containing additional internal packages
├── package_x/
└── package_y/
-
Clone the repository:
git clone https://github.com/[your-username]/fluttertools.git cd fluttertools -
Run the application using the .NET CLI:
dotnet run --project FlutterTools/FlutterTools.csproj
To build a standalone executable:
dotnet build --configuration ReleaseThe executable will be located in FlutterTools/bin/Release/net8.0/.
- Add lowercase normalization for import paths.
- Add command-line import visualization (graph view).
- Support custom folder structures.
- Improve error handling for missing Flutter SDK.
Managing a growing Flutter codebase across dozens of packages can be challenging. FlutterTools aims to automate the "boring parts," detect hidden dependency issues early, and provide better visibility into your project's structure.