Skip to content

Releases: RoninForge/roninforge-drizzle

v1.0.0 - Drizzle ORM rules for Cursor

14 May 06:17

Choose a tag to compare

First public release.

What's in the box

  • 5 rules (drizzle-core, drizzle-anti-patterns, drizzle-postgres, drizzle-migrations, drizzle-testing)
  • 4 skills (/drizzle-new-schema, /drizzle-migrate-to-v1, /drizzle-validate, /drizzle-rls)
  • 1 reviewer agent (drizzle-reviewer) with severity-grouped output (CRITICAL / ERROR / WARN / SUGGESTION)
  • 2 fixture projects (anti-pattern-sample, correct-sample)

What it catches

20 LLM regressions including: Prisma include/select/nested-where leakage in db.query.X.findMany, SQL injection via db.execute string concatenation, drizzle-orm <0.45.2 (sql.identifier escaping CVE), drizzle-kit push in production, removed casing API on drizzle() in v1.0-rc, deprecated drizzle-kit generate:pg, .returning() on MySQL or Cloudflare D1, missing await on builder chains, relations() declared in the same file as the schema, transaction callback escaping via outer db, pre-0.31 returned-object index shape, wrong dialect import for schema, composite primary key wrong shape, pgEnum used as a TS type, selectDistinct vs select confusion with N:M joins, nested vs flat join shape, drizzle-kit pull skipped when adopting an existing DB.

Drizzle versions

  • [email protected] (current stable) - full coverage
  • [email protected] - covered with deltas hedged. The RC API surface (defineRelations callback, pgTable.withRLS, casing builders) has shifted between RC releases. The plugin tells you what changed and points at your installed node_modules for the exact shape rather than baking in a snippet that may already be wrong for your RC.

Install

git clone https://github.com/RoninForge/roninforge-drizzle.git
cp -r roninforge-drizzle/rules/*  your-project/.cursor/rules/
cp -r roninforge-drizzle/skills/* your-project/.cursor/skills/
cp -r roninforge-drizzle/agents/* your-project/.cursor/agents/

Why this vs the existing community rule

A basic Drizzle rules file already exists on cursor.directory. It is shallow: generic "use Drizzle, prefer types, write migrations" guidance with no version awareness, no anti-patterns, no fixtures. This plugin is the depth play: 20 documented anti-patterns with BAD/CORRECT TS code, two version profiles with deltas called out inline, a migration skill from v0 to v1-rc with concrete sed commands, Postgres-specific rules for RLS / materialized views / sequences / identity columns, multi-dialect awareness per rule, a reviewer agent, and compilable test fixtures.

Quality

Reviewed across three sequential code-reviewer rounds. 3 critical findings, 2 errors, and several inconsistencies were fixed before this release. Validation script runs clean.