flutist 1.1.3 copy "flutist: ^1.1.3" to clipboard
flutist: ^1.1.3 copied to clipboard

A Flutter project management framework inspired by Tuist

Changelog #

All notable changes to Flutist will be documented in this file.

1.1.3 - 2025-01-02 #

📝 Documentation #

  • Simplified README.md to core content (removed detailed documentation for future docs site)
  • Added Docs badge with book icon linking to DeepWiki documentation
  • Updated all documentation links to https://deepwiki.com/seonwooke/flutist
  • Updated pubspec.yaml documentation field to point to DeepWiki

1.1.2 - 2025-01-02 #

📝 Documentation #

  • Updated README.md version badge to reflect current version (1.1.1)
  • Fixed project structure documentation:
    • Corrected main.dart location to root/lib/main.dart (was incorrectly shown in app/lib/main.dart)
    • Clarified that app.dart belongs in app/lib/app.dart
  • Removed dart test section from Development Setup (tests not yet implemented)
  • Fixed duplicate lib/ directory in project structure example

1.1.1 - 2025-01-02 #

✨ Added #

  • Clean Architecture example repository:
    • Added link to flutist_clean_architecture repository in README.md Examples section
    • Added Real-World Examples section to example/README.md
    • Showcases Clean Architecture implementation using Flutist

🔧 Improved #

  • flutist generate command:
    • Automatically removes deleted modules from package.dart when module files are not found
    • When a module's pubspec.yaml cannot be found (e.g., home_domain), extracts base module name (e.g., home) and removes it from package.dart
    • Ensures package.dart stays in sync with actual file system structure
    • Filters flutist_gen.dart modules to only include those present in project.dart
    • Modules removed from project.dart are now also removed from flutist_gen.dart

🐛 Fixed #

  • Fixed logging message format in generate command

1.1.0 - 2025-01-02 #

🚀 Major Changes #

  • Project structure update: Moved main.dart from app/lib/main.dart to lib/main.dart
    • Root lib/main.dart now imports and runs app from package:app/app.dart
    • App module is automatically added as a path dependency in root pubspec.yaml
    • Enables direct execution with flutter run from root directory
    • Removed flutist run command - use flutter run directly instead

✨ Added #

  • Root lib/main.dart generation in flutist init command
  • Automatic app module dependency management in root pubspec.yaml

🗑️ Removed #

  • BREAKING: flutist run command has been removed
    • Users should use flutter run directly from the project root
    • This change simplifies the toolchain and aligns with standard Flutter workflows

🔧 Changed #

  • flutist init now creates lib/main.dart in root directory instead of app/lib/main.dart
  • Root pubspec.yaml template now includes app module as path dependency
  • Run command references removed from documentation and help text

1.0.10 - 2025-01-02 #

🐛 Fixed #

  • flutist generate command:
    • Fixed empty dependencies section being converted from dependencies: to dependencies: {}
    • Now preserves original format when dependencies section is empty
    • Empty dependencies sections are formatted as dependencies: instead of dependencies: {}
    • Files with unchanged dependencies no longer show unnecessary format changes

1.0.9 - 2025-01-02 #

🐛 Fixed #

  • flutist create command:
    • Fixed incorrect analysis_options.yaml include path for layered modules (feature, library, standard)
    • Now uses path.relative() to correctly calculate relative path from module to root directory
    • Previously calculated depth based on moduleRelativePath, which was incorrect for layered modules
    • Example: features/book_detail/book_detail_domain now correctly uses ../../../analysis_options.yaml instead of ../../analysis_options.yaml

1.0.8 - 2025-01-02 #

🐛 Fixed #

  • flutist init command:
    • Fixed version detection using dart pub global list command instead of pubspec.yaml lookup
    • global_packages directory doesn't contain pubspec.yaml, only pubspec.lock
    • Now correctly reads installed flutist version from dart pub global list output
    • Fixes issue where version detection failed for globally installed packages via dart pub global activate

1.0.7 - 2025-01-02 #

🐛 Fixed #

  • flutist init command:
    • Fixed version detection when running flutist init after dart pub global activate flutist
    • Prioritized global_packages lookup to correctly read installed flutist version
    • Added package name validation to ensure correct pubspec.yaml is read
    • Simplified version detection logic by removing unnecessary directory traversal
    • Now correctly adds the installed flutist version to project dependencies instead of fallback version

1.0.6 - 2025-01-02 #

🔧 Improved #

  • flutist init command:
    • Dynamically reads flutist package version from current package's pubspec.yaml
    • Uses pub.dev package instead of local path reference
    • Automatically reflects version updates when pubspec.yaml is updated
    • Changed from hardcoded version to dynamic version reading

1.0.5 - 2025-01-02 #

🎨 Style #

  • Applied Dart formatter to example files and codebase
    • Formatted example/flutist/flutist_gen.dart
    • Formatted example/package.dart
    • Applied consistent code formatting across the project

1.0.4 - 2025-01-02 #

🐛 Fixed #

  • Fixed flutist run command creating root/lib/main.dart file
    • Added explicit -t flag to target app/lib/main.dart when running Flutter
    • Automatically detects and removes existing root/lib/main.dart if found
    • Prevents Flutter from auto-creating root/lib/main.dart file

1.0.3 - 2025-01-02 #

🐛 Fixed #

  • Fixed flutist run command creating unnecessary root/lib/main.dart file
    • Removed auto-generation logic that created root/lib/main.dart when missing
    • Flutter workspace automatically finds app/lib/main.dart when running from root directory
    • Updated README.md documentation to reflect correct behavior

1.0.2 - 2025-01-02 #

✨ Added #

  • Example directory for pub.dev with complete project structure demonstration
    • README.md with usage instructions and module type explanations
    • directory_structure.md with Microfeature Architecture visualization
    • Example package.dart and project.dart configuration files
    • Example pubspec.yaml with workspace configuration
    • Example flutist_gen.dart showing generated code structure

🔧 Improved #

  • flutist init command:
    • Prevent overwriting existing README.md files
    • Merge Flutist configuration into existing pubspec.yaml instead of overwriting
    • Automatically add workspace section if missing
    • Automatically add app module to workspace if not exists
    • Automatically add flutist dependency with latest version when merging
    • Fix app.dart import path in main.dart (use relative import instead of package import)
  • README.md:
    • Add "Core Commands" section highlighting main 4 commands (init, create, generate, scaffold)
    • Add "All Commands" table at the top for quick reference
    • Improve command visibility with larger headings and bold text
    • Add scaffold example to Quick Start section

🐛 Fixed #

  • Fixed import path in generated app/lib/main.dart (changed from package:app/app.dart to app.dart)
  • Fixed dependency getter names in example files (camelCase conversion: shared_preferencessharedPreferences, json_annotationjsonAnnotation)
  • Suppressed warnings in example directory with custom analysis_options.yaml

1.0.1 - 2025-01-02 #

🐛 Fixed #

  • Fixed README.md banner image loading issue by using GitHub raw URL instead of relative path

1.0.0 - 2025-01-02 #

🎉 Initial Release #

Flutist is a Flutter project management framework inspired by Tuist, providing declarative module structure and dependency management.

✨ Features #

Core Commands

  • flutist init - Initialize project with workspace support
  • flutist create - Create modules (simple, feature, library, standard)
  • flutist generate - Sync dependencies with type-safe auto-completion
  • flutist scaffold - Generate code from templates (Tuist-style)
  • flutist graph - Visualize module dependencies (Mermaid, DOT, ASCII)
  • flutist run - Run Flutter app
  • flutist pub - Manage packages

🏗️ Module Types #

  • Simple - Single-layer module
  • Feature - 3-layer (Domain, Data, Presentation)
  • Library - 5-layer (Example, Interface, Implementation, Testing, Tests)
  • Standard - 3-layer (Implementation, Tests, Testing)

📦 What's Included #

  • Auto-generated flutist_gen.dart for type-safe dependencies
  • Built-in feature template (BLoC pattern)
  • Comprehensive analysis_options.yaml (100+ lint rules)
  • Automatic workspace registration
  • Smart relative path calculation

🐛 Known Issues #

  • iOS build requires workspace workaround (Flutter limitation)
    • Solution: Use Android/Web for development

📚 Quick Example #

flutist init
flutist create --path features --name login --options library
flutist generate
flutist graph --open

🙏 Credits #

Inspired by Tuist


2
likes
160
points
257
downloads

Publisher

verified publisherseonwookkim.com

Weekly Downloads

A Flutter project management framework inspired by Tuist

Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

args, io, path, yaml, yaml_edit

More

Packages that depend on flutist