Instruction file imported from Ammourie/Sakeenah (
.cursor/rules/no-codegen.mdc). Copyright stays with the author.
No codegen — user generates everything
Do not run, regenerate, or hand-edit any generated or codegen output. The user runs all generators locally.
Never run these commands
build_runner(fvm dart run build_runner …,flutter pub run build_runner …)flutter gen-l10n/ intl generate /flutter_intlCLIinjectable_generator,freezedcodegen,json_serializable, or any similar generator CLI- Do not run codegen to verify work, fix analyzer errors, or “finish” a task
Never create or edit generated files
Including but not limited to:
*.freezed.dart,*.g.dartlib/di/service_locator.config.dartlib/generated/l10n.dart,lib/generated/intl/**GeneratedPluginRegistrant.java/.m(Flutter tool output)- Stub or partial generated files to silence analyzer errors
What to write instead
- Source only:
@freezed/@injectable/partdirectives,.arbkeys, models, entities - Leave missing generated parts as-is until the user runs codegen
- Wire dependencies manually (e.g. factory) if injectable output is not yet regenerated
Expected errors until the user generates
Treat as normal — do not “fix” by generating or stubbing:
- Missing
partfiles (*.freezed.dart,*.g.dart,service_locator.config.dart) - Undefined
S.current.<newKey>after adding.arbkeys - Missing GetIt registrations for newly
@injectabletypes - Analyzer errors only in generated files or caused solely by stale codegen
Agent checklist
- Did not run
build_runneror any generator CLI - Did not edit
*.freezed.dart,*.g.dart, orservice_locator.config.dart - Added only source files +
.arbkeys for new strings - Mentioned once at the end (if relevant): user should run codegen when ready