Profiles
Build configurations for different environments and feature sets.
Overview
Profiles define:
- Which tesserae (modules) are active
- Default tessera for the profile
- Custom build/run commands
- Environment-specific configurations
Configuration
mosaic.yaml:
profiles:
development:
default: app
tesserae: [app, auth, dashboard, debug_tools]
commands:
test: "flutter test"
run: "flutter run"
build: "flutter build apk"
production:
default: app
tesserae: [app, auth, dashboard, analytics]
run: "flutter run --release"
build: "flutter build apk --release"
Commands
# List profiles
mosaic profile list
# Switch active profile
mosaic profile switch production
# Show profile details
mosaic profile show development
# Add tessera to profile
mosaic profile add auth development
# Remove tessera from profile
mosaic profile remove debug_tools production
# Set default tessera
mosaic profile set-default app development
# Sync profile (generate init files)
mosaic profile sync development
Execution
# Run with profile
mosaic run development
# Build with profile
mosaic build production
# Execute custom command
mosaic exec test development
Use Cases
Development Profile:
- All modules enabled
- Debug tools included
- Fast hot reload
Production Profile:
- Only essential modules
- Analytics enabled
- Optimized builds
Testing Profile:
- Mock services
- Test utilities
- Specific test modules