Companion Packages
The Validasi ecosystem includes four companion packages, each solving a specific problem. Use them independently or together depending on your needs.
Package stability: experimental packages are still evolving — API changes are expected.
beta packages are near-stable.Package Map
| Package | Purpose | Status | Runtime dep? |
|---|---|---|---|
| validasi | Core validation engine | — | Required |
| validasi_annotation | Annotations for code generation (@Validate, @RefineFn, rules) | experimental | Codegen only |
| validasi_gen | build_runner generator — emit typed validators at compile time | experimental | Dev only |
| validasi_ui | Headless form management for Flutter (controllers, signals, widgets) | experimental | Flutter |
| validasi_mcp | MCP server — AI assistant docs & API reference | beta | Standalone |
Which packages do I need?
| Scenario | Packages |
|---|---|
| Dart CLI / backend with compile-time validation | validasi + validasi_annotation + validasi_gen |
| Flutter app with generated schemas (recommended) | validasi + validasi_annotation + validasi_gen + validasi_ui |
| Flutter app with manual field descriptors | validasi + validasi_ui |
| Plain validation library (no codegen, no UI) | validasi only |
| AI assistant integration | validasi_mcp |
Relationships
validasi (core engine)
↑
├── validasi_annotation (markers + contracts)
│ ↑
│ └── validasi_gen (build_runner generator)
│ │
│ └── validasi_ui (form widgets, reads generated XFields)
│
└── validasi_mcp (standalone docs server)validasi_annotationprovides@ValidateClass,@Validate<T>, rule annotations — consumed byvalidasi_gen.validasi_genreads annotations at build time and emits typed field classes (XFields<V>) and validation extensions.validasi_uibinds those generated field classes to Flutter widgets. It also works without codegen using manualFieldDescriptorandValidasiField.validasi_mcpis fully standalone — it fetches hosted docs and serves them as MCP tools/resources.
