Expert guide for automated and manual Web Accessibility (a11y) testing — axe-core, Pa11y, Playwright a11y, screen reader testing, and WCAG 2.2 Level AA/AAA compliance / Panduan ahli pengujian aksesibilitas web.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for Flutter 3.27+ and Dart 3.7+ cross-platform development. Covers Material 3 adaptive theming, Riverpod 3, go_router, Impeller rendering, platform channels, and Firebase/Supabase integration / Panduan ahli pengembangan lintas platform Flutter 3.27+ dan Dart 3.7+.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
<a name="english"></a>
Connects with: brainstorming, zero-to-prod-orchestrator, design-system-architect, ui-ux-pro-max, database-orm-expert, authentication-identity-expert, firebase-security-expert, ci-cd-devops-architect, e2e-testing-expert, apple-ecosystem-expert, session-memory-manager.
Expert guide for building production-grade cross-platform applications using Flutter 3.27+ and Dart 3.7+. Covers Material 3 adaptive theming, Riverpod 3 state management, go_router declarative navigation, Impeller rendering engine, platform channels, custom render objects, and Firebase/Supabase backend integration for iOS, Android, Web, macOS, Windows, and Linux targets.
ColorScheme.fromSeed.dart_frog or shelf using the same Dart codebase.# Create new Flutter project with all platforms
flutter create --platforms=android,ios,web,macos,windows,linux my_app
cd my_app
# Add core dependencies
flutter pub add flutter_riverpod riverpod_annotation
flutter pub add go_router
flutter pub add freezed_annotation json_annotation
flutter pub add dev:riverpod_generator dev:build_runner dev:freezed dev:json_serializable
import 'package:flutter/material.dart';
class AppTheme {
static ThemeData light() => ThemeData(
useMaterial3: true,
colorScheme: ColorScheme.fromSeed(
seedColor: const Color(0xFF1A73E8),
brightness: Brightness.light,
),
typography: Typography.material2021(),
visualDensity: VisualDensity.adaptivePlatformDensity,
);
static ThemeData dark() => ThemeData(
useMaterial3: true,
colorScheme: ColorScheme.fromSeed(
seedColor: const Color(0xFF1A73E8),
brightness: Brightness.dark,
),
typography: Typography.material2021(),
visualDensity: VisualDensity.adaptivePlatformDensity,
);
}
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'user_provider.g.dart';
@riverpod
class UserNotifier extends _$UserNotifier {
@override
FutureOr<User?> build() async {
return await ref.watch(authRepositoryProvider).getCurrentUser();
}
Future<void> signIn(String email, String password) async {
state = const AsyncLoading();
state = await AsyncValue.guard(
() => ref.read(authRepositoryProvider).signIn(email, password),
);
}
}
@riverpod
Future<List<Product>> products(ProductsRef ref, {required String category}) async {
final repo = ref.watch(productRepositoryProvider);
return repo.getByCategory(category);
}
import 'package:go_router/go_router.dart';
final routerProvider = Provider<GoRouter>((ref) {
final authState = ref.watch(authStateProvider);
return GoRouter(
initialLocation: '/',
redirect: (context, state) {
final isLoggedIn = authState.valueOrNull != null;
final isLoginRoute = state.matchedLocation == '/login';
if (!isLoggedIn && !isLoginRoute) return '/login';
if (isLoggedIn && isLoginRoute) return '/';
return null;
},
routes: [
GoRoute(path: '/login', builder: (_, __) => const LoginScreen()),
ShellRoute(
builder: (_, __, child) => AppShell(child: child),
routes: [
GoRoute(path: '/', builder: (_, __) => const HomeScreen()),
GoRoute(
path: '/products/:id',
builder: (_, state) => ProductScreen(
id: state.pathParameters['id']!,
),
),
],
),
],
);
});
import 'package:freezed_annotation/freezed_annotation.dart';
part 'product.freezed.dart';
part 'product.g.dart';
@freezed
class Product with _$Product {
const factory Product({
required String id,
required String name,
required double price,
@Default('') String description,
@Default([]) List<String> imageUrls,
required DateTime createdAt,
}) = _Product;
factory Product.fromJson(Map<String, dynamic> json) =>
_$ProductFromJson(json);
}
// Dart side
class BatteryService {
static const _channel = MethodChannel('com.app/battery');
Future<int> getBatteryLevel() async {
final level = await _channel.invokeMethod<int>('getBatteryLevel');
return level ?? -1;
}
}
// Kotlin side (Android)
class BatteryPlugin : MethodCallHandler {
override fun onMethodCall(call: MethodCall, result: Result) {
if (call.method == "getBatteryLevel") {
val batteryManager = context.getSystemService(Context.BATTERY_SERVICE) as BatteryManager
val level = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY)
result.success(level)
} else {
result.notImplemented()
}
}
}
const wherever possible to skip rebuilds.cached_network_image with CachedNetworkImageProvider.Isolate.run() for CPU-intensive work (JSON parsing, image processing).// Unit test with Riverpod
void main() {
test('UserNotifier signs in successfully', () async {
final container = ProviderContainer(
overrides: [
authRepositoryProvider.overrideWithValue(MockAuthRepository()),
],
);
final notifier = container.read(userNotifierProvider.notifier);
await notifier.signIn('test@example.com', 'password');
expect(container.read(userNotifierProvider).value, isNotNull);
});
}
// Widget test
testWidgets('ProductCard displays name and price', (tester) async {
await tester.pumpWidget(
ProviderScope(
child: MaterialApp(home: ProductCard(product: testProduct)),
),
);
expect(find.text('Test Product'), findsOneWidget);
expect(find.text('\$29.99'), findsOneWidget);
});
// Integration test
integration_test/app_test.dart:
testWidgets('Full purchase flow', (tester) async {
app.main();
await tester.pumpAndSettle();
await tester.tap(find.text('Products'));
await tester.pumpAndSettle();
expect(find.byType(HomeScreen), findsOneWidget);
});
setState for complex state — Use Riverpod 3 with code generation.Isolate.run().const constructors — Causes unnecessary widget rebuilds.Navigator.push — Migrate to go_router declarative navigation.<a name="bahasa-indonesia"></a>
Terhubung dengan: brainstorming, zero-to-prod-orchestrator, design-system-architect, ui-ux-pro-max, database-orm-expert, authentication-identity-expert, firebase-security-expert, ci-cd-devops-architect, e2e-testing-expert, apple-ecosystem-expert, session-memory-manager.
Panduan ahli untuk membangun aplikasi lintas platform tingkat produksi menggunakan Flutter 3.27+ dan Dart 3.7+. Mencakup theming adaptif Material 3, state management Riverpod 3, navigasi deklaratif go_router, mesin rendering Impeller, platform channels, custom render objects, dan integrasi backend Firebase/Supabase untuk target iOS, Android, Web, macOS, Windows, dan Linux.
ColorScheme.fromSeed.lib/
├── main.dart # Entry point & ProviderScope
├── app/ # Router & tema
│ ├── router.dart
│ └── theme.dart
├── features/ # Fitur berbasis domain
│ ├── auth/
│ │ ├── data/ # Repository, data source
│ │ ├── domain/ # Model, entity
│ │ └── presentation/ # Screen, widget, provider
│ └── products/
│ ├── data/
│ ├── domain/
│ └── presentation/
├── shared/ # Widget & utilitas bersama
│ ├── widgets/
│ └── utils/
└── core/ # Konstanta, konfigurasi, DI
├── constants.dart
└── providers.dart
Gunakan @riverpod annotation untuk code generation otomatis. Pilihan provider:
@riverpod (function): Untuk state sederhana, computed values, dan API calls.@riverpod class: Untuk state kompleks yang butuh methods (CRUD operations).AsyncNotifierProvider: Untuk state async dengan loading/error handling bawaan.Gunakan GoRouter dengan ShellRoute untuk navigasi tab, redirect untuk auth guards, dan pathParameters untuk deep linking.
const constructor: Tandai widget const untuk menghindari rebuild yang tidak perlu.RepaintBoundary: Isolasi operasi paint mahal.ListView.builder: Selalu gunakan builder constructor untuk daftar panjang.Isolate.run() untuk komputasi berat (parsing JSON, pemrosesan gambar).ProviderContainer overrides.testWidgets.integration_test package.아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Expert guide for automated and manual Web Accessibility (a11y) testing — axe-core, Pa11y, Playwright a11y, screen reader testing, and WCAG 2.2 Level AA/AAA compliance / Panduan ahli pengujian aksesibilitas web.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for intelligent model cascading and routing — complexity-scored task routing from Flash/Haiku to Sonnet/Opus/Astra, dynamic escalation with quality gates, 40-60% token cost reduction while maintaining output quality / Panduan ahli untuk kaskade dan routing model cerdas — routing tugas berbasis skor kompleksitas dari Flash/Haiku ke Sonnet/Opus/Astra, eskalasi dinamis dengan gerbang kualitas, pengurangan biaya token 40-60% dengan kualitas output terjaga.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for Affective Computing, emotional AI, and real-time sentiment analysis through native multimodal tokens (voice intonation and facial micro-expressions) / Panduan ahli komputasi afektif, AI emosional, dan analisis sentimen real-time melalui token multimodal native.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for AI-assisted coding workflows — agentic code generation, multi-agent code swarms, self-healing CI/CD, automated PR review, spec-to-code pipelines, codebase knowledge graphs, and human-in-the-loop approval gates / Panduan ahli untuk workflow pengkodean berbasis AI — generasi kode agentic, code swarm multi-agen, CI/CD self-healing, review PR otomatis, pipeline spec-to-code, knowledge graph codebase, dan gate persetujuan human-in-the-loop.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for autonomous Machine-to-Machine (M2M) agent settlement, dual-rail fiat & stablecoin micro-clearing, dynamic budget envelopes, and cryptographic agent invoicing / Panduan ahli settlement otonom antar-agen (M2M), kliring mikro dual-rail fiat & stablecoin, pagu anggaran dinamis, dan penagihan agen kriptografis.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for long-term episodic memory integration (Mem0 v2, Letta/MemGPT, Zep v2), memory tier architecture, pgvector HNSW storage, and unified context management for autonomous AI agents / Panduan ahli untuk integrasi memori episodik jangka panjang (Mem0 v2, Letta/MemGPT, Zep v2), arsitektur tier memori, penyimpanan pgvector HNSW, dan manajemen konteks terpadu untuk agen AI otonom.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.