Open source · CLI · CI · Cursor MCP

Estate-aware approve/block for Postgres DDL.

Same verdict in CLI, CI, and Cursor MCP. Never applies migrations.

Try free · @latest
npx @nockhq/cli@latest check --sql migrations/001.sql --estate .nock/estate.json --format json
Idle
Proposed DDLsessions · write-heavy

            
Verdict

              

Thin overindex family · R024 density · R025 write-cost · R026 redundant

What an estate is

One sentence, then a peek at the shape.

A small JSON snapshot of Postgres table sizes + catalogue facts (columns, constraints, indexes)—not row data—that Nock uses to approve/block DDL for your database. Hot tables change the verdict. Tools that only look at SQL shape do not.

{
  "schema_version": "1",
  "captured_at": "2026-09-16T05:00:00Z",
  "pg_version": "16.4",
  "tables": [
    { "schema": "public", "name": "sessions", "n_live_tup": 500000 }
  ]
}

Free vs Team

Multi-estate clarity in one glance. Same check engine either way.

Free

One estate · DIY

We do not host multi-estate packs on Free.

  • Bring your own estate
  • Sync estate yourself
  • Live DATABASE_URL check on your runner
  • Want staging + prod? Run check twice / own a CI matrix

Try free today with the @latest command above.

Team

Estate packs · hosted

Staging / prod / tenant DBs under one org. Same engine.

  • Hosted estate packs
  • Org policy
  • Audit
  • Export anytime

Design-partner waitlist · limited seats · honest scarcity.

Team waitlist

Primarily for Team packs + product updates. Free path stays open above.

No spam. Design partners are limited.