Production-ready Flutter starter optimized for AI coding agents.
Scaffold production features with Claude Code, Cursor and Codex β not just Flutter apps.
Build production-ready Flutter applications faster with Claude Code, Cursor, Codex, GitHub Copilot, OpenCode, Windsurf, and any modern AI coding assistant.
Instead of spending prompts explaining your architecture, start shipping features immediately.
| Agentic Starter | Typical Starter | |
|---|---|---|
| AI instruction files | β | β |
| Project skills | β | β |
| Setup wizard | β | β |
| Firebase ready | β | |
| Offline queue | β | β |
| Analytics | β | β |
| Multi Flavor | β |
- Clean Architecture
- BLoC / Cubit
- Injectable + GetIt
- GoRouter
- Material 3
- Freezed
- Dio
- fpdart
- Generated localization
- Multi-flavor support
Unlike generic Flutter templates, this project includes:
- Predictable project structure
- Stable naming conventions
- AI instruction files
- Project skills
- Consistent dependency injection
- Feature-first architecture
- Documentation optimized for AI understanding
This reduces the amount of context AI assistants need before generating useful code.
Spend tokens building features instead of explaining your project.
- Predictable folder structure
- Explicit architecture boundaries
- Consistent naming conventions
- Feature-first organization
- Ready-to-use project skills
Everything needed for a modern Flutter application.
- Networking
- Authentication
- Cache
- Offline queue
- Firebase
- Analytics
- Router
- Permissions
- Design System
- Forms
- Lifecycle
- Logging
- Theme
- Dependency Injection
- Utilities
Focus on building products.
Included out of the box:
- Setup wizard
- Code generation
- Multi-flavor support
- Firebase configuration
- PostHog integration
- Localization
- Build runner
- Generated DI
- Generated models
Click Use this template on GitHub.
Clone your new repository.
git clone https://github.com/YOUR_USERNAME/your-app.git
cd your-appflutter pub getRun the setup wizard.
dart run project_setupOr configure everything automatically.
dart run project_setup \
--app-name "Acme App" \
--dart-package-name acme_app \
--app-id com.acme.app \
--organization "Acme" \
--skip-firebase \
--skip-posthog \
--yesPreview changes.
dart run project_setup --dry-rundart run build_runner build --delete-conflicting-outputsflutter run -t lib/main_staging.dart- Startup MVPs
- Enterprise Flutter applications
- Solo developers
- Product teams
- AI-assisted development
- Teams using Claude Code
- Teams using Cursor
- Teams using Codex
- Developers who want a production-ready starting point
Flutter Agentic Starter follows a layered Clean Architecture with clear boundaries and predictable conventions.
This structure helps teams scale large applications while making it easier for AI coding assistants to generate consistent code.
graph TD
subgraph Presentation
UI[Widgets]
Cubit[BLoCs / Cubits]
end
subgraph Domain
Repo[Repositories]
Model[Models]
end
subgraph Data
API[Dio Client]
Cache[Hive Cache]
end
subgraph Core
DI[Injectable]
Router[GoRouter]
Theme[Theme]
Utils[Utilities]
end
UI --> Cubit
Cubit --> Repo
Repo --> API
Repo --> Cache
Cubit --> DI
UI --> Router
The architecture intentionally favors convention over configuration.
Whether a feature is created manually or generated by an AI coding assistant, every module follows the same predictable structure.
Flutter Agentic Starter ships with 18 production-ready modules already wired together.
| Module | Description |
|---|---|
| DataState | Type-safe async state lifecycle |
| Base | Base Cubits, repositories, pagination, use cases |
| Network | Dio client, interceptors, retry, authentication |
| Cache | Memory + persistent storage using Hive |
| Connectivity | Network monitoring and offline request queue |
| Auth | Session & token management |
| Firebase | Analytics, Crashlytics, Messaging, Remote Config, App Check |
| Analytics | Firebase Analytics + PostHog abstraction |
| Permissions | Runtime permission handling |
| Router | Declarative routing with GoRouter |
| Theme | Material 3 themes |
| Design System | Colors, typography, spacing, radius, shadows |
| Logger | Structured application logging |
| Lifecycle | Application lifecycle handling |
| Forms | Form validation with Formz |
| Extensions | Shared Dart & Flutter extensions |
| Utilities | Date, string, responsive, snackbar helpers |
| Dependency Injection | Injectable + GetIt |
Everything is configured and connected out of the box.
No repetitive setup.
No copy-pasting infrastructure between projects.
The template is designed so AI assistants can understand your project with minimal context.
Instead of asking:
Where should this file go?
or
Which repository pattern should I follow?
AI can immediately start implementing features.
Typical workflow:
Prompt
β
Claude Code
β
Reads Project Skills
β
Generates
Repository
Cubit
DTO
DI
Route
β
flutter run
This reduces architectural drift and keeps generated code consistent across the project.
lib/
βββ app.dart
βββ main.dart
βββ main_staging.dart
βββ main_production.dart
βββ core/
βββ analytics/
βββ assets/
βββ auth/
βββ base/
βββ cache/
βββ connectivity/
βββ design_system/
βββ di/
βββ extensions/
βββ firebase/
βββ lifecycle/
βββ logger/
βββ network/
βββ permissions/
βββ router/
βββ theme/
βββ utils/
βββ features/
βββ home/
βββ shared/
βββ blocs/
βββ data/
βββ forms/
βββ i18n/
βββ services/
βββ widgets/
Supporting tools:
tool/
βββ project_setup/
Documentation:
docs/
βββ README.md
βββ quick-start-guide.md
βββ system-architecture.md
βββ module-guides.md
βββ code-standards.md
βββ development-roadmap.md
βββ ...
Every feature follows the same predictable layout.
features/
βββ profile/
βββ data/
β βββ datasource/
β βββ dto/
β βββ repository/
βββ domain/
β βββ models/
β βββ repository/
βββ presentation/
β βββ cubit/
β βββ pages/
β βββ widgets/
βββ di/
Keeping every feature consistent makes onboarding easier, improves maintainability, and allows AI coding assistants to generate higher-quality code with fewer prompts.
Flutter Agentic Starter includes a setup wizard and sensible defaults so you can start building immediately instead of manually configuring every service.
Three build flavors are included by default.
| Flavor | Entry Point | Purpose |
|---|---|---|
| Development | lib/main.dart |
Local development |
| Staging | lib/main_staging.dart |
QA & internal testing |
| Production | lib/main_production.dart |
Release builds |
Each flavor can define its own:
- Base URL
- API timeout
- Firebase project
- Analytics configuration
- Feature flags
- App icon
- Bundle identifier
Application configuration is centralized in:
lib/core/flavor_configurations.dart
The setup wizard can automatically configure:
- FlutterFire
- PostHog
- Application IDs
- Package name
- Organization
- Environment variables
Initialize a brand-new project in minutes.
dart run project_setupPreview changes without modifying files.
dart run project_setup --dry-runShow all available options.
dart run project_setup --helpCommon options:
| Option | Description |
|---|---|
--app-name |
Display name |
--dart-package-name |
Dart package |
--app-id |
Android package / iOS bundle ID |
--organization |
Organization name |
--firebase-project-id |
Configure FlutterFire |
--posthog-api-key |
Configure PostHog |
--posthog-host |
Custom PostHog endpoint |
--skip-firebase |
Skip Firebase |
--skip-posthog |
Skip PostHog |
--skip-agent-hooks |
Skip AI hooks |
--skip-pub-get |
Skip dependency install |
--skip-build-runner |
Skip code generation |
Flutter Agentic Starter includes project context for modern AI coding assistants.
Supported tools:
| Tool | Support |
|---|---|
| Claude Code | β |
| Cursor | β |
| Codex | β |
| GitHub Copilot | β |
| OpenCode | β |
| Windsurf | β |
Included project skills:
- flutter-agentic-starter
- frontend-design
- caveman
AI instruction files:
CLAUDE.md
AGENTS.md
.claude/
.agents/
.opencode/
.cursor/
These files help AI assistants understand your architecture before generating code.
Install dependencies.
flutter pub getGenerate code.
dart run build_runner build --delete-conflicting-outputsAnalyze the project.
dart analyzeRun tests.
flutter testRun staging.
flutter run -t lib/main_staging.dartBuild release APK.
flutter build apk --release -t lib/main_production.dartThe following files are automatically generated:
*.g.dart*.freezed.dartget_it.config.dart
Whenever you change:
- Injectable services
- Freezed models
- JSON models
run:
dart run build_runner build --delete-conflicting-outputsGenerated files should not be edited manually.
Contributions of every size are welcome.
You can help by:
- Reporting bugs
- Improving documentation
- Adding infrastructure modules
- Creating example applications
- Improving developer experience
- Optimizing performance
- Suggesting new features
Please read:
CONTRIBUTING.md
before opening a Pull Request.
If Flutter Agentic Starter saves you time, consider giving the repository a β.
It helps more developers discover the project and motivates future development.
You can also contribute by:
- Sharing the project
- Reporting issues
- Opening pull requests
- Suggesting improvements
Every contribution is appreciated.
Distributed under the MIT License.
See the LICENSE file for more information.