auth-security
Best practices for implementing JWT, API Keys, OAuth 2.1, and RBAC in a NitroStack application.
Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changing databases, or troubleshooting connection issues. Triggers on "configure postgres", "connect to mysql", "setup mongodb", "sqlite
$ npx -y skills add nitrocloudofficial/nitrostack --skill prisma-database-setup --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/prisma-database-setupContext preview
The summary Claude sees to decide when to auto-load this skill.
Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changing databases, or troubleshooting connection issues. Triggers on "configure postgres", "connect to mysql", "setup mongodb", "sqlite
name: prisma-database-setup description: Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changing databases, or troubleshooting connection issues. Triggers on "configure postgres", "connect to mysql", "setup mongodb", "sqlite setup". license: MIT metadata: author: prisma version: "7.6.0"
Comprehensive guides for configuring Prisma ORM with various database providers.
Reference this skill when:
| Priority | Category | Impact | Prefix | |----------|----------|--------|--------| | 1 | Provider Guides | CRITICAL | provider names | | 2 | Prisma Postgres | HIGH | `prisma-postgres` | | 3 | Client Setup | CRITICAL | `prisma-client-setup` |
If you're using Bun, run Prisma CLI commands with `bunx --bun prisma ...` so Prisma uses the Bun runtime instead of falling back to Node.js.
| Database | Provider String | Notes | |----------|-----------------|-------| | PostgreSQL | `postgresql` | Default, full feature support | | MySQL | `mysql` | Widespread support, some JSON diffs | | SQLite | `sqlite` | Local file-based, no enum/scalar lists | | MongoDB | `mongodb` | Mongo-specific workflow; do not apply SQL driver-adapter guidance | | SQL Server | `sqlserver` | Microsoft ecosystem | | CockroachDB | `cockroachdb` | Distributed SQL, Postgres-compatible | | Prisma Postgres | `postgresql` | Managed serverless database |
Your configuration shape depends on the provider and Prisma major version:
1. **All providers** use **`prisma/schema.prisma`**. 2. **Prisma 7 SQL setups** typically use **`prisma.config.ts`** for datasource URLs. 3. **MongoDB projects should stay on Prisma 6.x**, keep `url = env("DATABASE_URL")` in the schema, and continue using the classic MongoDB setup.
The standard SQL workflow uses a driver adapter. Choose the adapter and driver for your database and pass the adapter to `PrismaClient`.
| Database | Adapter | JS Driver | |----------|---------|-----------| | PostgreSQL | `@prisma/adapter-pg` | `pg` | | CockroachDB | `@prisma/adapter-pg` | `pg` | | Prisma Postgres (Node.js) | `@prisma/adapter-pg` | `pg` | | Prisma Postgres (edge/serverless) | `@prisma/adapter-ppg` | `@prisma/ppg` | | MySQL / MariaDB | `@prisma/adapter-mariadb` | `mariadb` | | SQLite | `@prisma/adapter-better-sqlite3` | `better-sqlite3` | | SQLite (Turso/LibSQL) | `@prisma/adapter-libsql` | `@libsql/client` | | SQL Server | `@prisma/adapter-mssql` | `node-mssql` |
MongoDB should not follow the Prisma 7 SQL adapter workflow. Use the latest Prisma 6.x release for MongoDB projects and do not install a SQL `@prisma/adapter-*` package for it.
Example (PostgreSQL):
import 'dotenv/config'
import { PrismaClient } from '../generated/client'
import { PrismaPg } from '@prisma/adapter-pg'
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
const prisma = new PrismaClient({ adapter })Prisma Client must be installed and generated for any database.
1. Install Prisma CLI and Prisma Client:
npm install prisma --save-dev npm install @prisma/client
1. Add a generator block (`prisma-client` requires an explicit output path):
generator client {
provider = "prisma-client"
output = "../generated"
}1. Generate Prisma Client:
npx prisma generate
1. For SQL providers, instantiate Prisma Client with the database-specific driver adapter:
import { PrismaClient } from '../generated/client'
import { PrismaPg } from '@prisma/adapter-pg'
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
const prisma = new PrismaClient({ adapter })1. Re-run `prisma generate` after every schema change.
datasource db {
provider = "postgresql"
}
generator client {
provider = "prisma-client"
output = "../generated"
}datasource db {
provider = "mysql"
}
generator client {
provider = "prisma-client"
output = "../generated"
}datasource db {
provider = "sqlite"
}
generator client {
provider = "prisma-client"
output = "../generated"
}datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}For MongoDB, stay on the latest Prisma 6.x line and keep the connection URL in `schema.prisma`. Do not move a MongoDB project to the Prisma 7 SQL adapter setup. If a MongoDB project asks about upgrading Prisma versions, route to the `prisma-mongodb-upgrade` skill (stay-on-v6 vs Prisma Next is the real decision; Prisma 7 is not an option).
See individual rule files for detailed setup instructions:
references/postgresql.md references/mysql.md references/sqlite.md references/mongodb.md references/sqlserver.md references/cockroachdb.md references/prisma-postgres.md references/prisma-client-setup.md
Choose the provider reference file for your database, then apply `references/prisma-client-setup.md` to complete client generation and adapter setup. For MongoDB, use `references/mongodb.md` instead of copying the SQL adapter examples or Prisma 7 config pattern.
The full-stack TypeScript framework to build, test, and deploy production-ready MCP servers and AI-native apps.
Repo: nitrocloudofficial/nitrostack
Best practices for implementing JWT, API Keys, OAuth 2.1, and RBAC in a NitroStack application.
Best practices and guidelines for bootstrapping, defining modules, using dependency injection, managing server lifecycles, and handling events in the…
Best practices for implementing and applying Guards, Interceptors, Middleware, Pipes, and Exception Filters in the NitroStack SDK.
Guidelines and patterns for defining Tools, Resources, and Prompts in a NitroStack application with schema validation via Zod, including caching,…
Best practices for linking tools to interactive frontend widgets using @Widget and @nitrostack/widgets SDK (including state sync, tool calling, display modes,…
Prisma ORM CLI commands reference covering init, generate, migrate, db, dev, studio, validate, format, debug, and mcp. Use for ORM/database CLI workflows, not…