Weldr for Developers
Stop writing CRUD. Focus on the code that actually matters.
Why Developers Like Weldr
It's not magic—it's leverage. Weldr generates the boring parts so you can focus on business logic:How It Works
1. Describe the System
Tell Weldr what you're building:
> "I need a multi-tenant project tracker. Projects have tasks with status, assignee, and due date. Users belong to organizations."
Weldr extracts the data model, generates the schema, and scaffolds the app.
2. See It Running
The preview boots a real Next.js app in your browser. Click around, test flows, iterate on the description.
3. Take Ownership Where It Matters
Every surface can be in one of three modes:
| Mode | What It Means |
|------|---------------|
| Managed | Weldr regenerates freely. Good for db schema, auth, basic CRUD. |
| Extended | Your @custom blocks are preserved. Add logic alongside generated code. |
| Ejected | You own it completely. Weldr validates contracts but never touches it. |
4. Export and Extend
# Export to your repo
weldr sync <chat-id> --out ./my-app
# Verify contracts
weldr contracts check
# Run it locally
cd my-app && pnpm devFrom here it's a normal Next.js app. Add your custom logic, commit to Git, deploy anywhere.
Extended Mode Example
// api/tasks.ts — mode: extended
// @weldr — Weldr generates this
export async function createTask(input: CreateTaskInput) {
return db.insert(tasks).values(input);
}
// @custom — YOUR code, never overwritten
export async function createTaskWithNotification(input: CreateTaskInput) {
const task = await createTask(input);
await slack.notify(`New task: ${task.title}`);
return task;
}Weldr regenerates the @weldr blocks. Your @custom blocks stay untouched.
What You Get
Getting Started
Questions? Email hello@weldr.dev or open a GitHub issue.