From 09fe2b635b8efd82606728191c663516a6fdeb6b Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 13:55:47 +0000 Subject: [PATCH] Update README.md with accurate project information and instructions - Replace placeholder installation instructions with correct .NET commands - Add detailed features list based on project source code - Document expected project structure - Add prerequisites and building instructions - Update project description and TODOs Co-authored-by: Thechopsee <74382107+Thechopsee@users.noreply.github.com> --- README.md | 84 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 61 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 8bb6726..ce46a5d 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,84 @@ # FlutterTools 🛠️ -**FlutterTools** is a small CLI app with a growing set of helpful utilities for working with large-scale Flutter projects. - -> ⚠️ This is a work-in-progress project. New features are added as they're needed in my primary development workflow. +**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. --- ## 🚀 Features -- **Multi-package `pub get`** - Easily run `pub get` across multiple packages or modules — no more switching folders manually. +- **Multi-package `pub get`** + Automatically runs `flutter pub get` across all packages located in `modules/` and `packages/` 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.yaml` files. +- **Dependency Visualization** + Generates and opens an interactive HTML dependency graph using `pubviz`. +- **Flutter Environment Check** + Quickly run `flutter doctor` directly from the tool. +- **Project Information** + Displays current project path and Flutter SDK information. +- **Dependency Listing** + Runs `flutter pub deps` for the main application to show a full dependency tree. + +--- -- **Cross-module import checker** *(fixing coming soon)* - Identify problematic imports between packages that can cause issues when: - - Building in Linux containers - - Using IntelliSense in Android Studio +## 📂 Expected Project Structure -- **Flutter environment check** - Run `flutter doctor` and get a quick overview of your Flutter/Dart setup. +FlutterTools is optimized for projects following this structure: -- **HTML import visualization** - Generate an interactive HTML file to visualize your project's import 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/ +``` --- -## 📝 TODO +## 🛠️ Prerequisites -- [ ] Add lowercase normalization for import paths -- [ ] Add command-line import visualization (graph view) +- [.NET SDK 8.0+](https://dotnet.microsoft.com/download) +- [Flutter SDK](https://docs.flutter.dev/get-started/install) --- -## 💡 Why? +## 📦 Installation & Usage -Managing a growing Flutter codebase across multiple packages can get messy. This tool aims to automate the boring parts, spot hidden issues, and make dev life just a bit smoother. +### From Source ---- +1. Clone the repository: + ```bash + git clone https://github.com/[your-username]/fluttertools.git + cd fluttertools + ``` -## 📦 Installation +2. Run the application using the .NET CLI: + ```bash + dotnet run --project FlutterTools/FlutterTools.csproj + ``` +### Building the Executable +To build a standalone executable: ```bash -git clone https://github.com/yourusername/fluttertools.git -cd fluttertools -dart run +dotnet build --configuration Release +``` +The executable will be located in `FlutterTools/bin/Release/net8.0/`. + +--- + +## 📝 TODO + +- [ ] Add lowercase normalization for import paths. +- [ ] Add command-line import visualization (graph view). +- [ ] Support custom folder structures. +- [ ] Improve error handling for missing Flutter SDK. + +--- + +## 💡 Why? + +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.