Launching today

TypeSwitch
Automate Prisma to Drizzle migrations in 1-click
6 followers
Automate Prisma to Drizzle migrations in 1-click
6 followers
TypeSwitch is an AI-powered developer CLI that scans your codebase to automate Prisma-to-Drizzle database migrations and OpenAI-to-Claude API refactors. It generates clean TypeScript schemas, updates all query calls, flag edge cases, and upgrades your package dependencies instantly.




Hey hunters! 👋
I'm thrilled to launch TypeSwitch today!
Manual database migrations or LLM client swaps are the kind of tasks engineering teams put off for months. Rewriting hundreds of database query lines or LLM API calls is tedious, time-consuming, and highly prone to silent runtime bugs.
TypeSwitch is a local CLI utility that automates these code migrations in minutes:
1. 📂 ORM Migrator (orm-migrate): Translates schema.prisma definitions into idiomatic Drizzle schema.ts. It scans your codebase, refactors PrismaClient queries into Drizzle's relational API, and swaps package dependencies.
2. 🤖 Model Migrator (model-migrate): Translates OpenAI SDK calls to Anthropic Claude messages API, automatically handles system prompt hoisting, aligns role alternations, and sets up vector re-indexing scripts.
🛡️ Safety First:
- It runs 100% locally on your machine—your source code never leaves your computer.
- It automatically backs up your codebase. If anything compiles incorrectly, run with --rollback to return to a clean Git state instantly.
- Any unmappable queries (complex SQL, transactions, streaming delta formats) are not translated blindly; they are flagged with prominent '// MANUAL MIGRATION REQUIRED' comments.
Instead of a monthly SaaS subscription, you buy a one-time license to the complete TypeScript source code—no subscriptions, no API tokens markup, no vendor lock-in.
🎉 Launch Discount:
To celebrate the launch, get 15% off any package (Drizzle Migrator, LLM Migrator, or the Full Combo Suite) by entering coupon code SWITCH at checkout!
I'll be here all day to answer your questions and chat about AST parsing, database queries, and LLM integrations. I'd love to hear your feedback! 🚀
Got curious and pointed it at a small OpenAI to Anthropic refactor in a side project. The diff it spat out was actually usable, only one function needed a manual nudge for streaming.
@nurcandemi21842 That's great to hear, thanks for actually running it! Streaming is the one case I intentionally didn't try to auto-translate — the event shapes are different enough between the two SDKs that I'd rather flag it than guess wrong. Curious what it looked like on your end — was the flag comment clear enough to fix it quickly, or did you have to dig into the docs? Always looking to make those manual-nudge spots more useful.
ran it on a small prisma project and the drizzle output was surprisingly clean, only had to hand fix one join query it flagged properly.
@ilbugasare30519 thanks, good to hear that!!