fvm
leoafarias/fvm/AGENTS.md
CLI tool for managing Flutter SDK versions per project. Pre-commit hooks run automatically. Before pushing: 1. dart analyze --fatal-infos passes 2. dcm analyze lib passes 3. dart test passes For final review on changes that affect GitService, FlutterService, EnsureCacheWorkflow, install/use/global command behavior, prompt handling, or project SDK references, also run the manual branch smoke test in docs/pages/documentation/guides/manual-smoke-test.md. It uses isolated temp HOME, FVMCACHEPATH, and FVMGITCACHE_PATH values and includes cleanup guidance for the temporary SDKs, git cache, project files, and config…
What's in it
- FVM - Flutter Version Manager
- Structure
- Commands
- Verification
- Architecture
- Critical Rules
- Gotchas
- Documentation
# FVM - Flutter Version Manager CLI tool for managing Flutter SDK versions per project. ## Structure - `bin/main.dart`: CLI entry point - `lib/src/commands/`: CLI commands - `lib/src/services/`: Business logic (cache, flutter, git, project) - `lib/src/workflows/`: Multi-step orchestration - `lib/src/models/`: Data models (dart_mappable) - `test/`: Unit + integration tests ## Commands ```bash dart pub get # Install dependencies dart test # Unit tests dart run grinder integration-test # Integration suite (needs Flutter) dart analyze --fatal-infos # Analysis (must pass) dcm analyze lib # Code metrics dart run build_runner build --delete-conflicting-outputs # Regenerate mappers ``` ## Verification Pre-commit hooks run automatically. Before pushing: 1. `dart analyze --fatal-infos` passes 2. `dcm analyze lib` passes 3. `dart test` passes For final review on changes that affect `GitService`, `FlutterService`, `EnsureCacheWorkflow`, install/use/global command behavior, prompt handling, or project SDK references, also run the manual branch smoke test in `docs/pages/documentation/guides/manual-smoke-test.md`. It uses isolated temp `HOME`, `FVM_CACHE_PATH`, and `FVM_GIT_CACHE_PATH` values and includes cleanup guidance for the temporary SDKs, git cache, project files, and config it creates. ## Architecture Commands → Workflows → Services → Models - Services accessed via `FvmContext.get<T>()` - Workflows extend `Workflow` for multi-step operations - Models use `@MappableClass()` with `part 'name.mapper.dart';` ## Critical Rules - NEVER bypass git hooks with `--no-verify` - YOU MUST run `build_runner build` after modifying `@MappableClass()` models - Integration tests require Flutter: run `dart run grinder test-setup` first ## Gotchas - Release tool (`tool/release_tool/`) requires Dart >=3.8.0 - Version format: `[fork/]version[@channel]` (e.g., `stable`, `3.24.0`, `custom-fork/3.24.0@beta`) ## Documentation Developer docs live in `.context/docs/` and tracked guides under `docs/pages/documentation/guides/`. Reference for specific tasks: - @README.md - Project overview, release process - @CHANGELOG.md - Version history, breaking changes - @.github/workflows/README.md - CI/CD pipelines, deployment automation - @.context/docs/testing-methodology.md - Test patterns, TestFactory, mocking - @.context/docs/integration-tests.md - Real integration guardrails - @docs/pages/documentation/guides/manual-smoke-test.md - Isolated final smoke test for git cache, install/use, prompts, symlinks, Melos, VS Code, and cleanup - @.context/docs/version-parsing.md - Version parsing regex and logic - @.context/docs/v4-release-notes.md - v4.0 architecture changes, migration
More agent context in leoafarias/fvm
One other file this repository gives its agents.
Copilot instructions
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

