Migration engine that converts Java Spring Boot entities to TypeScript (Zod schemas + Prisma models) using deterministic AST analysis.
make devThis builds and starts: PostgreSQL, Redis, Java Parser (port 4000), NestJS API (port 3000), Next.js UI (port 3001).
Go to http://localhost:3001 — paste any Java @Entity class and click Convert.
curl -X POST http://localhost:3000/convert/simple \
-H "Content-Type: application/json" \
-d '{
"code": "@Entity\npublic class User {\n @Id\n @GeneratedValue\n private Long id;\n\n @Column(nullable = false)\n private String email;\n\n private Integer age;\n}"
}'make testtransmuter-ai/
├── apps/
│ ├── api/ # NestJS orchestrator (POST /convert/simple)
│ └── web/ # Next.js dashboard (textarea + output)
├── packages/
│ ├── parser-java/ # Java AST parser (Javalin + JavaParser)
│ └── core-engine/ # TS conversion logic (Zod + Prisma generators)
├── docker/ # Dockerfiles
├── samples/ # Sample Java entities for testing
├── docker-compose.yml
└── Makefile
- Java Parser (port 4000) receives Java source code, uses JavaParser to extract
@Entityclasses with field metadata (types, annotations, nullability). - Core Engine maps the parsed AST to Zod schemas and Prisma models using deterministic type-mapping rules.
- API (port 3000) orchestrates the pipeline: receives Java code → calls parser → runs converters → returns results.
- Web UI (port 3001) provides a simple interface to paste Java code and view generated output.
| Java Type | Zod | Prisma |
|---|---|---|
| String | z.string() | String |
| Long | z.number() | BigInt |
| Integer | z.number() | Int |
| Double/Float | z.number() | Float |
| Boolean | z.boolean() | Boolean |
| BigDecimal | z.number() | Decimal |
| LocalDateTime | z.string() | DateTime |
| UUID | z.string().uuid() | String |
# Terminal 1: Start parser
cd packages/parser-java && mvn package -q && java -jar target/parser-java-0.1.0.jar
# Terminal 2: Start API
cd apps/api && npx nest start --watch
# Terminal 3: Start web
cd apps/web && npx next dev