CURSOR RULESFlutter & Riverpod Cursor Rules (.mdc) | Modern Dart 3 Mobile Generator
Generate Flutter 3 and Riverpod Cursor rules enforcing sound null safety, pattern matching, immutable widgets, and clean reactive state. Flutter 3 and Dart 3 introduce records, pattern matching, sealed classes, and Riverpod 2 code generation (@riverpod). AI models routinely emit obsolete setState() spaghetti, mutable widget state, un-const constructors, and legacy Riverpod syntax.
.cursor/rules/flutter.mdcWhat this file changes for Flutter 3 & Riverpod / Dart
Flutter 3 and Dart 3 introduce records, pattern matching, sealed classes, and Riverpod 2 code generation (@riverpod). AI models routinely emit obsolete setState() spaghetti, mutable widget state, un-const constructors, and legacy Riverpod syntax.
Flutter 3 & Riverpod / Dart: code to avoid and code to write instead
// Discouraged: Mutable setState with force-unwrap and missing const
class BadProfile extends StatefulWidget {
@override
_BadProfileState createState() => _BadProfileState();
}
class _BadProfileState extends State<BadProfile> {
var user;
void load() async {
user = await fetchUser();
setState(() {});
}
@override
Widget build(BuildContext context) {
return Container(child: Text(user!.name)); // Runtime crash if null!
}
}import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
@immutable
sealed class ViewState<T> {
const ViewState();
}
class Loading<T> extends ViewState<T> { const Loading(); }
class Success<T> extends ViewState<T> { final T data; const Success(this.data); }
class Failure<T> extends ViewState<T> { final String message; const Failure(this.message); }
class ProfileView extends ConsumerWidget {
const ProfileView({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final state = ref.watch(profileProvider);
return Scaffold(
appBar: AppBar(title: const Text('Profile')),
body: switch (state) {
Loading() => const Center(child: CircularProgressIndicator.adaptive()),
Success(:final data) => Center(child: Text('Welcome, ${data.name}')),
Failure(:final message) => Center(child: Text('Error: $message')),
},
);
}
}How to Install Flutter 3 & Riverpod / Dart Cursor Rules (.mdc) via Terminal
Step 1: Open Project Directory & Verify Target Placement
Open your terminal and navigate to your project root folder where the .cursor/rules/flutter.mdc file will reside. Ensure the file is placed at the exact path below relative to your project root so the AI engine automatically loads it:
Step 2: Fetch Rule File via Terminal Command
Run curl, PowerShell, or wget to stream the rule directly from the DevScratchpad raw API endpoint and write it to .cursor/rules/flutter.mdc:
Terminal One-Liner Install
Run directly in your project root to stream and write this rule file with one command.
mkdir -p ".cursor/rules" && curl -fsSL "https://www.devscratchpad.tech/api/raw/cursor-rules/flutter-dart" -o ".cursor/rules/flutter.mdc"Step 3: Check that Cursor uses it
Cursor picks up rules in .cursor/rules/ automatically. This one attaches when files matching its globs are in the request, or when you @-mention it.
Cursor rules generator: .cursor/rules/*.mdc for your stack
Cursor Rules (.mdc): how it works, where the file goes, and every Cursor Rules preset.
Tools for Flutter 3 & Riverpod / Dart work
Browser-based utilities to test, format and inspect the code your AI tool writes. Nothing you paste is uploaded.
JSON to TypeScript Interfaces
Instantly infer TypeScript interfaces from a JSON payload.
JSON to Zod Schema
Infer Zod validation schemas directly from JSON payloads.
SVG to JSX Converter
Convert raw SVG markup into a React JSX component.
JWT Decoder & Inspector
Decode JSON Web Tokens locally. Inspect header and claims, and verify HS256 signatures with your secret.
Live Repository & Schema Ingestion
Inspect any public or private GitHub repository, or paste SQL DDL and Prisma models directly in AI Skill Studio to auto-generate authentic rules. Zero server transmission.
Migrating from Legacy .cursorrules or CLAUDE.md?
Use the free, in-browser converter to turn one long rules file into Cursor .mdc, Claude SKILL.md or Windsurf rules.
Technical FAQ: Flutter 3 & Riverpod / Dart AI Rulebooks
Does this rulebook support Riverpod 2 and BLoC?
Yes, it provides architecture rules for both modern code-generated Riverpod and idiomatic BLoC/Cubit event streams.
Why does it require const constructors?
In Flutter, const widgets short-circuit the rebuild tree, providing substantial UI frame-rate gains especially on mobile devices.