Recipes
Common patterns, with the exact commands.
Add a CRUD feature with multi-tenant RLS
Section titled “Add a CRUD feature with multi-tenant RLS”themarch add-feature invoices --applyThis chains add-table → add-rls → add-zod-schema → add-trpc-router → add-page → add-test-e2e against the current repo. The router uses tenantProcedure, so RLS isolates per-tenant rows automatically.
Migrate an existing repo from Prisma to Drizzle
Section titled “Migrate an existing repo from Prisma to Drizzle”themarch skill run convert-prisma-to-drizzleThe skill reads prisma/schema.prisma, emits one Drizzle schema file per model, adds drizzle.config.ts, and walks the codebase to swap prisma.<model>.<op> calls for Drizzle equivalents incrementally. Re-run on each domain until typecheck is green, then drop the Prisma deps.
Set up event sourcing for an aggregate
Section titled “Set up event sourcing for an aggregate”themarch skill run add-event-sourced-aggregate --input aggregateName=Orderthemarch skill run add-outbox --input aggregateName=Orderthemarch skill run add-inngest-workflow --input name=publishOrderEventsYou end up with an order_events table, an order_outbox table, and an Inngest worker that drains the outbox.
Onboard a new collaborator
Section titled “Onboard a new collaborator”git clone <repo>cd <repo>themarch enhance . # adds .cursorrules + CLAUDE.md if missingthemarch mcp add postgres-localthemarch mcp add skillsNow Claude / Cursor have local DB access, the skills catalog, and the project’s docs as readable resources.
Add a load test
Section titled “Add a load test”themarch skill run add-load-test --input name=invoices --input url=https://staging.example.com/api/trpc/invoices.listk6 run load-tests/invoices.js