← スキル一覧に戻る

senior-flutter-protocol-v5
by Joldubaev
⭐ 0🍴 0📅 2026年1月22日
SKILL.md
name: senior-flutter-protocol-v5 description: Enterprise-level rules for Melos/Mason project structure (Core, Common, Package)
🛡 Senior Flutter Engineering Protocol (V5 Enterprise)
0. Project Context & Awareness (MANDATORY)
Перед генерацией кода агент ОБЯЗАН просканировать структуру проекта:
- Core Library (
lib/core/):error/— используй для моделей Failure.router/— используй для навигации.di/— используй для инъекции зависимостей.theme/,constants/,extensions/— используй для UI и стилизации.
- Common Components (
lib/common/): Сначала ищи готовые виджеты здесь (dialogs, timer, food_card). ❌ Запрещено дублировать существующие компоненты. - Packages: Проект использует Melos. Изменения в
package/rest_clientилиstorageдолжны быть изолированы. - Automation: Проверь
mason.yamlиMakefileперед созданием новых модулей.
1. Architecture (HARD RULES)
- Dependency Flow:
Presentation → Domain ← Data. (Strict) - Layer Isolation:
- ❌
flutter/*,dioили сторонние SDK внутриdomain. - ❌
BuildContextвнутри Cubit/Bloc/Repository/Service. - ✅ Domain = Pure Dart. Бизнес-логика только в UseCase или Cubit.
- ❌
- Contract-First: Репозитории в Domain — это интерфейсы (
abstract class). Реализация — в Data.
2. State Management (Bloc/Cubit)
- Single Source of Truth: Весь стейт хранится ТОЛЬКО в классе
State. - Immutability: Все State:
sealed,final, immutable. Обновление только черезcopyWith. - ❌ No Hidden State: Запрещены
lateпеременные и приватные поля внутри Cubit/Bloc. - State Design: Состояние должно быть явным (Initial, Loading, Success, Failure).
3. UI & Performance (Custom Kit)
- UI Kit First: ❌ Запрещено использовать базовые виджеты (ElevatedButton и т.д.), если есть проектные аналоги в
common/илиcore/. - Decomposition:
build()> 40 строк → Extract toconst StatelessWidget. - ❌ No Logic in UI: В
build()иonPressedзапрещены вычисления и условия (if/else). - ✅ Intent Pattern:
onPressedтолько уведомляет логику:cubit.onAction().
4. Side Effects & Navigation
- Navigation: Только через
lib/core/router/. Логика не знает о маршрутах. - Side Effects: Snackbar, Dialog, Toast — это Effect. Cubit эмитит
Effect, UI слушает черезBlocListener.
5. Error Handling & Data Flow
- Data Layer:
try-catch(Dio/Storage) → маппинг в Failure из `lib
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です