utakata 0.1.2
utakata: ^0.1.2 copied to clipboard
A Dart CLI tool for building Flutter apps with Clean Architecture 4-layer structure, designed for human and AI agent collaboration.
utakata CLI #
utakata is a Dart CLI tool designed for humans and AI agents to collaboratively build Flutter applications using a strict Clean Architecture 4-layer structure (Domain, Infrastructure, Application, Presentation).
日本語のドキュメントは README_ja.md を参照してください。
Features #
- 🤖 AI-Driven Development: A set of commands that AI agents can directly invoke, combined with diff-detection tools to validate architectural consistency — preventing chaotic file generation by AI.
- 🧱 Strict 4-Layer Architecture: Instantly scaffolds Clean Architecture boilerplate, optimized for modern stacks like Freezed, Riverpod, and Drift.
- 📝 Entity-Driven Code Generation: Run
utakata generateto automatically propagate Entity field changes into Repository, Model, Provider, and State layers.
Installation #
dart pub global activate utakata
Make sure $HOME/.pub-cache/bin is added to your PATH.
Command Reference #
1. Create a new project #
Creates a new Flutter project with the Clean Architecture base structure and AI workflow templates.
utakata create my_app --org com.example
2. Plan your architecture (AI Workflow) #
Reads AI/specs/feature_request.yaml and generates an architecture plan document.
utakata plan
3. Scaffold a feature layer #
Generates all 4 layers (Domain, Infra, App, Presentation) based on the specified entity and permission.
utakata feature add <feature_name> --entity <entity_name> --perm <user|admin|shared>
4. Regenerate code from Entity changes #
After editing a *_entity.dart file, run this to propagate changes through Repository, Model, Provider, and State.
utakata generate
5. Validate architecture #
Compares the planned structure (Plan) vs actual files (Snapshot) and lists any missing or extra files.
utakata snapshot
utakata diff
6. Status check #
Analyzes Flutter version, Lint status, and architecture diff.
utakata status
For AI Agents #
The generated project includes .agent/rules/flutter.md and AI/guides/ with detailed workflow guides. Please read them and always use the utakata CLI to extend the project structure rather than creating files manually.
License #
This project uses a dual license:
-
Open Source (GNU GPL v3) Free to use, fork, and modify for personal/open-source projects under the GNU GPL v3.
-
Commercial Use Commercial use of this tool or any code generated by it requires a separate commercial license. Contact the author (@code_utakata) for details.