database

database is a cursor rule for Cursor from maccman/ai-monorepo-scaffold. It costs 1,242 tokens per session, scanned A, original, MIT.

A set of database rules and commands for a PostgreSQL database in a monorepo, which is one repository containing several related applications or packages.

In plain words
What is it for?
Use it to create and run database migrations, roll changes back, reset the database, add seed data, and write type-safe TypeScript database code.
Why use it?
It provides a consistent way to change, apply, undo, reset, and seed the database schema and data.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/maccman/ai-monorepo-scaffold/database
Clone the repo
git clone --depth 1 https://github.com/maccman/ai-monorepo-scaffold

Made for: Cursor.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for database

README.md
[![agentmods](https://agentmods.dev/badge/rules/maccman/ai-monorepo-scaffold/database.svg)](https://agentmods.dev/rules/maccman/ai-monorepo-scaffold/database)
Your own site
<a href="https://agentmods.dev/rules/maccman/ai-monorepo-scaffold/database"><img src="https://agentmods.dev/badge/rules/maccman/ai-monorepo-scaffold/database.svg" alt="Measured on agentmods" height="20"></a>
Per session 1,242 This file is loaded in full into every session.
When invoked 1,242 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01242 $0.01242
Opus 5 $0.00621 $0.00621
Sonnet 5 $0.00248 $0.00248
Haiku 4.5 $0.00124 $0.00124

Measured 4d ago against content hash e669d5087b59, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

database scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/database.mdc · 136 lines

How it starts

The opening of the file, as written. The whole thing — 136 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Database

Find the schema here: schema.sql

Commands

Run from the root directory:

  • DATABASE_URL=postgres://localhost:5432/monorepo-scaffold pnpm --filter @app/db db:migrate:create <name> - Create a new database migration template
  • DATABASE_URL=postgres://localhost:5432/monorepo-scaffold pnpm --filter @app/db db:migrate - Run database migrations
  • DATABASE_URL=postgres://localhost:5432/monorepo-scaffold pnpm --filter @app/db db:migrate:down - Rollback database migrations
  • DATABASE_URL=postgres://localhost:5432/monorepo-scaffold pnpm --filter @app/db db:reset - Reset database
  • DATABASE_URL=postgres://localhost:5432/monorepo-scaffold pnpm --filter @app/db db:seed - Seed database with initial data (default tenant and permissions)

Create a new migration

  1. Run db:migrate:create <myname>
  2. Edit the file it creates, always add an Up and Down migration.
  3. Run db:migrate

Note:

  • Do not generate types.gen.ts files yourself - they'll be auto generated.
  • Never alter an OWNER in a migration.

Using Kysely Type Helpers

When working with database types in TypeScript, always use Kysely's type helper utilities for proper type safety:

  1. Selectable - Use when selecting/reading data from the database:

    import type { Selectable } from 'kysely'
    import type { User } from '@app/db/types'
    
    // Function that returns user data from DB
    async function getUser(id: string): Promise<Selectable<User> | null> {
      return await db.selectFrom('users').where('id', '=', id).selectAll().executeTakeFirst()
    }
    
    // Component props
    interface UserProfileProps {
      user: Selectable<User>
    }
    
  2. Insertable - Use when inserting data into the database:

    import type { Insertable } from 'kysely'
    import type { Project } from '@app/db/types'
    
    // Function parameters for creating records
    async function createProject(data: Insertable<Project>): Promise<Selectable<Project>> {
      return await db.insertInto('projects').values(data).returningAll().executeTakeFirstOrThrow()
    }
    
    // Partial inserts with required fields
    async function createUser(data: Partial<Insertable<User>> & { email: string; tenantId: string }) {
      return await db.insertInto('users').values({
        emailVerified: false,
        status: 'active',
        ...data,
      }).returningAll().executeTakeFirstOrThrow()
    }
    

Read the full file on GitHub · 136 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 136 lines · 1,242 tokens per session scan A e669d5087b59

Subscribe to this mod's changes

database is a cursor rule published in the GitHub repository maccman/ai-monorepo-scaffold (304 stars, last pushed 10mo ago), licensed MIT. It adds 1,242 tokens to every session, about $0.0062 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.