diff --git a/.claude/agents/mobile-feature-builder.md b/.claude/agents/mobile-feature-builder.md index 02364f33..2923b110 100644 --- a/.claude/agents/mobile-feature-builder.md +++ b/.claude/agents/mobile-feature-builder.md @@ -54,9 +54,7 @@ If any of these files are missing or unreadable, notify the user before proceedi - Use `BlocProvider.value()` for singleton BLoCs - Use `UiColors`, `UiTypography`, `UiIcons`, `UiConstants` for all design values - Use `core_localization` for user-facing strings -- Write unit tests for use cases and repositories -- Mock dependencies with `mocktail` -- Test BLoCs with `bloc_test` +- Add human readable doc comments for `dartdoc` for all classes and methods. ## Standard Workflow @@ -109,7 +107,6 @@ Follow these steps in order for every feature implementation: ### 8. Self-Review - Run `melos analyze` and fix all issues -- Run `melos test` and ensure all pass - Manually verify no architectural violations exist - Check all barrel files are complete - Verify no hardcoded design values @@ -150,9 +147,7 @@ Before declaring work complete, verify: - [ ] BLoCs only depend on use cases - [ ] Use cases only depend on repository interfaces - [ ] All barrel files are complete and up to date -- [ ] Tests exist for use cases, repositories, and BLoCs - [ ] `melos analyze` passes -- [ ] `melos test` passes ## Escalation Criteria @@ -168,7 +163,6 @@ Stop and escalate to the human when you encounter: After completing implementation, prepare a handoff summary including: - Feature name and target app - List of all changed/created files -- Test coverage percentage - Any concerns, trade-offs, or technical debt introduced - Recommendation for Architecture Review Agent review @@ -179,9 +173,8 @@ As you work on features, update your agent memory with discoveries about: - Session store usage patterns and available stores - DataConnect query/mutation names and their locations - Design token values and component patterns actually in use -- Common test setup patterns and shared test utilities - Module registration patterns and route conventions -- Recurring issues found during `melos analyze` or `melos test` +- Recurring issues found during `melos analyze` - Codebase-specific naming conventions that differ from general Flutter conventions This builds institutional knowledge that improves your effectiveness across conversations. diff --git a/.claude/skills/krow-mobile-development-rules/SKILL.md b/.claude/skills/krow-mobile-development-rules/SKILL.md index a15331f5..4f4adc0f 100644 --- a/.claude/skills/krow-mobile-development-rules/SKILL.md +++ b/.claude/skills/krow-mobile-development-rules/SKILL.md @@ -585,7 +585,7 @@ testWidgets('shows loading indicator when logging in', (tester) async { ## 11. Clean Code Principles ### Documentation -- ✅ Add doc comments to all public classes and methods +- ✅ Add human readable doc comments for `dartdoc` for all classes and methods. ```dart /// Authenticates user with email and password. /// diff --git a/apps/mobile/packages/features/staff/shifts/lib/src/presentation/pages/shift_details_page.dart b/apps/mobile/packages/features/staff/shifts/lib/src/presentation/pages/shift_details_page.dart index 06fd236f..11caa4ac 100644 --- a/apps/mobile/packages/features/staff/shifts/lib/src/presentation/pages/shift_details_page.dart +++ b/apps/mobile/packages/features/staff/shifts/lib/src/presentation/pages/shift_details_page.dart @@ -328,9 +328,9 @@ class _ShiftDetailsPageState extends State { backgroundColor: UiColors.bgPopup, shape: RoundedRectangleBorder(borderRadius: UiConstants.radiusLg), title: Row( + spacing: UiConstants.space2, children: [ const Icon(UiIcons.warning, color: UiColors.error), - const SizedBox(width: UiConstants.space2), Expanded( child: Text( context.t.staff_shifts.shift_details.eligibility_requirements, @@ -350,7 +350,7 @@ class _ShiftDetailsPageState extends State { UiButton.primary( text: "Go to Certificates", onPressed: () { - Navigator.of(ctx).pop(); + Modular.to.popSafe(); Modular.to.toCertificates(); }, ), diff --git a/apps/mobile/pubspec.lock b/apps/mobile/pubspec.lock index 7fd533da..3b76b755 100644 --- a/apps/mobile/pubspec.lock +++ b/apps/mobile/pubspec.lock @@ -141,10 +141,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" charcode: dependency: transitive description: @@ -853,14 +853,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.5" - js: - dependency: transitive - description: - name: js - sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc" - url: "https://pub.dev" - source: hosted - version: "0.7.2" json_annotation: dependency: transitive description: @@ -929,18 +921,18 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6" url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.18" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" melos: dependency: "direct dev" description: @@ -1516,26 +1508,26 @@ packages: dependency: transitive description: name: test - sha256: "75906bf273541b676716d1ca7627a17e4c4070a3a16272b7a3dc7da3b9f3f6b7" + sha256: "54c516bbb7cee2754d327ad4fca637f78abfc3cbcc5ace83b3eda117e42cd71a" url: "https://pub.dev" source: hosted - version: "1.26.3" + version: "1.29.0" test_api: dependency: transitive description: name: test_api - sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 + sha256: "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636" url: "https://pub.dev" source: hosted - version: "0.7.7" + version: "0.7.9" test_core: dependency: transitive description: name: test_core - sha256: "0cc24b5ff94b38d2ae73e1eb43cc302b77964fbf67abad1e296025b78deb53d0" + sha256: "394f07d21f0f2255ec9e3989f21e54d3c7dc0e6e9dbce160e5a9c1a6be0e2943" url: "https://pub.dev" source: hosted - version: "0.6.12" + version: "0.6.15" typed_data: dependency: transitive description: