mobiai-flutter
/mobiai-flutter
Wspiera pracę w projekcie Flutter i Dart: budowanie, testowanie, debugowanie oraz zarządzanie stanem i strukturą projektu.
- Autor
- arisguimera ↗
- Repozytorium
- mobiai-core ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 21.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 21.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Wspiera pracę w projekcie Flutter i Dart: budowanie, testowanie, debugowanie oraz zarządzanie stanem i strukturą projektu.
Oryginalny opis (EN)
Use when working on a Flutter or Dart project — building, testing, debugging, understanding state management and project structure.
Jak działa
- When to Use
- Detecting a Flutter Project
- Project Structure
- Build Commands
- State Management Detection
- Testing
- Common Issues
- Tracing Bugs
Podgląd SKILL.md
---
name: mobiai-flutter
description: Use when working on a Flutter or Dart project — building, testing, debugging, understanding state management and project structure.
license: MIT
compatibility: [claude-code, cursor, copilot, codex]
platforms: [flutter]
---
# Flutter / Dart
> **Community contribution welcome!** Help flesh out this skill with Flutter patterns, state management approaches, and real-world workflows.
Guide for working with Flutter projects.
## When to Use
- Working on a Flutter/Dart project
- Debugging widget issues, state management problems, or platform channel errors
- Writing tests for Flutter code
## Detecting a Flutter Project
```bash
# Check for Flutter indicators
ls pubspec.yaml lib/ test/ 2>/dev/null
cat pubspec.yaml | head -20
flutter --version
```
## Project Structure
```
project/
lib/
main.dart # Entry point
app.dart # App widget
features/
home/
home_screen.dart # Screen widget
home_bloc.dart # State management (BLoC example)
home_state.dart
home_event.dart
widgets/ # Feature-specific widgets
core/
models/ # Data models
services/ # API, database
utils/ # Helpers
test/
features/
home/
home_bloc_test.dart
widget_test.dart
pubspec.yaml # Dependencies
analysis_options.yaml # Lint rules
```
## Build Commands
```bash
# Run in debug mode
flutter run
# Build debug APK
flutter build apk --debug
# Build release APK
flutter build apk --release
# Build iOS
flutter build ios --release
# Run analysis (lint)
flutter analyze
# Format code
dart format lib/
```
## State Management Detection
```bash
# BLoC
grep -r "flutter_bloc\|BlocProvider\|BlocBuilder" lib/ --include="*.dart" | head -5
# Riverpod
grep -r "flutter_riverpod\|ProviderScope\|ConsumerWidget" lib/ --include="*.dart" | head -5
# Provider
grep -r "^import.*provider" lib/ --include="*.dart" | head -5
# GetX
grep -r "get:\|GetMaterialApp\|GetxController" lib/ --include="*.dart" | head -5
# MobX
grep -r "flutter_mobx\|Observable\|@action" lib/ --include="*.dart" | head -5
```
## Testing
### Unit Tests
```dart
// test/features/home/home_bloc_test.dart
import 'package:test/test.dart';
void main() {
group('HomeBloc', () {
late HomeBloc bloc;
setUp(() {
bloc = HomeBloc(repository: MockRepository());
});
test('initial state is HomeInitial', () {
expect(bloc.state, isA<HomeInitial>());
});
test('emits [Loading, Loaded] when data fetch succeeds', () {
expectLater(
bloc.stream,
emitsInOrder([isA<HomeLoading>(), isA<HomeLoaded>()]),
);
bloc.add(LoadHomeData());
});
});
}
```
### Widget Tests
```dart
testWidgets('displays loading indicator', (tester) async {
await tester.pumpWidget(
MaterialApp(home: HomeScreen()),
);
expect(find.byType(CircularProgressIndicator), findsOneWidget);
});
```
### Run Tests
```bash
# All tests
flutter test
# Specific file
flutter test test/features/home/home_bloc_test.dart
# With coverage
flutter test --coverage
```
## Common Issues
- **Widget rebuild performance**: Check for unnecessary rebuilds with `const` constructors
- **State management leaks**: Ensure BLoC/controllers are properly disposed
- **Platform channel errors**: Check both Dart and native (Android/iOS) code
- **Hot reload doesn't work**: Try hot restart (`R` in terminal) or full restart
## Tracing Bugs
1. **Check the error in the console** — Flutter errors are usually descriptive
2. **Widget tree issues**: Use Flutter Inspector or `debugDumpApp()`
3. **State management**: Add logging to state transitions
4. **Platform channel**: Check both sides (Dart + native)
---
**Want to improve this skill?** Share your Flutter expertise, architecture patterns, and debugging techniques via a PR.
Wersje
W bazie nie ma innych skilli o nazwie mobiai-flutter.
Migawka bazy z 28.10.2026 · wersja paczki 8829659c45cc (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100mobiai-react-native
Wspiera pracę w projekcie React Native: budowanie, testowanie, debugowanie oraz zrozumienie nawigacji i zarządzania stanem. - 100flutter-expert
Wspiera pracę ze Flutter SDK i Dart: widgety, zarządzanie stanem, architektura, cykl życia i wieloplatformowe tworzenie aplikacji mobilnych. - 100dart-n-flutter
Prowadzi pisanie kodu Dart i Flutter zgodnie z oficjalnymi zaleceniami dla plików .dart. - 85flutter
Pomaga pisać i przeglądać kod Flutter i Dart: strukturę widgetów, zarządzanie stanem, wydajność renderowania i dostosowanie ekranów do iOS i Androida. - 90flutter-best-practices
Prowadzi pisanie, przegląd, refaktoryzację i planowanie kodu Flutter i Dart: ekrany, funkcje, struktura projektu, zarządzanie stanem, widgety, cubity i bloki, repozytoria, serwisy i testy. - 100dart-expert
Pomaga w Dart i Flutter przy aplikacjach mobilnych i wieloplatformowych, w tym widgetach i frameworku Flutter.