This guide will help you set up your development environment to contribute to Icarus.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/SunkenInTime/icarus/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
FVM (Flutter Version Management)
Icarus uses FVM to pin the Flutter version. FVM is required - the project is pinned to Flutter3.38.4 via .fvmrc.
Install FVM:
fvm:
Platform-Specific Dependencies
- Linux
- Windows
- macOS
Install the required build dependencies:Install XDG user directories (required by
path_provider plugin):Installation
Install Flutter version via FVM
FVM will read the
.fvmrc file and install the correct Flutter version:Running the App
Linux
Windows
macOS
Development Workflow
Linting
Run the analyzer to check for issues:Expect ~70 pre-existing warnings/infos (unused imports, deprecated APIs). There should be no errors.
Code Generation
After making changes to models or providers, regenerate code:Hot Reload
Flutter supports hot reload during development. Pressr in the terminal where you ran flutter run to hot reload changes.
Testing
Troubleshooting
MissingPlatformDirectoryException (Linux)
If the app crashes on Linux with this exception, install XDG user directories:Build Runner Conflicts
If you encounter conflicts during code generation, use the--delete-conflicting-outputs flag: