A Claude Code skill that creates minimal, production-ready Flutter projects with clean code and CI/CD.
- 🎯 Simple & Clean - Minimal app.dart with empty Scaffold (no template boilerplate)
- 🚫 No Comments - Clean Dart and YAML files without clutter
- 📏 Strict Linting -
prefer_single_quotesandavoid_printrules - 🧪 Ready to Test - Includes placeholder_test.dart for CI/CD
- 🔄 GitHub Actions - Pre-configured CI workflow (main.yml)
- ✅ Validated - Passes format, analyze, and test checks
bash install.sh.\install.ps1After installation, restart Claude Code if needed.
Simply ask Claude to create a Flutter project:
Create a Flutter app called my_app
Generate a new Flutter project with org com.example
Build a Flutter application for Android and iOS
/creating-clean-flutter my_app
python3 ~/.claude/skills/creating-clean-flutter/clean_flutter.py my_app --org com.example --platforms android,iosmy_app/
├── .github/
│ └── workflows/
│ └── main.yml # CI: format, analyze, test (named after project)
├── lib/
│ ├── main.dart # Clean entry point (no comments)
│ └── app.dart # Simple App with empty Scaffold
├── test/
│ └── placeholder_test.dart # Simple 1+1=2 test (not widget_test)
├── analysis_options.yaml # Linting rules (no comments)
├── pubspec.yaml # Clean, no comments
└── README.md
import 'package:flutter/material.dart';
import 'app.dart';
void main() {
runApp(const App());
}import 'package:flutter/material.dart';
class App extends StatelessWidget {
const App({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(),
);
}
}import 'package:flutter_test/flutter_test.dart';
void main() {
test('placeholder: 1 + 1 = 2', () {
expect(1 + 1, 2);
});
}| Parameter | Description | Default |
|---|---|---|
name |
Project name (snake_case) | Required |
--org |
Organization (e.g., com.example) | com.example |
--platforms |
Platforms (comma-separated) | All platforms |
--overwrite |
Overwrite existing directory | false |
# Mobile only
python3 ~/.claude/skills/creating-clean-flutter/clean_flutter.py my_app --platforms android,ios
# Custom organization
python3 ~/.claude/skills/creating-clean-flutter/clean_flutter.py my_app --org com.mycompany
# Overwrite existing
python3 ~/.claude/skills/creating-clean-flutter/clean_flutter.py my_app --overwrite- Flutter SDK (on PATH)
- Python 3.6+
Check Flutter installation:
flutter --versionThis skill creates minimal, production-ready Flutter projects by:
- Using the latest Flutter template as a base
- Removing all unnecessary code (MyHomePage, comments)
- Setting up clean architecture from day one
- Including CI/CD configuration
- Ensuring all checks pass before completion
Result: A clean slate to start building, not a tutorial app to clean up.
| Aspect | Flutter Default | This Skill |
|---|---|---|
| app.dart | Complex counter app with MyHomePage | Simple empty Scaffold |
| Comments | Verbose tutorial comments | None |
| Debug banner | Visible | Hidden (debugShowCheckedModeBanner: false) |
| Tests | widget_test.dart (fails without MyHomePage) | placeholder_test.dart (always passes) |
| YAML files | Lots of comments | Clean, no comments |
| CI/CD | Not included | GitHub Actions (main.yml) |
Issues and PRs welcome! This skill is designed to create clean, minimal Flutter projects without unnecessary boilerplate.
MIT