About flutter-engineering
flutter-engineering is an engineering skill for HeyEddi app development that audits and fills scaffolding for Flutter, FastAPI, and Firebase projects. It organizes work around layer audits, build and test steps, and plan and change checks.
Key features
- 01Detect Flutter, FastAPI, and Firebase stacks
- 02Audit and fill project scaffolding
- 03Provide local development server workflows
- 04Run frontend and backend tests and build checks
- 05Require plan and change review gates
Use cases
- 01Scaffold a Flutter mobile or web frontend
- 02Set up a FastAPI REST API backend
- 03Configure Firebase for Firestore or Auth
- 04Validate feature changes through defined checks
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ heyeddi-com/ heyeddi-skills --skill flutter-engineeringAfter installing, type/flutter-engineeringin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
manifest.jsoncontext/ANTI_PATTERNS.mdEXAMPLES.mdPROSE_ANTI_SLOP.mdVOCABULARY.mdreference/design-handoff.mddev-server.mdfastapi-client.mdfirebase-client.mdsubagents.mdscaffold/stack-flutter-fastapi.jsonstack-flutter-full.jsonstack-flutter.jsonscaffold/flutter/analysis_options.yamlpubspec.yamlscaffold/flutter/lib/app.dartmain.dartscaffold/flutter/lib/config/env.dartscaffold/flutter/lib/router/app_router.dartscaffold/flutter/lib/screens/home_screen.dartsettings_screen.dartscaffold/flutter/lib/services/api_client.dartscaffold/flutter/lib/theme/app_theme.dartscaffold/flutter/lib/widgets/app_shell.dartscaffold/flutter/test/widget_test.dartscripts/_heyeddi_paths.py_project_detect.py_skill_cli.pyaudit_scaffold.pydev_server_info.pyDetails
From the project READMEFlutter Engineering
Baseline Flutter engineering for HeyEddi apps. Detects which stacks apply and adds the correct tooling: Vue projects should use @project-engineering instead.
Subagents (default)
Delegate scaffold/audit/test scripts to Task shell; repo discovery to explore. Main chat picks stack from audit JSON. See reference/subagents.md.
Stacks
| Stack | When | Tooling added |
|---|---|---|
| Flutter | Mobile / web frontend | pubspec.yaml, Riverpod, go_router, Material 3, widget tests |
| FastAPI | REST API backend | backend/, pytest, openapi.json, uvicorn on 8090 |
| Firebase | Firestore / Auth | firebase.json, rules, emulators |
Declare intent in .heyeddi/stack.json:
{
"frontend": "flutter",
"backends": ["fastapi"],
"web_port": 8085,
"api_port": 8090
}
Or "backends": ["firebase"] or ["fastapi", "firebase"].
Workflow
- Prefs gate (always-on hard):
@heyeddi-setupverify_setup --checkbefore git/CI/commit assumptions; incomplete → run setup until pass. audit_scaffold: per-layer JSON (flutter / fastapi / firebase).scaffold_stack --stack auto: fills gaps (flutter,fastapi,firebase, orfull).ensure_flutter+ensure_python(via@project-engineering) as needed.dev_server_info: Flutter web:8085, API:8090, Firebase emulators:4000.- Plan gate (always-on):
@engineering-excellencecheck_engineering_plan --checkbefore feature code. - Implement features (
@design-handoff-flutter,@flutter-patterns,@dart-type-bridger). run_tests+run_backend_tests+verify_build.- Change gate (always-on):
audit_engineering --check(errors fail; warns advisory).
Local dev servers
| Stack | Command | URL |
|---|---|---|
| Flutter web | flutter run -d web-server --web-port=8085 --web-hostname=127.0.0.1 | http://127.0.0.1:8085 |
| Flutter mobile | flutter run | device / emulator |
| FastAPI | cd backend && poetry run uvicorn app.main:app --reload --port 8090 | http://127.0.0.1:8090/docs |
| Firebase | firebase emulators:start | http://localhost:4000 |
Set FLUTTER_WEB_URL (or DEV_SERVER_URL) for @visual-auditor when auditing Flutter web.
References
reference/dev-server.md: Flutter web + mobilereference/fastapi-client.md: Dio + OpenAPI typesreference/firebase-client.md: firebase_core + Firestorereference/heyeddi-handoff.md: chain@design-handoff-flutter
Related skills
@dart-type-bridger: OpenAPI / Firestore → Dart models@flutter-patterns: repositories, Riverpod providers, auth@design-handoff-flutter: screenshot → Material widgets@project-engineering: shared FastAPI/Firebase scaffolds (invoked byscaffold_stack)
When the task is complete: suggest next skills
When you have finished the user's request for this skill (not after every tool call or subagent phase), suggest what to run next:
-
Run:
python .agents/skills/heyeddi/scripts/suggest_next_skill.py --current-skill flutter-engineering --project-root .Add
--route /pathif you worked a specific route. -
Include the script's
### Next stepblock in your final reply. The user copies the Prompt line into chat (e.g.@heyeddi-design craft /settings).
Pass --mode shape (or craft, audit, etc.) when you know which sub-command just finished.
See @heyeddi → reference/next-skill-handoff.md.