π§© Teuton Feature CLI
A powerful CLI tool that generates production-ready Flutter features using Clean Architecture, Cubit state management, and GetIt dependency injection β in seconds.

β¨ Features
- ποΈ Clean Architecture scaffolding with separation of concerns
- π Cubit state management with built-in error handling
- π GetIt dependency injection setup
- π Consistent, industry-standard folder structure
- β‘ Generate complete features with a single command
- π― Production-ready code templates
- π§ Customizable templates and naming conventions
π Quick Start
Installation
Install globally from pub.flutter-io.cn:
dart pub global activate teuton_feature
Or install from source:
dart pub global activate --source path .
Usage
Navigate to your Flutter project and run:
teuton_feature create <feature_name>
π Commands
Create a Feature
teuton_feature create profile
Create with Custom Path
teuton_feature create profile --path lib/modules
List Available Templates
teuton_feature templates
Flags and Options
-
Global:
--help,-h: Show help--version,-v: Show version
-
create <name>:--path,-p: Base features path (overrides config)--template,-t: Template to use (default|minimal)--dry-run: Simulate without writing files--verbose,-v: Verbose output
-
delete <name>:--force,-f: Do not ask for confirmation--path,-p: Base features path (overrides config)
-
list:--path,-p: Base features path (overrides config)
π Generated Architecture
lib/features/profile/
βββ data/
β βββ datasources/
β β βββ profile_local_datasource.dart
β β βββ profile_remote_datasource.dart
β βββ models/
β β βββ profile_model.dart
β βββ repositories/
β βββ profile_repository_impl.dart
βββ domain/
β βββ entities/
β β βββ profile_entity.dart
β βββ repositories/
β β βββ profile_repository.dart
β βββ usecases/
β βββ get_profile.dart
β βββ update_profile.dart
βββ presentation/
βββ cubit/
β βββ profile_cubit.dart
β βββ profile_state.dart
βββ pages/
β βββ profile_page.dart
βββ widgets/
βββ profile_widget.dart
π‘ Example Output
$ teuton_feature create chat
π Generating feature: chat
β
Created data layer (3 files)
β
Created domain layer (4 files)
β
Created presentation layer (4 files)
β
Updated dependency injection
π Feature "chat" created successfully!
Next steps:
1. Add your API endpoints in chat_remote_datasource.dart
2. Implement business logic in chat use cases
3. Update chat_cubit.dart with your state logic
4. Import ChatPage in your routing
π οΈ Configuration
Create a teuton_config.yaml in your project root:
features_path: lib/features
default_template: default
author: Your Name
organization: com.example
templates:
- default
- minimal
π§° Why Teuton Feature CLI?
- π― Consistency: Ensures all team members follow the same architecture
- β‘ Speed: Generate complete features in seconds, not hours
- ποΈ Best Practices: Implements proven Clean Architecture patterns
- π§ Maintainable: Clear separation of concerns makes code easy to modify
- π Educational: Learn Clean Architecture through generated examples
π€ Contributing
We welcome contributions! Please see our Contributing Guide for details.
π License
MIT Β© 2025 Carlos DΓaz (Teutondev)
Built with β€οΈ by Teutondev