kineo-nest-backendBLOCK
NestJS backend for a platform connecting installed doctors with replacement doctors in France, cutting administrative friction around finding, applying for, and managing medical replacements between practices.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Application connecting established doctors with locum doctors (replacements) in France, with a differentiating positioning focusing on administrative automation (contracts, RPPS verification, statuses) rather than just simple job listings.
This document serves both as a product specification for a human and as context for an AI taking over the code (architecture, entities, flows, conventions). This specifically targets the backend of the fullstack project.
1. Context and Positioning
The market already includes established players:
- MonRempla / Rempla (regional network backed by CNOM) — leader, verification via the Medical Council.
- RemplaMed, MesRemplas, Remplaclinic, RemplaJob — private actors, classic matchmaking.
Targeted differentiation: reduce administrative friction rather than simply duplicating matchmaking.
MVP scope (minimal functional perimeter):
- Registration / authentication (established doctor or locum)
- Doctor profile (specialty, status, geographical area)
- Publishing a replacement listing (practice, dates, specialty)
- Search / apply for a listing
- Application lifecycle with transparent status tracking (no messaging/conversation module yet)
- Listing status (draft → open → in discussion → full → filled → closed/cancelled)
Out of MVP scope: contract generati
922e9156fe08OBSERVED · 2026-10-11Install
Commands as the repository documents them. They are shown, not run.
npm install prisma --save-dev
npm install @prisma/client
npm install @prisma/adapter-pg pg
npm install @prisma/adapter-mariadb mariadb
npm install @prisma/adapter-pg pg
npm install prisma --save-dev
Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| cursor | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: prisma-cli
description: Prisma ORM CLI commands reference covering init, generate, migrate, db, dev, studio, validate, format, debug, and mcp. Use for ORM/database CLI workflows, not Prisma Compute app deployment. For Prisma Compute, `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, apps, deployments, logs, or domains, use the `prisma-compute` skill instead. Triggers on "prisma init", "prisma generate", "prisma migrate", "prisma db", "prisma studio", "prisma mcp".
license: MIT
metadata:
author: prisma
version: "7.6.0"
---
# Prisma CLI Reference
Reference for Prisma ORM CLI commands. This skill provides guidance on command usage, options, and best practices for current Prisma ORM releases.
## Boundary: Compute
Do not use this skill for Prisma Compute app deployment. Use `prisma-compute` for `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, Compute apps, deployments, logs, domains, and framework deploy readiness.
## When to Apply
Reference this skill when:
- Setting up a new Prisma project (`prisma init`)
- Generating Prisma Client (`prisma generate`)
- Running database migrations (`prisma migrate`)
- Managing database state (`prisma db push/pull`)
- Using local development database (`prisma dev`)
- Debugging Prisma issues (`prisma debug`)
## Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|----------|----------|--------|--------|
| 1 | Setup | HIGH | `init` |
| 2 | Generation | HIGH | `generate` |
| 3 | Development | HIGH | `dev` |
| 4 | Database | HIGH | `db-` |
| 5 | Migrations | CRITICAL | `migrate-` |
| 6 | Utility | MEDIUM | `studio`, `validate`, `format`, `debug`, `mcp` |
## Command Categories
| Category | Commands | Purpose |
|----------|----------|---------|
| Setup | `init` | Bootstrap new Prisma project |
| Generation | `generate` | Generate Prisma Client |
| Validation | `validate`, `format` | Schema validation and formatting |
| Development | `dev` | Local Prisma Postgres for development |
| Database | `db pull`, `db push`, `db seed`, `db execute` | Direct database operations |
| Migrations | `migrate dev`, `migrate deploy`, `migrate reset`, `migrate status`, `migrate diff`, `migrate resolve` | Schema migrations |
| Utility | `studio`, `mcp`, `version`, `debug` | Development and AI tooling |
## Quick Reference
### Project Setup
```bash
# Initialize new project (creates prisma/ folder and prisma.config.ts)
prisma init
# Initialize with specific database
prisma init --datasource-provider postgresql
prisma init --datasource-provider mysql
prisma init --datasource-provider sqlite
# Initialize with Prisma Postgres (cloud)
prisma init --db
# Initialize with an example model
prisma init --with-model
```
### Client Generation
```bash
# Generate Prisma Client
prisma generate
# Watch mode for development
prisma generate --watch
# Generate specific generator only
prisma generate --generator client
```
### Bun Runtime
When using Bun, always add the `--bun` flag so Prisma runs with the Bun runtime (otherwise it falls back to Node.js because of the CLI shebang):
```bash
bunx --bun prisma init
bunx --bun prisma generate
```
### Local Development Database
```bash
# Start local Prisma Postgres
prisma dev
# Start with specific name
prisma dev --name myproject
# Start in background (detached)
prisma dev --detach
# List all local instances
prisma dev ls
# Stop instance
prisma dev stop myproject
# Remove instance data
prisma dev rm myproject
```
### Database Operations
```bash
# Pull schema from existing database
prisma db pull
# Push schema to database (no migrations)
prisma db push
# Seed database
prisma db seed
# Execute raw SQL
prisma db execute --file ./script.sql
```
### Migrations (Development)
```bash
# Create and apply migration
prisma migrate dev
# Create migration with name
prisma migrate dev --name add_users_table
# Create migration without applying
prisma migrate dev --create-only
# Reset database and apply all migrations
prisma migrate reset
```
### Migrations (Production)
```bash
# Apply pending migrations (CI/CD)
prisma migrate deploy
# Check migration status
prisma migrate status
# Compare schemas and generate diff
prisma migrate diff --from-config-datasource --to-schema schema.prisma --script
```
### Utility Commands
```bash
# Open Prisma Studio (database GUI)
prisma studio
# Start Prisma's MCP server for AI tools
prisma mcp
# Show version info
prisma version
prisma -v
# Debug information
prisma debug
# Validate schema
prisma validate
# Format schema
prisma format
```
## Current Prisma CLI Setup
### New Configuration File
Use `prisma.config.ts` for CLI configuration:
```typescript
import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'
export default defineConfig({
schema: 'prisma/schema.prisma',
migrations: {
path: 'prisma/migrations',
seed: 'tsx prisma/seed.ts',
},
datasource: {
url: env('DATABASE_URL'),
},
})
```
### Current Command Behavior
- Run `prisma generate` explicitly after `migrate dev`, `db push`, or other schema syncs when you need fresh client output
- Run `prisma db seed` explicitly after `migrate dev` or `migrate reset` when you need seed data
- Use `prisma db execute --file ...` for raw SQL scripts
### Environment Variables
Load environment variables explicitly in `prisma.config.ts`, commonly with `dotenv`:
```typescript
// prisma.config.ts
import 'dotenv/config'
```
## Rule Files
See individual rule files for detailed command documentation:
```
references/init.md - Project initialization
references/generate.md - Client generation
references/dev.md - Local development database
references/db-pull.md - Database introspection
references/db-push.md - Schema push
references/db-seed.md - Database seeding
references/db-execute.md - Raw SQL execution
references/migrate-dev.md - Development migrations
references/migrate-deploy.md - ProductioTrust audit
BLOCKgrade F · trust 48/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (5 observation(s))
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (22)
DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public"
SHADOW_DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/kineo_shadow?schema=public"
TEST_DATABASE_ADMIN_URL="postgresql://johndoe:randompassword@localhost:5432/postgres"
Load environment variables explicitly in `prisma.config.ts`, commonly with `dotenv`:
.claude/skills/prisma-cli
.claude/skills/prisma-client-api
.claude/skills/prisma-database-setup
.claude/skills/prisma-upgrade-v7
DATABASE_URL="postgres://identifier:[email protected]:5432/postgres?sslmode=require"
DATABASE_URL: postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public
import { tokenSchema } from "../../lib/auth/schemas";import { textField } from "../../common/validation/text";} from "../../common/pagination";
import { ApplicationStatus } from "../../generated/prisma/enums";import { textField } from "../../common/validation/text";@nest-lab/throttler-storage-redis, @nestjs/common, @nestjs/config, @nestjs/core, @nestjs/mapped-types, @nestjs/platform-express, @nestjs/schedule, @nestjs/swagger
The endpoint is `POST /account/confirm-deletion` with the token from the emailed
You must manually load environment variables using `dotenv` or similar.
// Load specific .env file
This provides type safety but does NOT load .env files automatically.
- **Sensitive zones** (accepted, not fixed): `verification` holds the password-reset and account-deletion tokens in clear text — better-auth stores the email-verification ones as signed JWTs instead,
Gates applied: no_behavioural_pass, no_license.
922e9156fe08full audit observations/trust-audit/skill/lellis-group__kineo-nest-backend.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | 922e9156fe08 | BLOCK | F | 48 | first audit |
Questions
What does the kineo-nest-backend skill do?
NestJS backend for a platform connecting installed doctors with replacement doctors in France, cutting administrative friction around finding, applying for, and managing medical replacements between practices.
Is kineo-nest-backend safe to install?
No — not without reading the findings first. The audit graded it F (48/100) and found 4 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What can kineo-nest-backend access on my machine?
The audit observed that it reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.
Which assistants does kineo-nest-backend work with?
Its documentation mentions cursor. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (922e9156fe08), read on 2026-10-11. The repository is watched, and a new audit runs when it changes — this is the first audit.