— No reviews yet
0 installs
14 views
0.0% view→install
Install
$ agentstack add skill-drvoss-everything-copilot-cli-nestjs-prisma ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ● Dynamic code execution Used
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Are you the author of Nestjs Prisma? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claimAbout
NestJS + Prisma Combo Skill
When to Use
- Setting up Prisma in a NestJS project for the first time
- Implementing a data access layer using Prisma as the ORM
- Writing unit tests for services that depend on Prisma
- Debugging connection pooling or client lifecycle issues
Workflow
1. PrismaService Setup
// src/prisma/prisma.service.ts
import { Injectable, OnModuleInit, OnModuleDestroy } from "@nestjs/common"
import { PrismaClient } from "@prisma/client"
@Injectable()
export class PrismaService
extends PrismaClient
implements OnModuleInit, OnModuleDestroy
{
async onModuleInit() {
await this.$connect()
}
async onModuleDestroy() {
await this.$disconnect()
}
}
// src/prisma/prisma.module.ts
import { Global, Module } from "@nestjs/common"
import { PrismaService } from "./prisma.service"
@Global()
@Module({
providers: [PrismaService],
exports: [PrismaService],
})
export class PrismaModule {}
Import PrismaModule in AppModule once — @Global() makes it available everywhere.
2. Using PrismaService in a Feature Service
// src/users/users.service.ts
import { Injectable } from "@nestjs/common"
import { PrismaService } from "../prisma/prisma.service"
@Injectable()
export class UsersService {
constructor(private prisma: PrismaService) {}
async findAll() {
return this.prisma.user.findMany({
select: { id: true, name: true, email: true },
})
}
async create(data: { name: string; email: string }) {
return this.prisma.user.create({ data })
}
}
3. Unit Testing with Prisma Mock
// src/users/users.service.spec.ts
import { Test } from "@nestjs/testing"
import { UsersService } from "./users.service"
import { PrismaService } from "../prisma/prisma.service"
const mockPrismaService = {
user: {
findMany: jest.fn(),
create: jest.fn(),
},
}
describe("UsersService", () => {
let service: UsersService
beforeEach(async () => {
const module = await Test.createTestingModule({
providers: [
UsersService,
{ provide: PrismaService, useValue: mockPrismaService },
],
}).compile()
service = module.get(UsersService)
})
it("returns all users", async () => {
mockPrismaService.user.findMany.mockResolvedValue([{ id: 1, name: "Alice" }])
const result = await service.findAll()
expect(result).toHaveLength(1)
})
})
4. Environment Setup Checklist
# 1. Install
pnpm add @prisma/client
pnpm add -D prisma
# 2. Initialize
pnpm prisma init
# 3. Add DATABASE_URL to .env
# 4. Define schema then migrate
pnpm prisma migrate dev --name init
# 5. Generate client
pnpm prisma generate
Rules Applied
rules/frameworks/nestjs.md— module structure, DI, controllers, securityrules/frameworks/prisma.md— schema design, client lifecycle, query safetyrules/common/security.md— secrets, input validation
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: drvoss
- Source: drvoss/everything-copilot-cli
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.