135 lines
3.8 KiB
Markdown
135 lines
3.8 KiB
Markdown
# Suggested Commands
|
|
|
|
## Flutter Development
|
|
|
|
### Running the App
|
|
```bash
|
|
flutter run # Run app on connected device/emulator
|
|
flutter run -d chrome # Run on Chrome (web)
|
|
flutter run -d macos # Run on macOS
|
|
flutter run --release # Run in release mode
|
|
flutter run --verbose # Run with verbose logging
|
|
```
|
|
|
|
### Development Tools
|
|
```bash
|
|
flutter doctor # Check Flutter installation and dependencies
|
|
flutter pub get # Install/update dependencies
|
|
flutter pub outdated # Check for outdated packages
|
|
flutter pub upgrade # Upgrade packages
|
|
flutter clean # Clean build artifacts
|
|
flutter analyze # Run static analysis/linting
|
|
flutter test # Run all tests
|
|
flutter test test/widget_test.dart # Run specific test file
|
|
flutter logs # Show logs from running app
|
|
```
|
|
|
|
### Code Generation
|
|
**IMPORTANT**: Required after modifying models or providers!
|
|
|
|
```bash
|
|
# Generate code for Freezed models and Riverpod providers
|
|
flutter pub run build_runner build
|
|
|
|
# Generate and delete conflicting outputs (recommended)
|
|
flutter pub run build_runner build --delete-conflicting-outputs
|
|
|
|
# Watch mode - automatically regenerate on file changes
|
|
flutter pub run build_runner watch
|
|
|
|
# Clean generated files
|
|
flutter pub run build_runner clean
|
|
```
|
|
|
|
When to run code generation:
|
|
- After creating/modifying any `@freezed` model classes
|
|
- After creating/modifying any `@riverpod` providers
|
|
- After adding/changing `@JsonSerializable` models
|
|
- If you see "undefined" errors for generated classes
|
|
|
|
### Building
|
|
```bash
|
|
flutter build apk # Build Android APK
|
|
flutter build appbundle # Build Android App Bundle (for Play Store)
|
|
flutter build ios # Build iOS app
|
|
flutter build web # Build web app
|
|
flutter build macos # Build macOS app
|
|
```
|
|
|
|
### Database Operations
|
|
```bash
|
|
# The app uses SQLite - no special commands needed
|
|
# Database file location: app data directory (platform-specific)
|
|
# Database version is managed by DatabaseHelper
|
|
```
|
|
|
|
## Project-Specific
|
|
|
|
### Dependencies Overview
|
|
- **State Management**: Riverpod (requires code generation)
|
|
- **Models**: Freezed (requires code generation)
|
|
- **HTTP**: Dio
|
|
- **Database**: sqflite
|
|
- **XML Parsing**: xml
|
|
- **EPUB Reader**: flutter_epub_viewer
|
|
- **Routing**: go_router
|
|
|
|
### Common Development Workflow
|
|
```bash
|
|
# 1. Make changes to models/providers
|
|
# 2. Run code generation
|
|
flutter pub run build_runner build --delete-conflicting-outputs
|
|
# 3. Run the app
|
|
flutter run
|
|
# 4. Check for issues
|
|
flutter analyze
|
|
```
|
|
|
|
## Git Commands
|
|
```bash
|
|
git status # Check repository status
|
|
git add <file> # Stage files
|
|
git commit -m "message" # Commit changes
|
|
git push # Push to remote
|
|
git pull # Pull from remote
|
|
git log --oneline -n 10 # View recent commits
|
|
```
|
|
|
|
## System Utilities (macOS/Darwin)
|
|
```bash
|
|
ls -la # List files with details
|
|
find . -name "pattern" # Find files
|
|
grep -r "pattern" . # Search in files
|
|
cd <directory> # Change directory
|
|
pwd # Print working directory
|
|
```
|
|
|
|
## Debugging
|
|
|
|
### Flutter DevTools
|
|
```bash
|
|
flutter pub global activate devtools # Install DevTools
|
|
flutter pub global run devtools # Launch DevTools
|
|
```
|
|
|
|
### Logs and Debugging
|
|
```bash
|
|
flutter run --verbose # Run with verbose output
|
|
flutter logs # Show logs from running app
|
|
adb logcat # Android logs (if using adb)
|
|
```
|
|
|
|
### Common Issues
|
|
```bash
|
|
# If build errors persist:
|
|
flutter clean
|
|
flutter pub get
|
|
flutter pub run build_runner build --delete-conflicting-outputs
|
|
|
|
# If device not recognized:
|
|
flutter doctor -v
|
|
adb devices # For Android
|
|
|
|
# If dependencies are conflicting:
|
|
flutter pub upgrade --major-versions
|
|
```
|