flutter_project_structure 1.0.2 flutter_project_structure: ^1.0.2 copied to clipboard
A package to showcase project structure and add path comments to Dart files.
Flutter Project Structure #
A Dart package to showcase the current structure of your Flutter project and add path comments at the top of each Dart file.
Features #
- Generate a markdown file detailing your project's structure
- Add path comments to the top of each Dart file in your project
- List imports for each file in the project structure
- Support for custom root directories and output file names
- Command-line interface for easy project structure generation
- File Statistics to count of total files, directories, and Dart files.
- TODO and FIXME Comments to scan files for TODO and FIXME comments and list them in a separate collapsible section.
- Dependency Analysis to list all external package dependencies used in the project.
- Code Metrics to calculate and display simple code metrics like lines of code, comment percentage, etc.
Before use don't forget to check the CHANGELOG to ensure latest features.
Installation #
Add this to your package's pubspec.yaml
file:
dependencies:
flutter_project_structure: ^1.0.2
Then run:
flutter pub get
Usage #
You can use this package as a command-line tool to generate your project structure within a press of the Enter button.
Basic Usage #
To generate the project structure with default settings:
dart run flutter_project_structure
This will analyze the lib
directory and generate a project_structure.md
file in your project root.
Custom Usage #
You can specify custom root directories and output file names:
dart run flutter_project_structure --root-dir=src --output=custom_structure.md --no-file-stats --no-todo-comments
This will analyze the src
directory and output the structure to custom_structure.md
.
Options #
--root-dir
or-r
: Specify the root directory to analyze (default: 'lib')--output
or-o
: Specify the output file name (default: 'project_structure.md')--file-stats
or-f
: Include file statistics (default: true)--todo-comments
or-t
: Include TODO and FIXME comments (default: true)--dependency-analysis
or-d
: Include dependency analysis (default: true)--code-metrics
or-m
: Include code metrics (default: true)--help
or-h
: Show this help message
You can use --no-file-stats
, --no-todo-comments
, --no-dependency-analysis
, or --no-code-metrics
to exclude specific features from the analysis.
Programmatic Usage #
You can also use this package programmatically in your Dart code:
import 'package:flutter_project_structure/flutter_project_structure.dart';
void main() {
final projectStructure = FlutterProjectStructure(rootDir: 'lib', outputFile: 'project_structure.md');
projectStructure.generate();
}
Example #
Check the example
folder for a complete example of how to use this package programmatically.
To run the example:
dart run example/main.dart
Contributing #
Contributions are welcome! Please feel free to submit a Pull Request.
License #
This project is licensed under the MIT License - see the LICENSE file for details.
Support the Project #
If you find this package helpful, consider supporting it by Liking it in pub.dev
Connect with Me #
Feel free to reach out for questions, suggestions, or just to say hi!
- LinkedIn: LinkedIn Profile
- GitHub: GitHub Profile
Hire Me or Contact My Organization #
For freelance work or larger projects:
- Upwork Individual Profile: Individual Profile
- Upwork Agency: Agency Profile
For large scale developments or to discuss potential collaborations, please reach out via email at: im.msishamim@gmail.com
Success Stories #
I'm proud to have contributed to the success of various projects. Here's one of my highlights:
Abwaab.com #
Abwaab is one of the top EdTech platforms in the MENA region. I played a crucial role in developing robust and scalable solutions that helped Abwaab achieve its mission of making high-quality education accessible to millions of students.
My Organization #
Increments Inc. #
Our software automates restaurants, optimizes energy, revolutionizes finance, improves healthcare, innovates education, streamlines garments, and drives paperless solutions. Increments Inc. is Bangladesh's #1 mobile app development agency.
Thank you for checking out Flutter Project Structure! I hope it proves useful in your development workflow. Happy Coding! ☕️