Add .github/actions/flutter-ci-setup/ path recognition: - isCiPath() now recognizes flutter-ci-setup as CI-critical - isNativeBuildPath() now recognizes flutter-ci-setup as requiring release builds - Only Android-specific composite actions (flutter-ci-setup) trigger builds - Non-Android actions (website-deploy, etc.) are not recognized as CI-critical Add comprehensive test coverage: - Test composite action path classification (7 new tests added) - Verify workflow YAML for output mapping and release condition - Ensure non-Android actions are correctly skipped - Test workflow condition evaluation for all scenarios Test results: 65/65 passing (all new tests verify the composite action fix) Flutter-ci-setup is a composite action used by Android workflow jobs (analysis, test, and debug APK), so changes to it must trigger Android verification and release builds. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .agents/skills | ||
| .continue/mcpServers | ||
| .github | ||
| .token-optimizer/wiki | ||
| .wrangler/cache | ||
| android | ||
| assets | ||
| backend/motorsignal_api | ||
| cloudflare/motorsignal-r2-worker | ||
| docs | ||
| field_test_export_ride3_unzipped | ||
| field_test_export_ride4_unzipped | ||
| field_test_export_unzipped/field_test_session | ||
| firebase/emulator-tests | ||
| integration_test | ||
| ios | ||
| lib | ||
| linux | ||
| macos | ||
| patrol_test | ||
| qa_screenshots | ||
| ride_logs | ||
| scripts | ||
| server/waze_relay | ||
| test | ||
| tool | ||
| tools | ||
| web | ||
| website | ||
| windows | ||
| .firebaserc | ||
| .gitattributes | ||
| .gitignore | ||
| .metadata | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| GEMINI.md | ||
| PRODUCT.md | ||
| README.md | ||
| analysis_options.yaml | ||
| azure-pipelines.yml | ||
| field_test_export.zip | ||
| field_test_export_ride3.zip | ||
| field_test_export_ride4.zip | ||
| firebase.emulator.json | ||
| firebase.json | ||
| firestore.indexes.json | ||
| firestore.rules | ||
| fix_exceptions.dart | ||
| generate_icon.dart | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| release_manifest.json | ||
| serve_apk.js | ||
| skills-lock.json | ||
README.md
Motorcycle Digital Dashboard 🏍️
A high-performance, dark-themed telemetry and analytics dashboard for motorcycles, built with Flutter.
Features
- Real-time Telemetry: Uses GPS and IMU sensors to calculate speed, lean angle (bank), and acceleration/braking G-forces.
- Automatic Ride Recording: Automatically starts tracking when movement is detected and logs your trip.
- Performance Analysis: Automatically measures 0-60 MPH and 0-100 MPH acceleration times.
- Ride History & Replay: View past rides, replay telemetry synchronized with a Google Map.
- Audio Alerts: Text-to-speech alerts for milestones and ride states to keep your eyes on the road.
- Data Export: Export your ride telemetry to
.csvor.gpxfor external analysis.
Setup & Building
- Ensure you have the Flutter SDK installed.
- Clone this repository.
- Run
flutter pub getto fetch dependencies. - Add your Google Maps API key in
android/app/src/main/AndroidManifest.xml(replaceYOUR_API_KEY_HERE). - Run
flutter runorflutter build apk.
Architecture
- Framework: Flutter (Material 3).
- State Management: Riverpod for reactive UI state.
- Database: Drift (SQLite) for robust, local storage.
- Sensor Fusion: Complementary filter combining accelerometer and gyroscope for precise lean angles.
Documentation
The active documentation map and dated evidence archive are indexed in docs/README.md.
Disclaimer
This application relies on the accuracy of your smartphone's internal sensors. It should be securely mounted to the motorcycle using a rigid mount. Do not interact with the screen while riding. Ride safely!