Skip to content

Commit e16ffea

Browse files
authored
chore: add Copilot instructions (#3074)
1 parent 10fa155 commit e16ffea

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

.github/copilot-instructions.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Project Overview
2+
3+
**PSLab App** is a Flutter cross-platform application for performing
4+
scientific experiments with the Pocket Science Lab (PSLab) open-hardware
5+
platform. It provides instruments like oscilloscope, multimeter, wave
6+
generator, logic analyzer, and various sensor interfaces.
7+
8+
## Tech Stack
9+
10+
- **Framework**: Flutter (stable channel)
11+
- **Language**: Dart
12+
- **State Management**: Provider pattern
13+
- **Dependency Injection**: GetIt (service locator pattern)
14+
- **Supported Platforms**: Android (primary), iOS, Linux, macOS, Windows, Web
15+
16+
## Repository Structure
17+
18+
```text
19+
pslab-app/
20+
├── android/ # Android-specific platform code
21+
├── ios/ # iOS-specific platform code
22+
├── linux/ # Linux-specific platform code
23+
├── macos/ # macOS-specific platform code
24+
├── windows/ # Windows-specific platform code
25+
├── web/ # Web-specific platform code
26+
├── lib/ # Code shared by all platforms
27+
│ ├── communication/ # Hardware communication layer (USB, sensors, peripherals)
28+
│ ├── providers/ # State management (Provider pattern, ~32 files)
29+
│ ├── view/ # UI screens and widgets
30+
│ ├── models/ # Data models
31+
│ ├── theme/ # App theming and colors
32+
│ ├── l10n/ # Localization (i18n) files
33+
│ ├── others/ # Utilities and helpers
34+
│ ├── constants.dart # App-wide constants
35+
│ └── main.dart # App entry point
36+
├── test/ # Unit tests
37+
├── test_integration/# Integration tests
38+
├── assets/ # Images, icons, and other assets
39+
├── .github/
40+
│ ├── workflows/ # CI/CD workflows
41+
│ └── actions/ # Reusable GitHub Actions
42+
├── scripts/ # Build and deployment scripts
43+
└── pubspec.yaml # Dependencies and project configuration
44+
```
45+
46+
## Coding Standards
47+
48+
- Adhere to the coding style described in <https://dart.dev/effective-dart/style>.
49+
- Adhere to the SOLID design principles described in <https://simple.wikipedia.org/wiki/SOLID_(object-oriented_design)>.
50+
- Adhere to Object-Oriented Design best practices described in <http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod>.
51+
- Keep in mind the architecture recommendations described in <https://docs.flutter.dev/app-architecture/guide>.
52+
53+
## Commit Style
54+
55+
- Adhere to the commit style described in the file `commitstyle.md` in
56+
the `docs` folder of this project.
57+
58+
## UI guidelines
59+
60+
- The UI of the app must be consistent
61+
- The UI of the app should adhere to the best practices for adaptive design described
62+
in <https://docs.flutter.dev/ui/adaptive-responsive/best-practices>.

0 commit comments

Comments
 (0)