Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/paulpham157/paul-s-cursor-rules/flutter-project-rulesgit clone --depth 1 https://github.com/paulpham157/paul-s-cursor-rulesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/paulpham157/paul-s-cursor-rules/flutter-project-rules)<a href="https://agentmods.dev/rules/paulpham157/paul-s-cursor-rules/flutter-project-rules"><img src="https://agentmods.dev/badge/rules/paulpham157/paul-s-cursor-rules/flutter-project-rules.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00785 |
| Opus 5 | $0.00000 | $0.00392 |
| Sonnet 5 | $0.00000 | $0.00157 |
| Haiku 4.5 | $0.00000 | $0.00078 |
Grade A, and why
flutter-project-rules scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
2 near-identical copies found in the catalogue:
- flutter-project-rules — 100% identical, 0 lines differ
- flutter-project-rules — 100% identical, 0 lines differ
What it actually says
-
Implement code following this directory structure:
lib/features/products/ ├── data/ │ ├── models/ │ │ ├── product_dto.dart │ │ └── product_category_dto.dart │ └── product_repository.dart ├── presentation/ │ ├── screens/ │ │ ├── product_list_screen.dart │ │ └── product_details_screen.dart │ ├── controllers/ │ │ └── product_list_controller.dart │ ├── widgets/ │ │ └── product_card.dart ├── domain/ │ ├── models/ │ │ ├── product.dart │ │ └── product_category.dart │ └── get_products_use_case.dart └── shared/ └── models/ └── address.dart
-
Placement Rules:
- lib/: Contains all Dart code.
- features/: Feature-specific code.
- models/: Global models (use sparingly).
- providers/: Global providers (minimize use).
- routes/: App navigation.
- core/: Core app logic (networking, errors, DI).
- app.dart: Root widget.
- main.dart: Entry point.
-
features/ Structure:
- <feature_name>/: A feature (e.g., authentication, products).
- data/: Data access.
- models/: Data Transfer Objects (DTOs).
- <feature_name>_repository.dart: Data access logic.
- presentation/: UI.
- screens/: UI screens (<feature_name>_<screen_name>_screen.dart).
- controllers/: State management (<feature_name>_controller.dart).
- widgets/: Feature-specific widgets (<widget_name>.dart).
- domain/: Business logic.
- models/: Domain models.
- <feature_name>.dart: Main entity.
- use_cases/: User interactions (<use_case_name>.dart).
- shared/models/: Models shared between related features.
-
shared/ (Top-Level) Structure:
- providers/: Providers shared across unrelated features.
- widgets/: Widgets shared across unrelated features.
- models/: Models shared across unrelated features (use cautiously).
- services/: Utility classes.
-
models/ (Top-Level) Structure:
- Global models (use sparingly).
-
providers/ (Top-Level) Structure:
- Global providers (minimize use).
-
core/ Structure:
- network/: Networking code.
- errors/: Error handling.
- di/: Dependency injection.
-
Naming Conventions:
- Files: snake_case (e.g., product_list_screen.dart).
- Classes: PascalCase (e.g., ProductListScreen).
- Variables/Functions: camelCase (e.g., productList).
-
Key Principles:
- Feature Isolation: Self-contained feature code.
- Separation of Concerns: Separate data, logic, and UI.
- Single Responsibility: One purpose per class/file.
- DRY: Avoid code duplication.
- Prefer Feature-Specific: Prioritize feature-level placement.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 77 lines · 0 tokens per session scan A 94113404867e
flutter-project-rules is a cursor rule published in the GitHub repository paulpham157/paul-s-cursor-rules (27 stars, last pushed 1y ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 785 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other cursor rules, from other repositories
swift-uikit-cursorrules-prompt-file
Cursor rules for Swift Uikit.
flutter-riverpod-cursorrules-prompt-file
Cursor rules for Flutter Riverpod.
swiftui-guidelines-cursorrules-prompt-file
Cursor rules for SwiftUI development guidelines.
nativescript
NativeScript best practices and patterns for mobile applications.
android-jetpack-compose-cursorrules-prompt-file
Cursor rules for Android development with Jetpack Compose integration.
flutter-app-expert-cursorrules-prompt-file
Cursor rules for Flutter development with expert integration.