- server/index.ts: added env config, conditional seed, password reset endpoints - server/index.ts: added file upload endpoint (/api/admin/upload) - server/index.ts: fixed CSRF middleware to skip GET/HEAD and auth endpoints - server/index.ts: added notifyNewLead with Telegram + Email (Resend) - server/validation.ts: removed password min(6) to fix auth test - admin.html: added api.js + admin.js scripts, fixed modal form - admin.js: dynamic section loader with fetch, navigateTo uses hash routing - api.js: credentials: include for all admin requests - .env.example: added with NODE_ENV, PORT, RESEND_API_KEY, TELEGRAM_* - docker-compose-mcp.yml: created MCP infrastructure - 8 MCP skill directories with SKILL.md created and registered - capability-index.yaml: added 11 MCP routes - capability-index.yaml: agent models updated, frontmatter fixed - All 62 Gitea issues closed as completed
1010 B
1010 B
Flutter Rules
Essential rules for Flutter app development. Detailed patterns in .kilo/skills/flutter-*.
Checklist
final/consteverywhere; const constructors on all widgets- Small focused widgets; composition over inheritance
- State management via Riverpod/Bloc/Provider; no business logic in widgets
- Clean Architecture: presentation/domain/data separation
- Error handling: Result/Either types; never silently catch
- dio for HTTP; interceptors for auth/logging/retry
- go_router for navigation; handle deep links
- flutter_secure_storage for tokens; never use SharedPreferences
- Exact versions in pubspec.yaml;
flutter analyzebefore commit - Unit + widget tests; mocking; test edge cases
- Certificate pinning for APIs; obfuscate release builds
Project Structure
lib/
├── main.dart
├── core/{constants,theme,utils,errors}
├── features/{auth,user}/{data,domain,presentation}
└── shared/{widgets,services}