- Introduced mobile-feature-builder agent for implementing and modifying mobile features with Clean Architecture principles.
- Added release-deployment agent for managing mobile application releases, including versioning, changelog updates, and hotfix workflows.
- Created ui-ux-design agent for UI/UX design tasks, including mockups, design reviews, and accessibility compliance.
- Deleted .agents/skills/krow-mobile-data-connect/ directory
- Updated README.md to remove all references
- Now maintaining 4 core mobile skills instead of 5
Created comprehensive skills covering development rules, architecture, design system, release process, and Data Connect patterns. Total 3,935 lines extracted from mobile documentation.
Change exported keystore environment variable names to remove the app-specific suffix so build.gradle.kts can read CM_KEYSTORE_PATH, CM_KEYSTORE_PASSWORD, CM_KEY_ALIAS, and CM_KEY_PASSWORD. Also ensure CI=true is exported and add informational echo output showing the keystore path and exported variables for easier debugging.
Switch CreateOrderDialog to the new team hubs API: replace useListHubs with useListTeamHubs, iterate hubsData.teamHubs, and show h.hubName in the Select. Also adjust pnpm configuration: add packages: ['.'] to pnpm-workspace.yaml and remove the overrides block from pnpm-lock.yaml (overrides moved into the workspace file). These changes align the UI with the updated dataconnect-generated API shape and correct the pnpm workspace setup.
Delete docs/MILESTONES/M4/Seed/README.md and docs/MILESTONES/M4/Seed/seed.gql. The removed README provided instructions and inventory for the M4 validation DB seed and seed.gql contained the full @transaction GraphQL mutation used to populate that seed. Removes the M4 seed artifacts from the docs; restore from source control or consult the team if the seed is still required.
Fixed line 168 syntax error caused by sed command with backslash continuation.
Replaced:
sed -i "1 a\\\
\\
$HOTFIX_ENTRY" "$CHANGELOG_PATH"
With simpler approach:
- Extract title line
- Extract body
- Reconstruct file with hotfix entry inserted
This avoids YAML parsing issues with backslash escaping.
Redirect script informational/warning output to stderr and improve robustness of release tooling. Changes include:
- Redirect many echo messages to stderr so scripts can emit machine-readable output on stdout.
- Extract-release-notes: better parsing of CHANGELOG entries (tries v-prefixed and non-prefixed headings, cleaner note formatting) and improved fallbacks when changelog is missing.
- Extract-version: accept versions with +build or -suffix, add diagnostic output when pubspec is missing, and tighten validation.
- Setup/verify APK signing: more consistent stderr logging and clearer warnings; ensure keystore decoding/logging is visible.
- Minor script usage message fixes (generate-tag-name, attach-apk-to-release).
- CI/workflows: change backend-foundation, mobile-ci, and web-quality triggers to workflow_dispatch (manual runs); update product-release (make scripts step label emoji, remove node cache lines, bump Flutter to 3.38.x).
These changes improve CI reliability, make scripts friendlier for automated consumers, and fix release note/version parsing edge cases.
Rename mobile app directories (client_app -> client, staff_app -> staff) and normalize changelog version tags from `0.0.1-M3` to `v0.0.1-m3` in the affected CHANGELOG.md files to standardize folder naming and version formatting.
Updated extract-release-notes.sh to follow new format:
**Environment:** {ENV}
**Tag:** {TAG}
## What is new in this release
{changelog content}
Improvements:
- Moved environment and tag info to the top
- Added 'What is new in this release' heading
- Improved awk pattern to properly extract changelog sections
- Support both [vX.Y.Z] and [X.Y.Z] version formats in CHANGELOG
- Removes unnecessary app name and separator lines
Testing:
✅ worker-mobile-app: Extracts content from apps/mobile/apps/staff/CHANGELOG.md
✅ client-mobile-app: Extracts content from apps/mobile/apps/client/CHANGELOG.md
✅ Handles [v0.0.1-m3] format correctly
Updated workflows to use workflow_dispatch instead of pull_request/push:
- backend-foundation.yml: Removed pull_request and push triggers
- mobile-ci.yml: Removed pull_request and push triggers with path filters
- web-quality.yml: Removed pull_request and push triggers
Workflows now only run manually via Actions tab. This gives more control over when CI runs and reduces unnecessary workflow executions.
- Replace bash [[ ]] regex test with grep -Eq for better portability
- Add debug output showing pwd and directory listing on file not found
- Use explicit regex groups for + and - separately for better compatibility
- Keep full version format (0.0.1-m3 or 1.2.3+456) instead of stripping suffix
- Tags now include full version: krow-withus-worker-mobile/dev-v0.0.1-m3
- Remove invalid Node.js cache path that was causing resolution errors
Fixed workflow failure by ensuring only data goes to stdout, not informational messages. Also added support for version format X.Y.Z-suffix in addition to X.Y.Z+build.
Add four new helper scripts for mobile APK workflows: setup-apk-signing.sh (decode keystores and export signing env vars), verify-apk-signature.sh (check and display APK certificate info), attach-apk-to-release.sh (rename and upload APK to a GitHub Release), and setup-mobile-github-secrets.sh (helper to generate/show required GitHub Secrets). Update product-release.yml to expose version/tag outputs and add a build-mobile-artifacts job that sets up Java/Flutter, installs deps, configures signing from repository secrets, builds APKs for worker/client apps, verifies signatures, uploads artifacts, and optionally attaches the APK to the GitHub Release. Secrets and envvar naming conventions are handled to support dev/staging/prod keystores; documentation references (docs/RELEASE/APK_SIGNING_SETUP.md) are noted in scripts.
- Updated Makefile to include new command for setting up mobile CI secrets.
- Enhanced tools.mk with setup-mobile-ci-secrets target.
- Created setup-mobile-github-secrets.sh script for configuring GitHub Secrets for APK signing.
- Added APK signing implementation summary documentation.
- Created detailed APK signing setup guide.
- Added GitHub secrets checklist for easy reference.
Standardize prerelease version tags for mobile apps. Updated client and staff pubspecs to use 0.0.1-m3 instead of their previous Iliana*-M3 suffixed versions:
- apps/mobile/apps/client/pubspec.yaml: 0.0.1-IlianaClientM3 -> 0.0.1-m3
- apps/mobile/apps/staff/pubspec.yaml: 0.0.1-IlianaStaffM3 -> 0.0.1-m3
This keeps version naming consistent across the mobile projects.
Add CI/CD and release automation assets: new GitHub Actions workflows (backend-foundation, hotfix-branch-creation, mobile-ci, product-release, web-quality), shell scripts for version/tag/release-note extraction and release-summary generation (.github/scripts/*), and a Pull Request template. Implements hotfix branch creation from tags, automatic tag name generation, version extraction from pubspec.yaml, CHANGELOG-based release notes extraction, selective mobile CI (detects changed files, builds and lints only affected Dart files), backend service test dry-runs, and automated GitHub release creation with summaries.