utakata 0.4.0 copy "utakata: ^0.4.0" to clipboard
utakata: ^0.4.0 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 #

utakata is a Dart CLI tool by utakata code, designed for humans and AI agents to collaboratively build Flutter applications through specification-driven development.

日本語のドキュメントは README_ja.md を参照してください。

pub.dev License: GPL v3


Features #

  • 🤖 AI-Native Development: Commands designed for both humans and AI agents. Combined with .agent/ rules and AI/guides/, AI can develop without architectural drift.
  • 🏗️ Architecture-Agnostic: No longer hardcoded to Clean Architecture. Define your own architecture via arch_definition.yaml.
  • 🔍 Validate Everything: utakata validate detects naming rule violations and directory structure violations — based on your arch_definition.yaml.
  • 📋 Specification-Driven: Define features in feature_request.yaml, generate a plan, scaffold all layers at once.
  • 🌐 Internationalized: CLI messages support English and Japanese.

Installation #

dart pub global activate utakata

Make sure $HOME/.pub-cache/bin is added to your PATH.


Quick Start #

# Create a new Flutter project (includes .agent/ and AI/ templates)
utakata create my_app --org com.example

# Define features in AI/specs/feature_request.yaml, then:
utakata plan          # Generate architecture plan
utakata feature init  # Scaffold all features at once

# Validate structure and naming rules
utakata validate

Command Reference #

utakata create #

Creates a new Flutter project with the selected architecture base structure and AI workflow templates.

utakata create my_app --org com.example

utakata plan #

Reads AI/specs/feature_request.yaml and generates a structured architecture plan.

utakata plan

utakata feature #

# Add a single feature
utakata feature add <feature_name> [--permission user|admin|shared|direct]

# Bulk-generate all features defined in plan_architecture.yaml
utakata feature init

utakata validate #

Validates naming rules and directory structure against arch_definition.yaml.

utakata validate

utakata scan / diff / check #

utakata scan    # Snapshot the current lib/ structure
utakata diff    # Compare plan vs actual structure
utakata check   # Run diff and report violations

utakata status #

Analyzes Flutter version, lint status, and architecture diff in one command.

utakata status

For AI Agents #

The generated project includes .agent/rules/flutter.md and AI/guides/ with detailed workflow guides.

Always use the utakata CLI to extend the project structure rather than creating files manually. Run utakata validate before committing to ensure zero violations.


Architecture #

utakata itself is implemented using Clean Architecture:

packages/utakata_code/lib/src/
├── 1_domain/        # Entities, Repository interfaces, Use cases
├── 2_infrastructure/ # Filesystem, YAML, Process data sources
└── 3_application/   # Command handlers, Runner

License #

This project uses a dual license:

  1. Open Source (GNU GPL v3) Free to use, fork, and modify for personal/open-source projects under the GNU GPL v3.

  2. 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.


1
likes
150
points
412
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Dart CLI tool for building Flutter apps with Clean Architecture 4-layer structure, designed for human and AI agent collaboration.

Repository (GitHub)
View/report issues

License

GPL-3.0 (license)

Dependencies

args, io, path, yaml

More

Packages that depend on utakata