Menu

Post image 1
Post image 2
1 / 2
0

CLAUDE.md for Flutter/Dart: 12 Rules That Stop AI From Writing Fragile Mobile Code

DEV Community·Olivia Craft·27 days ago
#xifsVCFh
#flutter#dart#claudeai#mobile#every#widget
Reading 0:00
15s threshold

You ask Claude to "add a profile screen that loads the user from the API" inside your Flutter codebase, and you get back something that builds on the simulator and is still wrong: A widget that calls user!.name because the model doesn't want to fight the analyzer. A 400-line _HomePageState with three nested FutureBuilder s and a setState after every await . An await api.save(); Navigator.pop(context); with no mounted check — throws This widget has been unmounted in production whenever a user navigates away mid-call. A class FancyButton extends ElevatedButton that breaks the moment Material updates. A TextEditingController field with no dispose() . A raw MethodChannel('com.app/foo').invokeMethod('doX', {'k': v}) that returns dynamic and silently breaks when iOS renames a key. The model isn't lazy. It's been trained on a decade of Flutter examples, half from before sound null safety, half from "Hello World" tutorials that don't show error handling, dispose, or tests.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.

Read More