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.
git clone --depth 1 https://github.com/zoxknez/ai-coding-rulesWrote 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.
[](https://agentmods.dev/rules/zoxknez/ai-coding-rules/92-database)<a href="https://agentmods.dev/rules/zoxknez/ai-coding-rules/92-database"><img src="https://agentmods.dev/badge/rules/zoxknez/ai-coding-rules/92-database/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/zoxknez/ai-coding-rules/92-database"><img src="https://agentmods.dev/badge/rules/zoxknez/ai-coding-rules/92-database.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00899 |
| Opus 5.5 | $0.00000 | $0.00360 |
| Sonnet 5.5 | $0.00000 | $0.00180 |
| Haiku 4.5 | $0.00000 | $0.00090 |
Grade A, and why
92-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 1mo 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- 92-database — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 150 lines — stays where its author put it; the contents beside it link to each section on GitHub.
🗃️ Database Rules
Auto-activated for Prisma, Drizzle, and SQL files.
Schema Design
1. Naming Conventions
// ✅ GOOD
model User {
id String @id @default(cuid())
email String @unique
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
@@map("users") // snake_case table name
}
// ✅ Relations: explicit names
model Post {
author User @relation("PostAuthor", fields: [authorId], references: [id])
authorId String @map("author_id")
}
2. Required Fields (STRICT)
Every table MUST have:
id— Primary key (cuid or uuid preferred)created_at— Creation timestampupdated_at— Last update timestamp
For multi-tenant apps:
tenant_id— Tenant isolation (CRITICAL)
3. Indexes
// ✅ Index frequently queried fields
model Order {
id String @id
userId String
status String
createdAt DateTime
@@index([userId]) // FK queries
@@index([status, createdAt]) // Filtered queries
}
Migration Rules (STRICT)
1. Never Edit Existing Migrations
# ❌ NEVER modify deployed migrations
# ✅ Create new migration for changes
npx prisma migrate dev --name fix_user_email
2. Reversible Migrations
-- ✅ Always provide rollback
-- Migration: add_status_column
ALTER TABLE orders ADD COLUMN status VARCHAR(20) DEFAULT 'pending';
-- Rollback:
-- ALTER TABLE orders DROP COLUMN status;
3. Data Migrations Separate
migrations/
├── 001_add_status_column.sql # Schema only
└── 001_backfill_status.ts # Data migration (separate)
Query Patterns
1. Parameterized Queries (STRICT)
// ✅ ALWAYS use parameterized queries
const user = await prisma.user.findUnique({
where: { email: sanitizedEmail }
});
// ❌ NEVER concatenate SQL
const query = `SELECT * FROM users WHERE email = '${email}'`; // SQL INJECTION!
2. Select Only Needed Fields
// ✅ GOOD: Select specific fields
const users = await prisma.user.findMany({
select: { id: true, email: true, name: true }
});
// ❌ BAD: Select all (may include sensitive data)
const users = await prisma.user.findMany();
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.
- 1mo ago First seen · 150 lines · 0 tokens per session scan A 371b5cbab0da
92-database is a cursor rule published in the GitHub repository zoxknez/ai-coding-rules (29 stars, last pushed 5mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 899 tokens. 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.
Other cursor rules, from other repositories
as-contract-cast-smell
// ❌ WRONG — bypasses the family ContractSerializer seam const contract = JSON.parse(raw) as Contract; const contract = JSON.parse(raw) as Contract .
no-backward-compatibility
Do not add backward-compatibility shims or migration scaffolding.
postgresql
This guide defines the definitive best practices for writing clean, performant, and maintainable PostgreSQL SQL, focusing on modern conventions and avoiding common pitfalls.
ehs-ims-conventions
EHS IMS app — RBAC, data layer, tRPC, migrations, AI boundaries.
sync-timedb-archive-janitor-contract
Day-close / cold-path worker contracts for synctimedb (A invariants; B tick coordinator retired).
schema
Scalable and secure schema design patterns for relational databases, NoSQL, and APIs. / TR: İlişkisel veri tabanları, NoSQL ve API'ler için ölçeklenebilir ve güvenli şema tasarım kalıpları.