Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .fvmrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"flutter": "3.44.0"
"flutter": "3.44.6"
}
22 changes: 10 additions & 12 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,22 @@ Use the repo-pinned Flutter SDK via FVM to avoid version drift.

```bash
fvm use --force
dart pub global activate melos
melos bootstrap
fvm dart run melos bootstrap
```

> Required by workspace config: Dart `>=3.12.0`, Flutter `>=3.44.0`.
> Required by workspace config: Dart `>=3.12.0`, Flutter `>=3.44.6`.

## High-signal commands (run from repo root)
- Analyze: `melos run analyze`
- Auto-fix: `melos run fix`
- Generate code: `melos run build_runner:build`
- Unit/widget tests: `melos run test`
- Integration tests (Linux): `melos run test:integration`
- Web smoke tests: `melos run test:e2e:web`
- Analyze: `fvm dart run melos run analyze`
- Auto-fix: `fvm dart run melos run fix`
- Generate code: `fvm dart run melos run build_runner:build`
- Unit/widget tests: `fvm dart run melos run test`
- Integration tests (Linux): `fvm dart run melos run test:integration`
- Web smoke tests: `fvm dart run melos run test:e2e:web`

## Agent workflow expectations
1. Keep changes surgical and package-scoped.
2. Run `melos run build_runner:build` before tests when touching code that can affect generated output.
2. Run `fvm dart run melos run build_runner:build` before tests when touching code that can affect generated output.
3. Commit generated files when they change (`*.g.dart`, `*.mapper.dart`).
4. Prefer relative imports in Dart files.
5. Follow existing style: two-space indentation, `snake_case.dart` filenames.
Expand All @@ -43,8 +42,7 @@ melos bootstrap
dart pub global activate fvm
export PATH="$HOME/.pub-cache/bin:$PATH"
fvm use --force
dart pub global activate melos
melos bootstrap
fvm dart run melos bootstrap
```

- **CI failure while building demo assets (`fvm dart run superdeck_cli:main build`)**
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/firebase-hosting-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
paths:
- "demo/**"
- "packages/**"
- "melos.yaml"
- ".fvmrc"
- "pubspec.yaml"
- "pubspec.lock"

Expand Down Expand Up @@ -46,9 +46,11 @@ jobs:

- name: Setup Melos
uses: bluefireteam/melos-action@v3
with:
melos-version: 7.8.1

- name: Build Runner
run: melos run build_runner:build
run: melos run build_runner:build --no-select

- name: Build SuperDeck assets
run: |
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/firebase-hosting-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
paths:
- "demo/**"
- "packages/**"
- "melos.yaml"
- ".fvmrc"
- "pubspec.yaml"
- "pubspec.lock"

Expand Down Expand Up @@ -45,9 +45,11 @@ jobs:

- name: Setup Melos
uses: bluefireteam/melos-action@v3
with:
melos-version: 7.8.1

- name: Build Runner
run: melos run build_runner:build
run: melos run build_runner:build --no-select

- name: Build SuperDeck assets
run: |
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ jobs:

- name: Setup Melos
uses: bluefireteam/melos-action@v3
with:
melos-version: 7.8.1

- uses: invertase/github-action-dart-analyzer@v1
with:
Expand All @@ -50,7 +52,7 @@ jobs:
run: fvm flutter pub get

- name: Build Runner
run: melos run build_runner:build
run: melos run build_runner:build --no-select
timeout-minutes: 5

- name: Check Contract Schemas
Expand Down Expand Up @@ -102,12 +104,14 @@ jobs:

- name: Setup Melos
uses: bluefireteam/melos-action@v3
with:
melos-version: 7.8.1

- name: Install dependencies
run: fvm flutter pub get

- name: Build Runner
run: melos run build_runner:build
run: melos run build_runner:build --no-select
timeout-minutes: 5

- name: Build SuperDeck Assets
Expand Down Expand Up @@ -150,12 +154,14 @@ jobs:

- name: Setup Melos
uses: bluefireteam/melos-action@v3
with:
melos-version: 7.8.1

- name: Install dependencies
run: fvm flutter pub get

- name: Build Runner
run: melos run build_runner:build
run: melos run build_runner:build --no-select
timeout-minutes: 5

- name: Build SuperDeck Assets
Expand Down
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"dart.flutterSdkPath": ".fvm/versions/3.44.0",
"dart.flutterSdkPath": ".fvm/versions/3.44.6",
"files.exclude": {
"**/.fvm/versions": true,
"**/.fvm/flutter_sdk": true
Expand Down
54 changes: 34 additions & 20 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,45 +35,59 @@ docs/ # User-facing documentation (MDX format)

## Environment Setup

This project uses FVM (Flutter Version Management) configured via `.fvmrc` (pinned to Flutter `3.44.0`):
This project uses FVM (Flutter Version Management) configured via `.fvmrc` (pinned to Flutter `3.44.6`):

```bash
fvm use --force
dart pub global activate melos
melos bootstrap
fvm dart run melos bootstrap
```

Always work inside the FVM-provided SDK (`.fvm/flutter_sdk`) to avoid toolchain drift.

**Required SDK versions**: Dart >=3.12.0, Flutter >=3.44.0
**Required SDK versions**: Dart >=3.12.0, Flutter >=3.44.6

## Common Commands

### Analysis & Linting
```bash
melos run analyze # Run dart analyze + DCM analysis
melos run analyze:all # Full analysis including unused code/files
melos run fix # Apply dart fix + DCM autofixes
melos run custom_lint_analyze # Run custom lint rules
fvm dart run melos run analyze # Run dart analyze + DCM analysis
fvm dart run melos run analyze:all # Full analysis including unused code/files
fvm dart run melos run fix # Apply dart fix + DCM autofixes
fvm dart run melos run custom_lint_analyze # Run custom lint rules
```

### Code Generation
```bash
melos run build_runner:build # Generate code (run before tests)
melos run build_runner:watch # Watch mode for development
melos run build_runner:clean # Clean generated files
fvm dart run melos run build_runner:build # Generate code (run before tests)
fvm dart run melos run build_runner:watch # Watch mode for development
fvm dart run melos run build_runner:clean # Clean generated files
```

### Testing
```bash
melos run test # Run all tests
melos run test:coverage # Run tests with coverage
fvm dart run melos run test # Run all tests
fvm dart run melos run test:coverage # Run tests with coverage
fvm flutter test <path> # Run specific test file
```

### Running Apps & Live Debugging
```bash
cd packages/playground
fvm flutter run -d macos -t lib/main.dart
```

When running an app to reproduce or diagnose a UI/runtime issue, launch it with
`fvm flutter run` and keep that process attached for the entire reproduction.
Continue reading its output after each UI interaction so Dart exceptions,
Flutter framework errors, plugin failures, and native macOS logs are captured as
they happen. Do not use `open <path>.app` as the primary debugging launch: it
detaches the app from the observable Flutter process and hides the logs needed
to identify the root cause. Opening a compiled `.app` directly is appropriate
only for a distribution smoke test where live diagnostics are not required.

### Cleaning
```bash
melos run clean # Clean all Flutter build artifacts
fvm dart run melos run clean # Clean all Flutter build artifacts
```

## Coding Standards
Expand Down Expand Up @@ -180,9 +194,9 @@ Styles are defined in Dart through `SlideStyler`, `DeckOptions.baseStyle`, and `

| Task | Command |
|------|---------|
| Bootstrap workspace | `melos bootstrap` |
| Run all analysis | `melos run analyze` |
| Generate code | `melos run build_runner:build` |
| Run tests | `melos run test` |
| Apply fixes | `melos run fix` |
| Clean workspace | `melos run clean` |
| Bootstrap workspace | `fvm dart run melos bootstrap` |
| Run all analysis | `fvm dart run melos run analyze` |
| Generate code | `fvm dart run melos run build_runner:build` |
| Run tests | `fvm dart run melos run test` |
| Apply fixes | `fvm dart run melos run fix` |
| Clean workspace | `fvm dart run melos run clean` |
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,7 @@ SuperDeck is a Melos workspace pinned via FVM in `.fvmrc`.

```bash
fvm use --force
dart pub global activate melos
melos bootstrap
melos run analyze
melos run test
fvm dart run melos bootstrap
fvm dart run melos run analyze
fvm dart run melos run test
```
3 changes: 1 addition & 2 deletions demo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ From the repo root:

```bash
fvm use --force
dart pub global activate melos
melos bootstrap
fvm dart run melos bootstrap
```

Terminal 1 (build slides):
Expand Down
5 changes: 4 additions & 1 deletion demo/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ publish_to: none
version: 1.0.0+1
environment:
sdk: ">=3.12.0 <4.0.0"
flutter: ">=3.44.0"
flutter: ">=3.44.6"

resolution: workspace

dependencies:
flutter:
sdk: flutter
Expand Down
14 changes: 0 additions & 14 deletions demo/pubspec_overrides.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion docs/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Configure a Flutter app for SuperDeck and build your first presentation.

## Prerequisites

- **Flutter SDK** version 3.44.0 or higher
- **Flutter SDK** version 3.44.6 or higher
- Use the Dart SDK bundled with your Flutter installation

## Installation
Expand Down
Loading
Loading