feat: enhance documentation and update dependencies in mobile feature builder and development rules

This commit is contained in:
Achintha Isuru
2026-03-07 02:19:14 -05:00
parent 9782462a66
commit 0f5ceb8003
4 changed files with 17 additions and 32 deletions

View File

@@ -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 `BlocProvider.value()` for singleton BLoCs
- Use `UiColors`, `UiTypography`, `UiIcons`, `UiConstants` for all design values - Use `UiColors`, `UiTypography`, `UiIcons`, `UiConstants` for all design values
- Use `core_localization` for user-facing strings - Use `core_localization` for user-facing strings
- Write unit tests for use cases and repositories - Add human readable doc comments for `dartdoc` for all classes and methods.
- Mock dependencies with `mocktail`
- Test BLoCs with `bloc_test`
## Standard Workflow ## Standard Workflow
@@ -109,7 +107,6 @@ Follow these steps in order for every feature implementation:
### 8. Self-Review ### 8. Self-Review
- Run `melos analyze` and fix all issues - Run `melos analyze` and fix all issues
- Run `melos test` and ensure all pass
- Manually verify no architectural violations exist - Manually verify no architectural violations exist
- Check all barrel files are complete - Check all barrel files are complete
- Verify no hardcoded design values - Verify no hardcoded design values
@@ -150,9 +147,7 @@ Before declaring work complete, verify:
- [ ] BLoCs only depend on use cases - [ ] BLoCs only depend on use cases
- [ ] Use cases only depend on repository interfaces - [ ] Use cases only depend on repository interfaces
- [ ] All barrel files are complete and up to date - [ ] All barrel files are complete and up to date
- [ ] Tests exist for use cases, repositories, and BLoCs
- [ ] `melos analyze` passes - [ ] `melos analyze` passes
- [ ] `melos test` passes
## Escalation Criteria ## Escalation Criteria
@@ -168,7 +163,6 @@ Stop and escalate to the human when you encounter:
After completing implementation, prepare a handoff summary including: After completing implementation, prepare a handoff summary including:
- Feature name and target app - Feature name and target app
- List of all changed/created files - List of all changed/created files
- Test coverage percentage
- Any concerns, trade-offs, or technical debt introduced - Any concerns, trade-offs, or technical debt introduced
- Recommendation for Architecture Review Agent review - 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 - Session store usage patterns and available stores
- DataConnect query/mutation names and their locations - DataConnect query/mutation names and their locations
- Design token values and component patterns actually in use - Design token values and component patterns actually in use
- Common test setup patterns and shared test utilities
- Module registration patterns and route conventions - 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 - Codebase-specific naming conventions that differ from general Flutter conventions
This builds institutional knowledge that improves your effectiveness across conversations. This builds institutional knowledge that improves your effectiveness across conversations.

View File

@@ -585,7 +585,7 @@ testWidgets('shows loading indicator when logging in', (tester) async {
## 11. Clean Code Principles ## 11. Clean Code Principles
### Documentation ### Documentation
- ✅ Add doc comments to all public classes and methods - ✅ Add human readable doc comments for `dartdoc` for all classes and methods.
```dart ```dart
/// Authenticates user with email and password. /// Authenticates user with email and password.
/// ///

View File

@@ -328,9 +328,9 @@ class _ShiftDetailsPageState extends State<ShiftDetailsPage> {
backgroundColor: UiColors.bgPopup, backgroundColor: UiColors.bgPopup,
shape: RoundedRectangleBorder(borderRadius: UiConstants.radiusLg), shape: RoundedRectangleBorder(borderRadius: UiConstants.radiusLg),
title: Row( title: Row(
spacing: UiConstants.space2,
children: [ children: [
const Icon(UiIcons.warning, color: UiColors.error), const Icon(UiIcons.warning, color: UiColors.error),
const SizedBox(width: UiConstants.space2),
Expanded( Expanded(
child: Text( child: Text(
context.t.staff_shifts.shift_details.eligibility_requirements, context.t.staff_shifts.shift_details.eligibility_requirements,
@@ -350,7 +350,7 @@ class _ShiftDetailsPageState extends State<ShiftDetailsPage> {
UiButton.primary( UiButton.primary(
text: "Go to Certificates", text: "Go to Certificates",
onPressed: () { onPressed: () {
Navigator.of(ctx).pop(); Modular.to.popSafe();
Modular.to.toCertificates(); Modular.to.toCertificates();
}, },
), ),

View File

@@ -141,10 +141,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: characters name: characters
sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.4.0" version: "1.4.1"
charcode: charcode:
dependency: transitive dependency: transitive
description: description:
@@ -853,14 +853,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.5" version: "1.0.5"
js:
dependency: transitive
description:
name: js
sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc"
url: "https://pub.dev"
source: hosted
version: "0.7.2"
json_annotation: json_annotation:
dependency: transitive dependency: transitive
description: description:
@@ -929,18 +921,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: matcher name: matcher
sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.12.17" version: "0.12.18"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.11.1" version: "0.13.0"
melos: melos:
dependency: "direct dev" dependency: "direct dev"
description: description:
@@ -1516,26 +1508,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test name: test
sha256: "75906bf273541b676716d1ca7627a17e4c4070a3a16272b7a3dc7da3b9f3f6b7" sha256: "54c516bbb7cee2754d327ad4fca637f78abfc3cbcc5ace83b3eda117e42cd71a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.26.3" version: "1.29.0"
test_api: test_api:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 sha256: "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.7" version: "0.7.9"
test_core: test_core:
dependency: transitive dependency: transitive
description: description:
name: test_core name: test_core
sha256: "0cc24b5ff94b38d2ae73e1eb43cc302b77964fbf67abad1e296025b78deb53d0" sha256: "394f07d21f0f2255ec9e3989f21e54d3c7dc0e6e9dbce160e5a9c1a6be0e2943"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.6.12" version: "0.6.15"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description: