Repository navigation
Technical Documentation
Manech Dubreil edited this page Oct 16, 2026
·
3 revisions
Technical documentation for the implementation of Transf-ORM-CLI — this page and the ones it links to only describe what exists in the code.
| Page | What it covers |
|---|---|
| Architecture | The 6-layer design, what's implemented vs. planned, module dependency graph |
| Pivot IR | The Pivot IR in depth — every type, the DB/ORM layer split, relations, metadata, serialization, with Mermaid diagrams |
| Importers | The Importer trait, the list of available importers, and how to add a new one |
| Prisma Importer | The Prisma importer's PEG → AST → resolve pipeline, behavior detection and its known limitations |
| CLI | The transf-orm binary: --cli / --serveur modes, global flags, the convert command, ORM detection, and the registry module |
| Testing | How to run the test suite, CI quality gates, and the fixture-based testing convention |
Transf-ORM-CLI has three long-term goals — schema conversion, code generation, and codebase migration:
-
Pivot IR (
src/pivot/) — Done: all types, serde, canonical JSON, tests. -
Prisma importer (
src/importer/prisma/) — Done: complete PEG grammar, full attribute coverage, 30+ tests. -
CLI (
crates/transf-orm,crates/cli) — Partial: global flags and--cli/--serveurdispatch are done; onlyconvertis implemented; interactive mode,generate,diff,merge,validate,init,watch, andhistoryare not started. -
Exporters (
src/exporter/) — Not started: trait defined, no implementations. - Drizzle importer — Not started.
- Codemods, versioning/diff/merge — Not started.
See Architecture for how these pieces fit together.
cargo build --release
./target/release/transf-orm convert path/to/schema.prisma
# prints the canonical JSON pivot to stdout|
Manech DUBREIL dmanech@gmail.com |
Timéo TRÉGAROT timeo.tregarot@epitech.eu |
Aymeric JOUANNET-MIMY aymeric.jouannet-mimy@epitech.eu |
Esteban BOUYAULT-MIMY esteban.bouyault-yvanez@epitech.eu |
Arthur DRAHY arthur.drahy@epitech.eu |