Aller au contenu principal

Vibe Coding with HeartCo

🤖Vibe Coding Ready · 17 AI prompts included

Code with AI, not against it.

HeartCo isn't just a boilerplate. It's a codebase that Claude, Cursor and Copilot natively understand.

17

AI prompts

70+

tRPC routers

160+

Prisma models

4,000+

tests

Why LLMs love HeartCo

An architecture designed so AI understands, navigates and produces production-ready code.

Consistent conventions

The same pattern everywhere: findFirst + organizationId, TRPCError, ctx.orgDb. LLMs spot the pattern in one file and apply it everywhere.

Exhaustive types

Strict TypeScript, noUncheckedIndexedAccess, zero `any`. LLMs navigate the type system to generate correct code on the first try.

Explicit architecture

`~/` path alias, routers in `src/server/api/routers/`, components in `src/components/`. No ambiguity about where things go.

Inline documentation

CLAUDE.md, clear conventions, explicit names. The context lives in the code, not in your head.

Try these prompts

Copy, paste, and watch AI build on solid foundations.

Claude finds the existing tRPC routers, the Prisma schema and the React components. It extends the code following the conventions — guards, multi-tenant isolation, shadcn components.

The organizationId guards and security tests are already in place. The AI understands the pattern and applies it systematically to every query and mutation.

The conventions are clear. The AI reuses the existing shadcn components and wires up Pusher for live dashboard updates.

The webhook pattern lives in src/app/api/webhooks/stripe. Claude duplicates the route, adds the refund handler, updates the switch case.

The existing tests in __tests__/security/ act as a template. Claude generates the IDOR, permission and multi-tenant isolation tests.

Compatible with your tools

Whatever your AI setup, HeartCo works out of the box.

Claude Code

Compatible ✓

Cursor

Compatible ✓

GitHub Copilot

Compatible ✓

Windsurf

Compatible ✓

Codex

Compatible ✓

Gemini

Compatible ✓

A real router, not a TODO

Production-ready code that LLMs understand and reproduce.

clients.ts
// src/server/api/routers/clients.ts
export const clientsRouter = createTRPCRouter({
  list: requirePermission("clients:read")
    .input(z.object({ search: z.string().optional() }))
    .query(async ({ ctx, input }) => {
      return ctx.orgDb.client.findMany({
        where: input.search
          ? { name: { contains: input.search } }
          : undefined,
        orderBy: { createdAt: "desc" },
      });
    }),
});

LLMs see this pattern and reproduce it. No prompt engineering needed — the code explains itself.

Ready to vibe code?

Clone the repo, open Cursor or Claude Code, and start building.

30-day money-back guarantee
Back to home
Vibe Coding Ready | HeartCo