Flutter Project Bootstrap
Purpose
Use this skill to initialize a new Flutter project structure based on developer needs.
This skill supports two modes:
- Guided setup: ask requirement questions and generate from answers.
- Quick default setup: skip questions and apply a recommended baseline.
Activation
Activate this skill when the user asks to bootstrap, scaffold, or initialize a Flutter app structure and wants architecture, dependencies, and starter code generated quickly.
Non-Goals
- Do not implement full business logic for every feature.
- Do not generate production secrets or real keys.
- Do not install unsupported platform SDKs silently.
Mode Selection
Ask this first:
- Do you want Guided setup or Quick default setup?
If user picks Quick default, skip interview and use the Default Profile section.
If user picks Guided setup, run the full questionnaire.
Guided Questionnaire
Ask questions in this order. Accept either selected options or free text.
- App type
- Example options: ecommerce, quick-commerce, rider, fintech, food-delivery, social, healthcare, custom.
- Primary state management
- Example options: riverpod, bloc, getx, provider, custom.
- Additional state management (optional)
- If multiple are chosen, keep one primary and isolate others by module.
- Architecture style
- Example options: feature-first clean, layered by type, simple starter.
- Backend strategy
- Example options: rest-api, firebase, supabase, hybrid.
- API usage
- Ask: Will this app consume external APIs? (yes/no)
- If yes, ask for API style: rest, graphql, both.
- Authentication
- Example options: email-password, google, apple, phone-otp, guest.
- Push notifications
- Example options: firebase-fcm, onesignal, none.
- Local persistence
- Example options: shared-preferences, secure-storage, hive, isar, sqlite, none.
- Realtime needs
- Example options: websocket, firebase-realtime, none.
- Payments (optional)
- Example options: stripe, razorpay, sslcommerz, none.
- Target platforms
- Example options: android, ios, web, macos, windows, linux.
- Flavors/environments
- Example options: dev, staging, prod.
- Tooling
- Ask for optional setup: ci-cd, localization, accessibility baseline, analytics.
- Starter screens
- Ask if user wants 1 or 2 sample screens and which feature area.
Quick Default Profile
If user selects quick default, apply this baseline:
- App type: ecommerce starter
- Architecture: feature-first clean
- Primary state management: riverpod
- Backend: rest-api ready
- API usage: yes, rest
- Auth: email-password scaffold
- Push: firebase-fcm ready
- Local persistence: shared-preferences + secure-storage
- Realtime: none
- Payments: none
- Platforms: android + ios
- Flavors: dev + prod
- Starter screens: splash + home catalog sample
Always print a summary of applied defaults before generation.
Decision Rules
- If multiple state management options are requested, require one primary and place additional patterns in separate modules only.
- Do not mix two state patterns inside the same feature module.
- If backend=firebase and push=onesignal, allow both.
- If backend=none and api=no, generate local/offline starter only.
- If platforms include web, avoid mobile-only plugin setup in generated instructions.
- If payments are enabled, scaffold abstraction layer and placeholder service only.
Generation Contract
After collecting requirements, generate the following:
- Folder structure
- core/
- config/
- shared/
- features/
- data/
- domain/
- presentation/
- routes/
- Core setup
- app entry wiring
- theme setup
- route config
- dependency injection bootstrap
- environment/flavor config if requested
- Dependencies
- Add only required packages for selected options.
- Group packages by: state, network, storage, push, auth, payments, utilities.
- Starter implementation
- Create 1-2 sample screens based on requested app type.
- Add basic navigation between generated screens.
- Include placeholder repository/service contracts.
- Developer handoff output
- Print:
- selected options summary
- generated directories/files summary
- package summary
- next 5 recommended implementation steps
Validation Checklist
Before completing, verify:
- No contradictory choices remain unresolved.
- Generated structure matches selected architecture.
- Chosen state management is wired as primary.
- Selected services (push/auth/storage) are reflected in dependencies and stubs.
- At least one starter route and one starter screen exist.
Failure Handling
If requirements conflict or are incomplete:
- Apply safe defaults for missing optional inputs.
- For blocking conflicts, resolve with deterministic fallback:
- state management fallback: riverpod
- backend fallback: rest-api
- push fallback: none
- Continue generation and clearly report fallback decisions.
Completion Output Template
Use this format at the end:
- Setup mode: guided | quick-default
- Selected stack: <app type, state, backend, push>
- Generated artifacts: <folders/files/screens>
- Installed package groups: <state/network/storage/...>
- Next steps:
- Step 1
- Step 2
- Step 3
- Step 4
- Step 5
Source: mdazadhossain95/flutter-agent-skills — distributed by TomeVault.
1---2name: flutter-project-bootstrap3description: Scaffolds a Flutter app structure from developer requirements. Supports a guided questionnaire and a quick default mode, then generates architecture, dependencies, starter files, and 1-2 sample screens. Use when this capability is needed.4---5# Flutter Project Bootstrap67## Purpose8Use this skill to initialize a new Flutter project structure based on developer needs.910This skill supports two modes:11- Guided setup: ask requirement questions and generate from answers.12- Quick default setup: skip questions and apply a recommended baseline.1314## Activation15Activate this skill when the user asks to bootstrap, scaffold, or initialize a Flutter app structure and wants architecture, dependencies, and starter code generated quickly.1617## Non-Goals18- Do not implement full business logic for every feature.19- Do not generate production secrets or real keys.20- Do not install unsupported platform SDKs silently.2122## Mode Selection23Ask this first:24- Do you want Guided setup or Quick default setup?2526If user picks Quick default, skip interview and use the Default Profile section.27If user picks Guided setup, run the full questionnaire.2829## Guided Questionnaire30Ask questions in this order. Accept either selected options or free text.31321) App type33- Example options: ecommerce, quick-commerce, rider, fintech, food-delivery, social, healthcare, custom.34352) Primary state management36- Example options: riverpod, bloc, getx, provider, custom.37383) Additional state management (optional)39- If multiple are chosen, keep one primary and isolate others by module.40414) Architecture style42- Example options: feature-first clean, layered by type, simple starter.43445) Backend strategy45- Example options: rest-api, firebase, supabase, hybrid.46476) API usage48- Ask: Will this app consume external APIs? (yes/no)49- If yes, ask for API style: rest, graphql, both.50517) Authentication52- Example options: email-password, google, apple, phone-otp, guest.53548) Push notifications55- Example options: firebase-fcm, onesignal, none.56579) Local persistence58- Example options: shared-preferences, secure-storage, hive, isar, sqlite, none.596010) Realtime needs61- Example options: websocket, firebase-realtime, none.626311) Payments (optional)64- Example options: stripe, razorpay, sslcommerz, none.656612) Target platforms67- Example options: android, ios, web, macos, windows, linux.686913) Flavors/environments70- Example options: dev, staging, prod.717214) Tooling73- Ask for optional setup: ci-cd, localization, accessibility baseline, analytics.747515) Starter screens76- Ask if user wants 1 or 2 sample screens and which feature area.7778## Quick Default Profile79If user selects quick default, apply this baseline:80- App type: ecommerce starter81- Architecture: feature-first clean82- Primary state management: riverpod83- Backend: rest-api ready84- API usage: yes, rest85- Auth: email-password scaffold86- Push: firebase-fcm ready87- Local persistence: shared-preferences + secure-storage88- Realtime: none89- Payments: none90- Platforms: android + ios91- Flavors: dev + prod92- Starter screens: splash + home catalog sample9394Always print a summary of applied defaults before generation.9596## Decision Rules97- If multiple state management options are requested, require one primary and place additional patterns in separate modules only.98- Do not mix two state patterns inside the same feature module.99- If backend=firebase and push=onesignal, allow both.100- If backend=none and api=no, generate local/offline starter only.101- If platforms include web, avoid mobile-only plugin setup in generated instructions.102- If payments are enabled, scaffold abstraction layer and placeholder service only.103104## Generation Contract105After collecting requirements, generate the following:1061071) Folder structure108- core/109- config/110- shared/111- features/112- data/113- domain/114- presentation/115- routes/1161172) Core setup118- app entry wiring119- theme setup120- route config121- dependency injection bootstrap122- environment/flavor config if requested1231243) Dependencies125- Add only required packages for selected options.126- Group packages by: state, network, storage, push, auth, payments, utilities.1271284) Starter implementation129- Create 1-2 sample screens based on requested app type.130- Add basic navigation between generated screens.131- Include placeholder repository/service contracts.1321335) Developer handoff output134- Print:135 - selected options summary136 - generated directories/files summary137 - package summary138 - next 5 recommended implementation steps139140## Validation Checklist141Before completing, verify:142- No contradictory choices remain unresolved.143- Generated structure matches selected architecture.144- Chosen state management is wired as primary.145- Selected services (push/auth/storage) are reflected in dependencies and stubs.146- At least one starter route and one starter screen exist.147148## Failure Handling149If requirements conflict or are incomplete:150- Apply safe defaults for missing optional inputs.151- For blocking conflicts, resolve with deterministic fallback:152 - state management fallback: riverpod153 - backend fallback: rest-api154 - push fallback: none155- Continue generation and clearly report fallback decisions.156157## Completion Output Template158Use this format at the end:1591. Setup mode: guided | quick-default1602. Selected stack: <app type, state, backend, push>1613. Generated artifacts: <folders/files/screens>1624. Installed package groups: <state/network/storage/...>1635. Next steps:164- Step 1165- Step 2166- Step 3167- Step 4168- Step 5169170---171> Source: [mdazadhossain95/flutter-agent-skills](https://github.com/mdazadhossain95/flutter-agent-skills) — distributed by [TomeVault](https://tomevault.io).172<!-- tomevault:4.0:skill_md:2026-06-16 -->