|
| 1 | +# Repository Guidelines |
| 2 | + |
| 3 | +## Project Structure & Module Organization |
| 4 | + |
| 5 | +- `packages/`: Dart/Flutter packages. Core at `packages/core`, public wrapper at `packages/enhanced`, and feature add‑ons under `packages/fwfh_*`. |
| 6 | +- `demo_app/`: Example Flutter app for manual testing and screenshots. |
| 7 | +- `tool/`: Helper scripts (notably `tool/test.sh`). |
| 8 | +- `docs/`, `.github/`: Documentation and CI. |
| 9 | + - Use `context7CompatibleLibraryID=/flutter/website` with `context7.get-library-docs` tool for latest Flutter documentation. |
| 10 | +- Tests live in each package’s `test/` and in `demo_app/test/`. Golden assets are under `test/images/`. |
| 11 | + |
| 12 | +## Build, Test, and Development Commands |
| 13 | + |
| 14 | +- Install latest deps: `./tool/pub-get.sh`. |
| 15 | +- Analyze all + run tests: `./tool/test.sh` (accepts extra flags like `--coverage` or `--update-goldens`). |
| 16 | +- Format code: `dart format .`. |
| 17 | +- Per‑package checks: `flutter analyze` and `flutter test` from each package dir. |
| 18 | + |
| 19 | +## Coding Style & Naming Conventions |
| 20 | + |
| 21 | +- Dart style with 2‑space indentation; keep lines focused and readable. |
| 22 | +- Lints: `package:lint` plus repo rules (see each `analysis_options.yaml`). Prefer relative imports, avoid relative `lib/` imports. |
| 23 | +- Names: classes `PascalCase`, members `camelCase`, constants `SCREAMING_SNAKE_CASE`, private with leading `_`. |
| 24 | + |
| 25 | +## Testing Guidelines |
| 26 | + |
| 27 | +- Frameworks: `flutter_test`, `test`, and `golden_toolkit` for widget/golden tests. |
| 28 | +- Location: place tests next to code in `package/test/*.dart` with `_test.dart` suffix. |
| 29 | +- Goldens: store expected images under `test/images/`; regenerate with `--update-goldens` and review diffs. |
| 30 | +- Web interop (when applicable): see `packages/fwfh_webview` integration tests; ensure Chrome/driver available if running locally. |
0 commit comments