Files
Krow-workspace/makefiles/mobile.mk
bwnyasse 9517606e7a feat: add CLAUDE.md and GEMINI.md to provide project context for AI
feat: add bug reports and screenshots to bugs directory
feat(mobile): add device id to mobile makefile commands
fix(mobile): update mobile readme with device id instructions
fix(core_localization): update strings.g.dart with latest generation
chore: add flutter ephemeral files to gitignore

The CLAUDE.md and GEMINI.md files were added to provide AI assistants with the necessary context to understand the project structure, key commands, architecture patterns, and code conventions. This will help them generate more accurate and relevant code and documentation.

The bugs directory was added to store bug reports and screenshots, providing a central location for tracking and analyzing issues.

The mobile makefile commands were updated to include the device ID, allowing developers to specify the target device for running mobile apps. The mobile readme was updated with instructions on how to find the device ID.

The strings.g.dart file was updated with the latest generation to ensure that the localization data is up-to-date.

The flutter ephemeral files were added to gitignore to prevent them from being committed to the repository. These files are generated by Flutter for desktop platforms and should not be tracked.
2026-01-31 09:52:36 -05:00

53 lines
2.0 KiB
Makefile

# --- Mobile App Development ---
.PHONY: mobile-install mobile-info mobile-client-dev-android mobile-staff-dev-android mobile-client-build mobile-staff-build
MOBILE_DIR := apps/mobile
# Device ID for running mobile apps (override with DEVICE=<id>)
# Find your device ID with: flutter devices
DEVICE ?= android
# --- General ---
mobile-install: install-melos
@echo "--> Bootstrapping mobile workspace (Melos)..."
@cd $(MOBILE_DIR) && melos bootstrap
@echo "--> Generating localization files..."
@cd $(MOBILE_DIR) && melos run gen:l10n
mobile-info:
@echo "--> Fetching mobile command info..."
@cd $(MOBILE_DIR) && melos run info
# --- Client App ---
mobile-client-dev-android:
@echo "--> Running client app on Android (device: $(DEVICE))..."
@cd $(MOBILE_DIR) && melos run start:client -- -d $(DEVICE)
mobile-client-build:
@if [ -z "$(PLATFORM)" ]; then \
echo "ERROR: PLATFORM is required (e.g. make mobile-client-build PLATFORM=apk)"; exit 1; \
fi
$(eval MODE ?= release)
@echo "--> Building client app for $(PLATFORM) in $(MODE) mode..."
@cd $(MOBILE_DIR) && \
melos exec --scope="core_localization" -- "dart run slang" && \
melos exec --scope="core_localization" -- "dart run build_runner build --delete-conflicting-outputs" && \
melos exec --scope="krowwithus_client" -- "flutter build $(PLATFORM) --$(MODE)"
# --- Staff App ---
mobile-staff-dev-android:
@echo "--> Running staff app on Android (device: $(DEVICE))..."
@cd $(MOBILE_DIR) && melos run start:staff -- -d $(DEVICE)
mobile-staff-build:
@if [ -z "$(PLATFORM)" ]; then \
echo "ERROR: PLATFORM is required (e.g. make mobile-staff-build PLATFORM=apk)"; exit 1; \
fi
$(eval MODE ?= release)
@echo "--> Building staff app for $(PLATFORM) in $(MODE) mode..."
@cd $(MOBILE_DIR) && \
melos exec --scope="core_localization" -- "dart run slang" && \
melos exec --scope="core_localization" -- "dart run build_runner build --delete-conflicting-outputs" && \
melos exec --scope="krowwithus_staff" -- "flutter build $(PLATFORM) --$(MODE)"