Prerequisites
Before you begin, ensure you have the following installed:- Flutter SDK: Version 3.6.0 or higher
- Dart: Included with Flutter SDK (version 3.6.0+)
- Git: For version control
- IDE: VS Code or Android Studio with Flutter/Dart plugins
Numix follows strict architectural and code quality standards enforced by our AI ecosystem. Familiarize yourself with the
.ai/ directory structure before contributing.Setup Instructions
Install Flutter SDK
Download and install Flutter SDK version 3.6.0 or higher from the official Flutter website.Verify your installation:You should see output confirming Flutter 3.6.0 or higher.
Clone the Repository
Clone the Numix repository to your local machine:Switch to the development branch:
Install Dependencies
Install all required Flutter packages defined in This will install:
pubspec.yaml:- provider (v6.1.5+1): State management
- math_expressions (v3.0.0): Mathematical expression parsing
- shared_preferences (v2.3.2): Local data persistence
- cupertino_icons (v1.0.8): iOS-style icons
Verify Installation
Run the analyzer to ensure your environment is properly configured:This should complete with no errors or warnings.
Run Tests
Execute the test suite to verify everything works correctly:To run tests for specific features:
100% test coverage is mandatory for all mathematical calculation providers. The test suite enforces this for financial accuracy and reliability.
Development Workflow
Branch Strategy
Numix uses a secure DevSecOps workflow:main: Production-ready, stable releases onlydev: Active development branch- Feature branches: Created from
devfor specific features (e.g.,feature/new-calculator)
Pre-Push Validation
Before pushing code or creating a pull request, always run:Verify Math Command
Use the custom verification command to validate mathematical accuracy:Project Structure
Numix follows a Domain-Driven Feature-First architecture:Each feature is completely isolated with its own UI, state management, and business logic. Never cross-import UI components between features unless they’re shared core widgets.
Common Development Tasks
Adding a New Dependency
- Add the package to
pubspec.yaml:
-
Run
flutter pub get -
Update documentation in
.ai/skills/if it introduces new architectural patterns
Debugging
Enable verbose logging:Performance Profiling
Run performance profiling:IDE Setup
VS Code
Recommended extensions:- Flutter
- Dart
- Dart Data Class Generator
- Error Lens
Android Studio
Install:- Flutter plugin
- Dart plugin
analysis_options.yaml (already configured in the project).
Troubleshooting
Build fails with dependency conflicts
Build fails with dependency conflicts
Run the following commands:If issues persist, delete the
pubspec.lock file and run flutter pub get again.Tests fail unexpectedly
Tests fail unexpectedly
Ensure you’re using mock values for SharedPreferences:Check that all test files properly import the test package and set up providers correctly.
Hot reload not working
Hot reload not working
- Stop the current run
- Run
flutter clean - Restart the app with
flutter run
Native build errors (Android/iOS)
Native build errors (Android/iOS)
For Android:For iOS:
Next Steps
- Learn about the AI Ecosystem that maintains code quality
- Review Code Standards before making changes
- Explore the feature-first architecture in the codebase