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

Flutist Banner

A Flutter project management framework inspired by Tuist

Docs Version Dart

🎯 About #

Flutist is a powerful project management framework for Flutter applications, inspired by Tuist for iOS development. It provides a structured approach to managing large-scale Flutter projects with modular architecture, centralized dependency management, and code generation capabilities.

📦 Installation #

dart pub global activate flutist

Prerequisites: Dart SDK (>=3.5.0 <4.0.0)

🚀 Quick Start #

1. Initialize a New Project #

cd my_flutter_project
flutist init

2. Create a Module #

# Create a feature module
flutist create --path features --name login --options feature

# Create a simple module
flutist create --path lib --name utils --options simple

3. Manage Dependencies #

# Add a dependency
flutist pub add http

# Sync dependencies to all modules
flutist generate

4. Generate Code from Templates #

# List available templates
flutist scaffold list

# Generate code from a template
flutist scaffold feature --name login

📋 Commands #

Command Description Usage
init Initialize a new Flutist project flutist init
create Create a new module flutist create --path <path> --name <name> --options <type>
generate Sync dependencies and regenerate files flutist generate
scaffold Generate code from templates flutist scaffold <template> --name <name>
pub Manage dependencies flutist pub add <package>
graph Visualize module dependencies flutist graph [--format <format>]
help Show help information flutist help [command]

For detailed documentation, visit the documentation site.

📁 Project Structure #

A typical Flutist project structure:

my_project/
├── project.dart              # Project configuration
├── package.dart              # Centralized dependencies
├── pubspec.yaml              # Workspace configuration
├── lib/                      # Root application code
│   └── main.dart
├── app/                      # Main application module
│   ├── lib/
│   │   └── app.dart
│   └── pubspec.yaml
├── features/                 # Feature modules
│   └── login/
│       ├── login_domain/
│       ├── login_data/
│       └── login_presentation/
└── flutist/
    ├── templates/            # Scaffold templates
    └── flutist_gen.dart      # Generated code

✨ Features #

  • 🏗️ Modular Architecture: Organize your codebase into clear, reusable modules
  • 📦 Centralized Dependencies: Manage all dependencies in one place
  • 🚀 Fast Development: Generate boilerplate code with scaffold templates
  • 🔗 Dependency Visualization: Visualize module dependencies with graphs
  • ⚡ Workspace Support: Leverage Flutter's native workspace feature
  • 🎨 Code Generation: Create custom templates for rapid development

📚 Examples #

Real-World Example Projects #

Clean Architecture Example

A complete Flutter project demonstrating Clean Architecture principles using Flutist:

🔗 flutist_clean_architecture

This repository showcases:

  • Clean Architecture implementation with Flutist
  • Feature modules with Domain, Data, and Presentation layers
  • Centralized dependency management
  • Modular project structure
  • Best practices for large-scale Flutter applications

🤝 Contributing #

Contributions are welcome! Please feel free to submit a Pull Request.

For development setup and guidelines, see the documentation site.

📄 License #

This project is licensed under the MIT License.

🔗 Resources #


Built with ❤️ for the Flutter community

3
likes
160
points
491
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