Companion Packages
The Validasi ecosystem includes three companion packages, each solving a specific problem, plus a set of Agent Skills — shipped inside each package and installable with dart run skills@ get — for anyone using an AI coding agent on a validasi project. Use them independently or together depending on your needs.
Package Map
| Package | Purpose | Status | Runtime dep? |
|---|---|---|---|
| validasi | Core validation engine | stable | Required |
| validasi_annotation | Annotations for code generation (@Validate, @RefineFn, rules) | stable | Codegen only |
| validasi_gen | build_runner generator — emit typed validators at compile time | stable | Dev only |
| validasi_ui | Headless form management for Flutter (controllers, signals, widgets) | stable | Flutter |
| Agent Skills | SKILL.md guidance shipped inside each package and installed with dart run skills@ get | — | Optional, any agent supporting SKILL.md |
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 | Agent Skills (authored guidance) |
Relationships
validasi (core engine)
↑
├── validasi_annotation (markers + contracts)
│ ↑
│ └── validasi_gen (build_runner generator)
│ │
│ └── validasi_ui (form widgets, reads generated XFields)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.
