A production-ready Android Flutter template with AI-powered development workflow, optimized build system, and comprehensive documentation. Start building your Android app in minutes, not hours.
- π€ AI-First Development: 6 custom GitHub Copilot agents (product owner, UX designer, architect, developer, researcher, doc writer)
- β‘ Optimized Build System: Java 17, parallel builds, multi-level caching - builds 60% faster
- π Production CI/CD: GitHub Actions workflows with caching, testing, and signed releases
- π± Android Focused: Clean, minimal Android-only configuration
- π¨ Material Design 3: Beautiful, accessible UI out of the box
- π Extensive Documentation: Step-by-step guides for first-time users
- π§ͺ Testing Framework: Unit, widget, and integration testing ready
- π§ VS Code Optimized: Agents configured with terminal, debugger, and VS Code API access
- π€ Ollama Toolkit: Complete LLM integration with agents, tools, and model registry (NEW!)
- β Flutter SDK 3.10.1+
- β Dart 3.10.1+
- β Java 17+ (for Android)
- β VS Code + GitHub Copilot (recommended)
Verify: flutter doctor -v && java -version
π New to development? See PREREQUISITES.md for detailed installation instructions.
# Clone this template
git clone https://github.com/yourusername/your-repo-name.git
cd your-repo-name
# Run the quick start script
./scripts/setup/quick-start.shThe script will guide you through naming your app and make all necessary changes automatically!
# Clone this template
git clone https://github.com/yourusername/your-repo-name.git
cd your-repo-name
# Get dependencies
flutter pub get
# Verify everything works
flutter test && flutter analyzeThen customize using AI:
@flutter-developer Please rename this app from "min_flutter_template"
to "my_awesome_app" with package "com.mycompany.my_awesome_app"
- Click "Use this template" β "Create a new repository"
- In your new repo, click Code β Codespaces β "Create codespace on main"
- Everything is pre-configured - start coding immediately!
See GETTING_STARTED.md for complete setup guide.
@icon-generation.prompt.md Create an app icon for my [describe app]
with primary color #3B82F6 in minimal style
flutter run -d android # Android (connected device/emulator)
flutter build apk # Release APKFull customization guide: APP_CUSTOMIZATION.md
This template includes 6 specialized AI agents for VS Code:
| Agent | Purpose | Example Usage |
|---|---|---|
| @product-owner | Define features & requirements | @product-owner Create user stories for a note-taking app |
| @experience-designer | Design UX & user flows | @experience-designer Design the login and onboarding flow |
| @architect | Plan technical architecture | @architect How should I structure authentication? |
| @researcher | Find packages & best practices | @researcher Best packages for local database in Flutter |
| @flutter-developer | Implement features & fix bugs | @flutter-developer Implement login screen with validation |
| @doc-writer | Write documentation | @doc-writer Document the authentication API |
# 1. Define your app concept
@product-owner I want to build a recipe app with categories,
search, and favorites. Create user stories and MVP scope.
# 2. Design the experience
@experience-designer Based on the requirements, design the
information architecture and main user flows.
# 3. Research dependencies
@researcher What packages do I need for local storage,
images, and JSON parsing?
# 4. Plan architecture
@architect Design the app architecture with Riverpod state management
and repository pattern for recipes.
# 5. Implement features
@flutter-developer Implement the recipe list screen with
category filtering and search.
# 6. Write documentation
@doc-writer Document the recipe repository API and usage examples.All agents have access to VS Code terminal, debugger, and test runner!
This template includes comprehensive build optimizations:
- Java 17 baseline for modern Android development
- Parallel builds with 4 workers (local) / 2 workers (CI)
- Multi-level caching: Gradle, Flutter SDK, pub packages
- R8 code shrinking: 40-60% smaller release APKs
- Concurrency control: Cancels duplicate CI runs
- CI-optimized Gradle properties: Separate config for CI vs local
| Environment | Build Type | Time |
|---|---|---|
| Local (cached) | Debug APK | 30-60s |
| Local | Release APK | 1-2 min |
| CI (cached) | Full workflow | 3-5 min |
See BUILD_OPTIMIZATION.md for details.
- build.yml: Auto-formats code, runs tests, lints, and builds on every push (30min timeout)
- release.yml: Signed releases on version tags (45min timeout)
- pre-release.yml: Manual beta/alpha releases (workflow_dispatch)
- deploy-website.yml: Deploys GitHub Pages website
Note: The build workflow automatically formats code using
dart formatand applies lint fixes withdart fix --apply. Any formatting changes are committed automatically, so you don't need to worry about code style.
# 1. Generate keystore
keytool -genkey -v -keystore release.jks -keyalg RSA -keysize 2048 -validity 10000 -alias release
# 2. Add GitHub Secrets
- ANDROID_KEYSTORE_BASE64: `base64 -i release.jks | pbcopy`
- ANDROID_KEYSTORE_PASSWORD
- ANDROID_KEY_ALIAS: release
- ANDROID_KEY_PASSWORD
# 3. Tag and push
git tag v1.0.0 && git push --tagsComplete LLM integration ready to use in your app - no separate package needed!
- β Full Ollama API - Chat, generate, embeddings, streaming
- β Model Registry - 15+ models with capabilities metadata
- β Agent Framework - LangChain-inspired with tool calling
- β Memory Management - Multiple conversation strategies
- β 66 Unit Tests - Production-ready and tested
import 'package:min_flutter_template/ollama_toolkit/ollama_toolkit.dart';
// Create client
final client = OllamaClient(baseUrl: 'http://localhost:11434');
// Chat
final response = await client.chat(
'llama3.2',
[OllamaMessage.user('Hello!')],
);
// Agent with tools
final agent = OllamaAgent(client: client, model: 'llama3.2');
final result = await agent.runWithTools(
'What is 2+2?',
[CalculatorTool(), CurrentTimeTool()],
);Documentation:
lib/ollama_toolkit/README.md- Complete guidedocs/ARCHITECTURE_OLLAMA_TOOLKIT.md- Architecturedocs/OLLAMA_TOOLKIT_SUMMARY.md- Implementation details.github/skills/ollama-integration/SKILL.md- AI skill
AI Prompts:
Add a chat screen using ollama_toolkit with llama3.2
Create an agent with CalculatorTool and CurrentTimeTool
Add Ollama configuration screen with model selection
βββ lib/main.dart # App entry point
βββ test/ # Tests
βββ android/ # Android configuration
βββ astro/ # GitHub Pages website
βββ docs/ # AI prompting guides
βββ pubspec.yaml # Dependencies
- GETTING_STARTED.md - Complete setup guide for first-time users β
- APP_CUSTOMIZATION.md - Comprehensive customization checklist & AI prompts β
- PREREQUISITES.md - Installation requirements for all platforms
- AI_PROMPTING_GUIDE.md - AI agent best practices
- AGENTS.md - AI agent configuration reference
- BUILD_OPTIMIZATION.md - Build performance details
- TESTING.md - Testing guide
- CONTRIBUTING.md - Contribution guidelines
- TROUBLESHOOTING.md - Common issues and solutions
.github/prompts/icon-generation.prompt.md- Icon generation guide
- Start with @product-owner - Define clear requirements before coding
- Use @experience-designer - Plan UX before implementing screens
- Let @researcher find packages - Don't waste time searching pub.dev
- @flutter-developer has terminal access - Can run tests, format, build
- Save documentation to docs/ - AI agents reference prior decisions
- Use pre-release workflow - Test builds before production releases
- Read GETTING_STARTED.md
- Follow the customization checklist
- Ask
@flutter-developerquestions as you learn - Start with simple features
- Review BUILD_OPTIMIZATION.md
- Set up CI/CD workflows
- Use AI agents to accelerate development
- Implement advanced features with @architect guidance
- Review AGENTS.md for agent roles
- Set up shared documentation in docs/
- Use @product-owner for requirement alignment
- Leverage @doc-writer for team documentation
MIT License - see LICENSE