Bootstraps a new Flutter project with Volkan's standard stack and folder structure. Trigger this skill when the user says "new Flutter project", "start a new app", "set up a Flutter project from scratch", or when running `flutter create` is being considered. Sets up Riverpod 3.x with codegen, Freezed 3.x, GoRouter, Dio, flutter_localizations with English ARB, strict analysis_options.yaml, feature-first folder structure (data/domain/presentation), and base theme. Default stack reflects HST, Livestock Manager, Kap Kurtar patterns. Use when this capability is needed.
Bootstraps a new Flutter project with Volkan's standard stack and folder structure. Trigger this skill when the user says "new Flutter project", "start a new app", "set up a Flutter project from scratch", or when running `flutter create` is being considered. Sets up Riverpod 3.x with codegen, Freezed 3.x, GoRouter, Dio, flutter_localizations with English ARB, strict analysis_options.yaml, feature-first folder structure (data/domain/presentation), and base theme. Default stack reflects HST, Livestock Manager, Kap Kurtar patterns. Use when this capability is needed.
metadata
{"author":"axisting"}
Flutter New Project Starter
For when Volkan starts a new Flutter app. Skip the boilerplate, ship features.
Default Stack (override only if user specifies otherwise)
flutter create --org com.axistia --platforms=ios,android my_app
cd my_app
Adjust --org to match user's bundle ID prefix. Volkan uses com.axistia.* for Axistia apps.
Step 2: Configure pubspec.yaml
Replace the default with this baseline (check pub.dev for latest versions before pinning):
name:my_appdescription:AnewFlutterprojectpublish_to:'none'version:0.1.0+1environment:sdk:">=3.5.0 <4.0.0"flutter:">=3.24.0"dependencies:flutter:sdk:flutterflutter_localizations:sdk:fluttercupertino_icons:^1.0.8# State and modelsflutter_riverpod:^latestriverpod_annotation:^latestfreezed_annotation:^latestjson_annotation:^latest# Navigationgo_router:^latest# HTTPdio:^latest# l10nintl:^latest# Storageshared_preferences:^latestflutter_secure_storage:^latesthive_ce:^latesthive_ce_flutter:^latest# Logginglogger:^latestdev_dependencies:flutter_test:sdk:flutterflutter_lints:^latestbuild_runner:^latestriverpod_generator:^latestfreezed:^latestjson_serializable:^latestcustom_lint:^latestriverpod_lint:^latestflutter:uses-material-design:truegenerate:true
Run flutter pub get.
Step 3: analysis_options.yaml (strict mode)
include:package:flutter_lints/flutter.yamlanalyzer:language:strict-casts:truestrict-inference:truestrict-raw-types:trueerrors:invalid_annotation_target:ignore# Required for Freezed + json_serializablemissing_required_param:errormissing_return:errortodo:warningexclude:-"**/*.g.dart"-"**/*.freezed.dart"-"lib/generated/**"linter:rules:# Styleprefer_single_quotes:truesort_constructors_first:truesort_unnamed_constructors_first:truerequire_trailing_commas:true# Safetyavoid_print:trueavoid_dynamic_calls:trueno_runtimeType_toString:trueunawaited_futures:trueuse_build_context_synchronously:true# Performanceprefer_const_constructors:trueprefer_const_constructors_in_immutables:trueprefer_const_declarations:trueprefer_const_literals_to_create_immutables:truecustom_lint:rules:-missing_provider_scope-avoid_manual_providers_as_generated_provider_dependency