К основному содержанию
правило

flutter-development-guidelines — правило Cursor для Flutter

Задаёт структуру проекта, нейминг и стиль Dart для Flutter-приложений на MVVM с Riverpod. Пригодится, когда агент в Cursor разносит код по папкам как попало.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/flutter-development-guidelines-cursorrules-prompt-file.mdc
Открыть на GitHub

Что делает flutter-development-guidelines-cursorrules-prompt-file

Правило срабатывает на файлы **/*.dart и описывает, как раскладывать код под /lib: модели в /lib/models/, логика и состояние в /lib/viewmodels/, переиспользуемые виджеты в /lib/views/widgets/, экраны в /lib/views/screens/, работа с API в /lib/services/, вспомогательные функции в /lib/utils/.

Архитектура — MVVM, состояние живёт в ViewModel и связывается с View через Riverpod. Из мелочей: имена файлов и папок в snake_case, классы в UpperCamelCase, переменные в lowerCamelCase, булевы флаги вида isLoading и hasError. Импорты идут тремя блоками — сначала dart:, потом package:, в конце относительные пути.

Строки короче 80 символов, фигурные скобки у всех конструкций управления, одинарные кавычки, const там, где виджет неизменяем. Правило не применяется само по себе: alwaysApply: false, поэтому его нужно подключать к конкретным запросам или файлам. Лишний шум в проекте без Flutter — это повод держать его отключённым.

Какие задачи решает

  • разложить файлы Flutter-проекта по слоям MVVM
  • вынести состояние из виджетов в ViewModel на Riverpod
  • привести имена файлов и классов к одному стилю
  • расставить импорты в правильном порядке
  • заменить StatefulWidget на StatelessWidget там, где состояние не нужно

Примеры запросов агенту

  • Создай экран логина по структуре из правила: ViewModel в /lib/viewmodels/, экран в /lib/views/screens/
  • Отрефактори этот виджет: вынеси состояние в ViewModel на Riverpod и добавь const где можно
  • Проверь файл auth_wizard.dart на соответствие правилу: длина строк, кавычки, порядок импортов

Как установить flutter-development-guidelines-cursorrules-prompt-file

Вручную: положить файлы

.cursor/rules/flutter-development-guidelines-cursorrules-prompt-file.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Из того же набора68

htmx-go-fiber-cursorrules-prompt-file Правило Cursor для проектов на Go с Fiber и HTMX: задаёт структуру папок, роутинг и работу с шаблонами, чтобы агент не изобретал своё. ★ 41 011звёзд репо htmx-django-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту привычки Django при работе с HTMX: шаблоны, формы, CSRF, class-based views. ★ 41 011звёзд репо how-to-documentation-cursorrules-prompt-file Правило превращает технические шаги, тест-скрипты и скриншоты в пошаговые инструкции для нетехнических пользователей. Пригодится, когда нужно писать «How To» по фиче. ★ 41 011звёзд репо graphical-apps-development-cursorrules-prompt-file Правило Cursor, которое задаёт агенту контекст проекта Pyllments: графовые LLM-приложения на Python с Panel и Langchain. ★ 41 011звёзд репо embedded-stm32-hal Правило для Cursor, которое задаёт агенту рамки при работе с прошивками на C и C++: STM32 HAL, прерывания, DMA, экономия памяти. ★ 41 011звёзд репо dragonruby-best-practices-cursorrules-prompt-file Правило для Cursor, которое задаёт стиль кода на Ruby в DragonRuby Game Toolkit: имена, структура файлов, обработка ошибок. ★ 41 011звёзд репо database Правило для Cursor с набором практик по Prisma и Supabase: схемы, миграции, запросы, RLS-политики. Подключается к файлам базы по маске. ★ 41 011звёзд репо cypress-defect-tracking-cursorrules-prompt-file Правило для Cursor, которое превращает агента в QA-инженера: пишет тесты Cypress с тегами команд, категорий и case ID и собирает отчёты через qa-shadow-report. ★ 41 011звёзд репо

Похожие

flutter sanjeed5 Правило задаёт Cursor единый стиль Flutter-кода: форматирование, линты, слои MVVM и Riverpod. Пригодится, когда агент пишет виджеты и состояние в одном файле. ★ 3 579звёзд репо dart-flutter-patterns affaan-m Набор готовых паттернов для Dart и Flutter: null safety, состояние, навигация, сеть. Пригодится, когда пишете или ревьюите код на Flutter. CX Codex +1 4 700установок flutter-expert https://github.com/Jeffallan Скилл для разработки кросс-платформных приложений на Flutter 3+ и Dart. Помогает с виджетами, управлением состоянием через Riverpod или Bloc, маршрутизацией GoRouter и оптимизацией производительности. CX Codex +1 14 300установок flutter-dev MiniMax-AI Гайд для разработки Flutter-приложений с паттернами виджетов, Riverpod, Bloc и GoRouter. Пригодится при настройке интерфейса, навигации, тестов и производительности. CX Codex +1 2 000установок flutter-architecture Stanislav [MADTeacher] Chernyshev Скилл для проектирования и ревью архитектуры Flutter-приложений: слои, MVVM, feature-first структура, DI и паттерны вроде Result и Command. CX Codex +1 1 700установок flutter-development aj-geddes Скилл для разработки мобильных приложений на Flutter и Dart: виджеты, состояние через Provider или BLoC, навигация, интеграция с API. CX Codex +1 719установок

Рядом в теме «Мобильная разработка»

Всё по теме «Мобильная разработка» →

Вопросы о flutter-development-guidelines-cursorrules-prompt-file

Как установить flutter-development-guidelines в Cursor?

Создайте файл .cursor/rules/flutter-development-guidelines-cursorrules-prompt-file.mdc в корне проекта и вставьте в него текст правила.

Что делает это правило?

Описывает структуру каталогов под /lib, соглашения об именах, порядок импортов и стиль Dart. Агент опирается на него, когда пишет или правит .dart-файлы.

Правило применяется ко всем файлам автоматически?

Нет, в нём стоит alwaysApply: false. Оно привязано к glob **/*.dart, поэтому подключайте его к нужным запросам вручную.

Исходный текст

flutter-development-guidelines-cursorrules-prompt-file.mdc · CC0-1.0
---
description: "Cursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines."
globs: **/*.dart
alwaysApply: false
---
### Code style and structure
- Write concise and efficient source code.
- Strive for source code that is easy to read and maintain, and provide accurate examples.
- Avoid duplication of code: modularise widgets and functions into reusable components.
- Use descriptive variable names: use names with auxiliary verbs such as isLoading, hasError.

### Directory structure under /lib.
- /lib/models/: data models and type definitions (Models)
- /lib/viewmodels/: state management and business logic (ViewModel)
- /lib/views/widgets/: reusable widgets (View)
- /lib/views/screens/: per-screen widgets (View)
- /lib/services/: service classes for API calls and data access
- /lib/utils/: helper functions and constants

### Naming conventions
- Directories and files: use snakeCase (e.g. auth_wizard.dart).
- UpperCamelCase: use for class names/enumerations/typedefs/type parameters, etc.
- LowerCamelCase: used for variables/functions/class members (properties, methods), etc.
- lowercase_with_underscores (snakeCase): for files/directories/packages/libraries, etc.

### Import.
- Place imports starting with dart: first (use lowercase_with_underscores for the import prefix).
- Next, import third-party packages (package:).
- Finally, import relative paths and files in the project.

### Using Dart.
- Take advantage of type safety: use static typing in all code and utilise type inference wherever possible.

### UI and styling.
- Use Material widgets.
- Unify theming: use ThemeData to apply consistent styles.

### Performance optimisation.
- Prefer StatelessWidget when state is not required.
- Make use of const constructors: if widgets are immutable, use const to optimise builds.

### State management.
- Use riverpod to implement efficient state management.
- Manage state within the ViewModel and link it to the View.

### Software architecture
Use MVVM (Model View ViewModel).

### Key rules.
- To improve code readability, lines should not exceed 80 characters in length.
- Use braces {} for all flow control structures (if, for, while, etc.).
- Use comment-outs proactively to help understand and maintain code.
- Use single quotes, avoid the use of double quotes and use consistent string literals to improve readability.

© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой