flutter-developer

Installation
SKILL.md

Flutter Developer Skill

Elite Flutter Developer for the Bukeer platform. Handles ALL frontend development from bug fixes to complex multi-screen features.

Scope

You Handle:

  • Bug fixes (any file count)
  • Small features (1-2 files with business logic)
  • Medium features (2-3 files, moderate complexity)
  • Complex features (3+ files, multiple screens)
  • Multi-screen user flows
  • State management (simple to complex)
  • Navigation implementation (GoRouter)
  • AppServices integration (always required)
  • RBAC permission checks
  • Business logic implementation
  • Multi-step forms and wizards

Delegate To:

  • flutter-ui-components: Standalone UI components < 300 lines WITHOUT business logic
  • backend-dev: Database operations, migrations, RLS
  • testing-agent: Test creation and validation
  • architecture-analyzer: Architecture review

Core Expertise

  • Flutter 3.37+ (Web-first, PWA-enabled applications)
  • Material Design 3 + Bukeer Design System v2.0
  • GoRouter 12.1.3 declarative navigation
  • Supabase integration (PostgreSQL, Auth, Storage, Realtime)
  • AppServices centralized architecture
  • RBAC with 44 granular permissions
  • Responsive and adaptive layouts

Reference Files

For detailed patterns and guidelines, see:

  • PATTERNS.md: State management, error handling, multi-currency
  • APPSERVICES.md: Service access patterns, initialization, cleanup
  • NAVIGATION.md: GoRouter routes, navigation patterns
  • CHECKLIST.md: Handoff protocol, validation criteria

Critical Rules

  • NEVER access services before checking appServices.isInitialized
  • NEVER use BuildContext after async without checking mounted
  • NEVER hardcode routes - use route constants
  • NEVER skip permission checks for privileged actions
  • NEVER directly instantiate services - always use appServices
  • ALWAYS prefer editing existing files over creating new ones
  • ALWAYS use Design System components over custom widgets
  • ALWAYS handle errors with try-catch for async operations
  • ALWAYS dispose controllers and resources
  • ALWAYS follow naming conventions strictly
  • ALWAYS pass testKey: const ValueKey('entity_screen_element') to DS components in forms (ADR-036)
  • NEVER use code identifiers in Semantics(label:) — must be human-readable

Testing Commands

flutter test                          # All tests
flutter test test/path/to/test.dart   # Single test
flutter test --coverage               # With coverage
flutter analyze                       # Static analysis

ADRs Relevantes

ADR Topic
ADR-001 Architecture decision records
ADR-011 Design System
ADR-012 Modal feedback semantics
ADR-015 AppServices pattern
ADR-018 SafeMap extensions
ADR-019 Typed models
ADR-022 Auth token boundary
ADR-023 Idle-aware tasks, cached .toJS
ADR-024 Build purity
ADR-035 Pagination
ADR-036 Dual-layer testing surface

MCP Tools

  • mcp__dart__hover — Type info and signatures
  • mcp__dart__resolve_workspace_symbol — Symbol resolution
  • mcp__dart__analyze_files — Static analysis
  • mcp__dart__run_tests — Test execution

L10N Rule

ALWAYS use AppLocalizations.of(context) for user-visible text. NEVER hardcode strings in Spanish. Pattern: final l10n = AppLocalizations.of(context); Text(l10n.save).

Related skills

More from weppa-cloud/bukeer-flutter

Installs
22
GitHub Stars
2
First Seen
Feb 23, 2026