Skip to content

Conversation

@aidankmcalister
Copy link
Member

@aidankmcalister aidankmcalister commented Nov 25, 2025

Summary by CodeRabbit

  • Documentation
    • Updated Node.js prerequisite requirement from 18+ to 20+ across multiple integration guides (Turborepo, Next.js, SolidStart, SvelteKit, Clerk, Astro, BetterAuth, GitHub Actions, Auth.js, and others)
    • Added new NestJS integration guide demonstrating Prisma ORM setup with REST API examples
    • Corrected MongoDB documentation links in raw query and Mongoose comparison documentation

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 25, 2025

Walkthrough

Node.js prerequisite bumped from 18+ to 20+ across 14 guide files for consistency. New NestJS integration guide added with complete Prisma/REST API example. Sidebar configuration updated to include the new NestJS guide. MongoDB documentation hyperlinks corrected in ORM reference materials.

Changes

Cohort / File(s) Summary
Node.js version prerequisite updates
content/800-guides/080-turborepo.mdx, 090-nextjs.mdx, 150-multiple-databases.mdx, 180-solid-start.mdx, 190-sveltekit.mdx, 200-clerk-nextjs.mdx, 220-astro.mdx, 230-betterauth-nextjs.mdx, 330-github-actions.mdx, 340-ai-sdk-nextjs.mdx, 350-authjs-nextjs.mdx, 360-embed-studio-nextjs.mdx, 400-betterauth-astro.mdx, 999-making-guides.mdx
Prerequisites section updated: Node.js requirement changed uniformly from 18+ to 20+ across all guides
New NestJS guide
content/800-guides/430-nestjs.mdx
New comprehensive guide added covering Prisma ORM integration with NestJS REST API, including PrismaService setup, CRUD operations via UserService and PostService, REST endpoints in AppController, schema guidance, and curl/HTTPie testing examples
Sidebar configuration
sidebars.ts
Added "guides/nestjs" entry to Web Frameworks category in guidesSidebar with lexical sorting applied
MongoDB documentation hyperlinks
content/200-orm/200-prisma-client/150-using-raw-sql/200-raw-queries.mdx
Corrected MongoDB reference links: findRaw filter parameter link updated to MongoDB query predicates; aggregateRaw pipeline parameter link updated to MongoDB Atlas data-federation aggregation reference
Mongoose documentation link
content/200-orm/800-more/400-comparisons/03-prisma-and-mongoose.mdx
Updated hyperlink in Mongoose section from MongoDB query selectors to MongoDB query predicates

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Version bump homogeneity: The 14 prerequisite updates follow an identical pattern, reducing cognitive load per file but requiring scanning for consistency.
  • New NestJS guide substance: The 430-nestjs.mdx addition is comprehensive with multiple service classes, dependency injection wiring, and API examples—requires thorough verification of code correctness, Prisma patterns, and accuracy of migration guidance.
  • Link corrections: Low complexity, but verify that both old and new URLs are valid and target appropriate MongoDB documentation sections.

Possibly related PRs

Pre-merge checks

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the primary change: adding a new NestJS guide. However, it's quite minimal and doesn't capture the broader scope of version updates across multiple guides.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Comment @coderabbitai help to get the list of available commands and usage tips.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Nov 25, 2025

Deploying docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 30082c8
Status: ✅  Deploy successful!
Preview URL: https://f9ed3a6c.docs-51g.pages.dev
Branch Preview URL: https://dc-5237-nestjs-guide.docs-51g.pages.dev

View logs

@github-actions
Copy link
Contributor

github-actions bot commented Nov 25, 2025

original preview
content/800-guides/430-nestjs.mdx content/800-guides/430-nestjs.mdx
content/200-orm/200-prisma-client/150-using-raw-sql/200-raw-queries.mdx content/200-orm/200-prisma-client/150-using-raw-sql/200-raw-queries.mdx
content/200-orm/800-more/400-comparisons/03-prisma-and-mongoose.mdx content/200-orm/800-more/400-comparisons/03-prisma-and-mongoose.mdx
content/800-guides/080-turborepo.mdx content/800-guides/080-turborepo.mdx
content/800-guides/090-nextjs.mdx content/800-guides/090-nextjs.mdx
content/800-guides/150-multiple-databases.mdx content/800-guides/150-multiple-databases.mdx
content/800-guides/180-solid-start.mdx content/800-guides/180-solid-start.mdx
content/800-guides/190-sveltekit.mdx content/800-guides/190-sveltekit.mdx
content/800-guides/200-clerk-nextjs.mdx content/800-guides/200-clerk-nextjs.mdx
content/800-guides/220-astro.mdx content/800-guides/220-astro.mdx
content/800-guides/230-betterauth-nextjs.mdx content/800-guides/230-betterauth-nextjs.mdx
content/800-guides/330-github-actions.mdx content/800-guides/330-github-actions.mdx
content/800-guides/340-ai-sdk-nextjs.mdx content/800-guides/340-ai-sdk-nextjs.mdx
content/800-guides/350-authjs-nextjs.mdx content/800-guides/350-authjs-nextjs.mdx
content/800-guides/360-embed-studio-nextjs.mdx content/800-guides/360-embed-studio-nextjs.mdx
content/800-guides/400-betterauth-astro.mdx content/800-guides/400-betterauth-astro.mdx
content/800-guides/999-making-guides.mdx content/800-guides/999-making-guides.mdx

@github-actions
Copy link
Contributor

Redirect check

This PR probably requires the following redirects to be added to static/_redirects:

  • This PR does not change any pages in a way that would require a redirect.

@github-actions
Copy link
Contributor

Dangerous URL check

No absolute URLs to prisma.io/docs found.
No local URLs found.

@github-actions
Copy link
Contributor

Images automagically compressed by Calibre's image-actions

Compression reduced images by 85.9%, saving 339.3 KB.

Filename Before After Improvement Visual comparison
static/img/guides/prisma-nestjs-cover.png 394.9 KB 55.6 KB 85.9% View diff

@github-actions
Copy link
Contributor

🍈 Lychee Link Check Report

Note: Links are cached for 5 minutes. Failed links (timeouts, rate limits) are retried in a second run with longer timeout.

📊 Results Overview

Status Count
🔍 Total 2257
✅ Successful 2221
⏳ Timeouts 0
🔀 Redirected 6
👻 Excluded 24
❓ Unknown 0
🚫 Errors 5
⛔ Unsupported 1

Errors per input

Errors in 200-orm/200-prisma-client/150-using-raw-sql/200-raw-queries.mdx

Errors in 200-orm/800-more/400-comparisons/03-prisma-and-mongoose.mdx

Errors in 800-guides/430-nestjs.mdx

@github-actions
Copy link
Contributor

🍈 Lychee Link Check Report

Note: Links are cached for 5 minutes. Failed links (timeouts, rate limits) are retried in a second run with longer timeout.

📊 Results Overview

Status Count
🔍 Total 2257
✅ Successful 2222
⏳ Timeouts 0
🔀 Redirected 5
👻 Excluded 24
❓ Unknown 0
🚫 Errors 5
⛔ Unsupported 1

Errors per input

Errors in 200-orm/200-prisma-client/150-using-raw-sql/200-raw-queries.mdx

Errors in 200-orm/800-more/400-comparisons/03-prisma-and-mongoose.mdx

Errors in 800-guides/430-nestjs.mdx

@github-actions
Copy link
Contributor

🍈 Lychee Link Check Report

Note: Links are cached for 5 minutes. Failed links (timeouts, rate limits) are retried in a second run with longer timeout.

📊 Results Overview

Status Count
🔍 Total 2256
✅ Successful 2222
⏳ Timeouts 0
🔀 Redirected 6
👻 Excluded 24
❓ Unknown 0
🚫 Errors 3
⛔ Unsupported 1

Errors per input

Errors in 200-orm/200-prisma-client/150-using-raw-sql/200-raw-queries.mdx

Errors in 200-orm/800-more/400-comparisons/03-prisma-and-mongoose.mdx

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (5)
content/800-guides/190-sveltekit.mdx (1)

20-20: Prerequisite update is consistent.

content/800-guides/200-clerk-nextjs.mdx (1)

19-19: LGTM.

content/800-guides/150-multiple-databases.mdx (1)

23-23: LGTM.

content/800-guides/230-betterauth-nextjs.mdx (1)

19-19: LGTM.

content/800-guides/400-betterauth-astro.mdx (1)

19-19: LGTM.

🧹 Nitpick comments (3)
content/800-guides/430-nestjs.mdx (3)

265-266: Minor: Remove extra blank line at start of PostService.

Line 266 has an unnecessary blank line before the import statement. This is a minor formatting inconsistency.

-

 import { Injectable } from '@nestjs/common';

437-437: Minor style: Use "who" when referring to people.

At line 437, change "the user that creates the post" to "the user who creates the post" for grammatical consistency with referring to people.

-    - `authorEmail: String` (required): The email of the user that creates the post
+    - `authorEmail: String` (required): The email of the user who creates the post

325-325: Minor: Hyphenate compound adjective "real-world".

The phrase "real world application" should use a hyphen: "real-world application" when used as a compound adjective before the noun.

-Your `UserService` and `PostService` currently wrap the CRUD queries that are available in Prisma Client. In a real world application, the service would also be the place to add business logic to your application.
+Your `UserService` and `PostService` currently wrap the CRUD queries that are available in Prisma Client. In a real-world application, the service would also be the place to add business logic to your application.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2cf9b86 and 8625a04.

⛔ Files ignored due to path filters (1)
  • static/img/guides/prisma-nestjs-cover.png is excluded by !**/*.png
📒 Files selected for processing (17)
  • content/800-guides/080-turborepo.mdx (1 hunks)
  • content/800-guides/090-nextjs.mdx (1 hunks)
  • content/800-guides/150-multiple-databases.mdx (1 hunks)
  • content/800-guides/160-tanstack-start.mdx (1 hunks)
  • content/800-guides/180-solid-start.mdx (1 hunks)
  • content/800-guides/190-sveltekit.mdx (1 hunks)
  • content/800-guides/200-clerk-nextjs.mdx (1 hunks)
  • content/800-guides/220-astro.mdx (1 hunks)
  • content/800-guides/230-betterauth-nextjs.mdx (1 hunks)
  • content/800-guides/330-github-actions.mdx (1 hunks)
  • content/800-guides/340-ai-sdk-nextjs.mdx (1 hunks)
  • content/800-guides/350-authjs-nextjs.mdx (1 hunks)
  • content/800-guides/360-embed-studio-nextjs.mdx (1 hunks)
  • content/800-guides/400-betterauth-astro.mdx (1 hunks)
  • content/800-guides/430-nestjs.mdx (1 hunks)
  • content/800-guides/999-making-guides.mdx (1 hunks)
  • sidebars.ts (1 hunks)
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7301
File: content/800-guides/410-cloudflare-workers.mdx:87-107
Timestamp: 2025-11-20T21:00:02.587Z
Learning: Do not suggest changes to `prisma.config.ts` files in the prisma/docs repository, as the code examples are intentional for documentation purposes.
📚 Learning: 2025-10-08T16:22:57.129Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7165
File: content/800-guides/550-test-guide.mdx:50-66
Timestamp: 2025-10-08T16:22:57.129Z
Learning: In `.mdx` files, do NOT flag or suggest changes for the following code quality issues even if they represent poor practices: React anti-patterns (using var instead of useState, direct DOM manipulation), missing keys in .map() iterations, non-serializable props in getServerSideProps, unused variables, missing error handling, SQL injection vulnerabilities (unless actively showing how to fix them), insecure cookie settings, missing TypeScript types, PrismaClient instantiation patterns, or any other code quality, security, or performance issues. Documentation code snippets are copied from source code and often intentionally show "before" examples or common mistakes.

Applied to files:

  • content/800-guides/350-authjs-nextjs.mdx
  • content/800-guides/090-nextjs.mdx
  • content/800-guides/180-solid-start.mdx
  • content/800-guides/230-betterauth-nextjs.mdx
  • content/800-guides/360-embed-studio-nextjs.mdx
  • content/800-guides/200-clerk-nextjs.mdx
📚 Learning: 2025-10-09T21:32:50.340Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7167
File: content/900-ai/prompts/astro.mdx:84-84
Timestamp: 2025-10-09T21:32:50.340Z
Learning: The `npx prisma init` command supports the following flags: `--db` (shorthand for `--datasource-provider prisma+postgres`), `--output` (specifies output location for generated client), `--generator-provider` (defines the generator provider), `--datasource-provider`, `--url`, `--preview-feature`, and `--with-model`. These are documented valid CLI options for Prisma init command.

Applied to files:

  • content/800-guides/090-nextjs.mdx
  • content/800-guides/400-betterauth-astro.mdx
  • content/800-guides/150-multiple-databases.mdx
  • content/800-guides/360-embed-studio-nextjs.mdx
  • content/800-guides/330-github-actions.mdx
📚 Learning: 2025-10-08T16:23:00.388Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7165
File: content/800-guides/550-test-guide.mdx:85-90
Timestamp: 2025-10-08T16:23:00.388Z
Learning: For .mdx files in the prisma/docs repository: All headings and titles should use sentence case (e.g., "Getting started with Prisma ORM", "Best practices for authentication"), not title case. Exception: Always preserve exact casing for product names including "Prisma Postgres", "Prisma", "Prisma ORM", and "Prisma Data Platform".

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-11-20T21:00:02.587Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7301
File: content/800-guides/410-cloudflare-workers.mdx:87-107
Timestamp: 2025-11-20T21:00:02.587Z
Learning: Do not suggest changes to `prisma.config.ts` files in the prisma/docs repository, as the code examples are intentional for documentation purposes.

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-10-08T16:23:00.388Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7165
File: content/800-guides/550-test-guide.mdx:85-90
Timestamp: 2025-10-08T16:23:00.388Z
Learning: For .mdx files in the prisma/docs repository: Only flag code snippets for (1) exposed secrets with real-looking values that should be placeholders (e.g., API keys, database passwords, AWS credentials), or (2) blatant syntax errors like missing parentheses, brackets, braces, or mismatched delimiters. Do not flag code quality issues, anti-patterns, security vulnerabilities, missing error handling, unused variables, or any other bad practices, as documentation intentionally shows problematic code.

Applied to files:

  • content/800-guides/430-nestjs.mdx
🪛 LanguageTool
content/800-guides/430-nestjs.mdx

[grammar] ~325-~325: Use a hyphen to join words.
Context: ...re available in Prisma Client. In a real world application, the service would als...

(QB_NEW_EN_HYPHEN)


[style] ~437-~437: Consider using “who” when you are referring to a person instead of an object.
Context: ...ring(required): The email of the user that creates the post -/user`: Create a ne...

(THAT_WHO)


[style] ~520-~520: Consider using an alternative to strengthen your wording.
Context: ...ata needs of incoming requests. If you want to learn more about using NestJS with P...

(WANT_KEEN)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (18)
content/800-guides/340-ai-sdk-nextjs.mdx (1)

18-18: Consistent prerequisite update as part of project-wide Node.js 20+ migration.

This aligns with the PR's goal to update minimum Node.js version across all guides. The change is clean and properly formatted.

content/800-guides/090-nextjs.mdx (1)

30-30: Consistent prerequisite update as part of project-wide Node.js 20+ migration.

The change aligns perfectly with the broader guide updates in this PR. No issues detected.

content/800-guides/360-embed-studio-nextjs.mdx (1)

41-41: Consistent prerequisite update as part of project-wide Node.js 20+ migration.

Clean and properly formatted, aligned with the PR's modernization effort across all guides.

content/800-guides/080-turborepo.mdx (1)

26-26: Consistent prerequisite update as part of project-wide Node.js 20+ migration.

Properly formatted and aligned with the PR's objective to update Node.js requirements across all guides.

content/800-guides/160-tanstack-start.mdx (1)

18-18: Consistent prerequisite update as part of project-wide Node.js 20+ migration.

The change is well-formatted and follows the same pattern across all updated guides in this PR.

content/800-guides/330-github-actions.mdx (1)

23-23: Consistent prerequisite update as part of project-wide Node.js 20+ migration.

The wording "20 or later" slightly differs from the "20+" format in other guides but is equally clear and acceptable. No changes needed.

content/800-guides/350-authjs-nextjs.mdx (1)

19-19: Consistent prerequisite update as part of project-wide Node.js 20+ migration.

Properly formatted and aligned with the PR's modernization effort across all guides.

content/800-guides/180-solid-start.mdx (1)

18-18: Consistent prerequisite update as part of project-wide Node.js 20+ migration.

Clean update that aligns with the PR's objective to modernize Node.js requirements across all guides.

content/800-guides/999-making-guides.mdx (1)

258-258: Template update is important and correct.

Good catch updating the template as well—this ensures future guides will use the correct Node.js prerequisite from the start.

sidebars.ts (1)

363-363: Sidebar entry is correct, but where's the NestJS guide?

The sidebar configuration looks good—the new NestJS guide is properly added to the Web Frameworks category and will be sorted alphabetically. However, the actual guide file content/800-guides/430-nestjs.mdx was not included in this review. Since the PR is titled "DC-5237 NestJS Guide" and the AI summary mentions this file contains "full CRUD API examples," it's surprising that the main deliverable isn't part of the review.

Can you confirm whether content/800-guides/430-nestjs.mdx exists and contains the expected NestJS integration guide content? It would be helpful to review that file as well since it's the primary focus of this PR.

content/800-guides/220-astro.mdx (1)

27-27: Node.js version requirement update is sound and well-timed.

The shift from 18+ to 20+ aligns perfectly with end-of-life planning: Node.js 18 reaches end-of-life on April 30, 2025, making this proactive deprecation sensible. While the current Active LTS is Node.js 24, requiring 20+ strikes a practical balance—it drops support for an aging release before it becomes unsupported, yet doesn't force users onto the absolute latest version. The change is consistent across guides and demonstrates forward-thinking maintenance practices.

content/800-guides/430-nestjs.mdx (7)

1-12: Frontmatter looks great.

Metadata is properly formatted with appropriate title (sentence case), description, tags, and image reference.


14-32: Introduction and prerequisites are well-structured.

Clear explanation of guide purpose, good reference to the example repository, and prerequisites are explicit. The note about adding Prisma to existing projects is helpful context.


51-166: Setup section is comprehensive and clearly structured.

The step-by-step Prisma initialization with clear code examples, proper schema definition, and migration workflow provides a solid foundation. All code blocks have correct file paths and syntax.


174-323: Services demonstrate excellent type safety and NestJS patterns.

The PrismaService correctly uses the adapter pattern with proper imports, and both UserService and PostService exhibit clean CRUD abstractions leveraging Prisma's generated types. This is a great example for documentation.


327-450: Controller routes are well-designed with clear documentation.

The REST API implementation covers all CRUD operations with proper HTTP methods and parameter handling. The route documentation clearly explains each endpoint's purpose, parameters, and body structure. Excellent example.


477-514: Testing section provides practical curl examples.

Clear instructions for starting the application and comprehensive curl examples covering all API endpoints. The mention of alternative tools (Postman, HTTPie) is helpful for developers.


516-525: Summary effectively closes the guide with helpful resources.

The conclusion ties together the key concepts and provides multiple paths for deeper learning. References to example projects and production starter kits add practical value.

coderabbitai[bot]
coderabbitai bot previously approved these changes Nov 25, 2025
coderabbitai[bot]
coderabbitai bot previously approved these changes Nov 25, 2025
@github-actions
Copy link
Contributor

🍈 Lychee Link Check Report

Note: Links are cached for 5 minutes. Failed links (timeouts, rate limits) are retried in a second run with longer timeout.

📊 Results Overview

Status Count
🔍 Total 2256
✅ Successful 2014
⏳ Timeouts 0
🔀 Redirected 216
👻 Excluded 24
❓ Unknown 0
🚫 Errors 1
⛔ Unsupported 1

Errors per input

Errors in 250-postgres/400-query-optimization/300-recommendations/600-avoid-db-money.mdx

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
content/800-guides/430-nestjs.mdx (2)

319-319: Hyphenate compound modifier "real-world".

Line 319 contains "In a real world application" which should use a hyphen between the words when used as a compound modifier.

-Your `UserService` and `PostService` currently wrap the CRUD queries that are available in Prisma Client. In a real world application, the service would also be the place to add business logic to your application.
+Your `UserService` and `PostService` currently wrap the CRUD queries that are available in Prisma Client. In a real-world application, the service would also be the place to add business logic to your application.

431-431: Use "who" when referring to a person.

Line 431 uses "the user that creates the post" but should use "who" for reference to a person.

-    - `authorEmail: String` (required): The email of the user that creates the post
+    - `authorEmail: String` (required): The email of the user who creates the post
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3dfcaae and e0ab215.

📒 Files selected for processing (1)
  • content/800-guides/430-nestjs.mdx (1 hunks)
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7301
File: content/800-guides/410-cloudflare-workers.mdx:87-107
Timestamp: 2025-11-20T21:00:02.587Z
Learning: Do not suggest changes to `prisma.config.ts` files in the prisma/docs repository, as the code examples are intentional for documentation purposes.
📚 Learning: 2025-10-08T16:23:00.388Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7165
File: content/800-guides/550-test-guide.mdx:85-90
Timestamp: 2025-10-08T16:23:00.388Z
Learning: For .mdx files in the prisma/docs repository: All headings and titles should use sentence case (e.g., "Getting started with Prisma ORM", "Best practices for authentication"), not title case. Exception: Always preserve exact casing for product names including "Prisma Postgres", "Prisma", "Prisma ORM", and "Prisma Data Platform".

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-11-20T21:00:02.587Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7301
File: content/800-guides/410-cloudflare-workers.mdx:87-107
Timestamp: 2025-11-20T21:00:02.587Z
Learning: Do not suggest changes to `prisma.config.ts` files in the prisma/docs repository, as the code examples are intentional for documentation purposes.

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-10-08T16:23:00.388Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7165
File: content/800-guides/550-test-guide.mdx:85-90
Timestamp: 2025-10-08T16:23:00.388Z
Learning: For .mdx files in the prisma/docs repository: Only flag code snippets for (1) exposed secrets with real-looking values that should be placeholders (e.g., API keys, database passwords, AWS credentials), or (2) blatant syntax errors like missing parentheses, brackets, braces, or mismatched delimiters. Do not flag code quality issues, anti-patterns, security vulnerabilities, missing error handling, unused variables, or any other bad practices, as documentation intentionally shows problematic code.

Applied to files:

  • content/800-guides/430-nestjs.mdx
🪛 LanguageTool
content/800-guides/430-nestjs.mdx

[grammar] ~319-~319: Use a hyphen to join words.
Context: ...re available in Prisma Client. In a real world application, the service would als...

(QB_NEW_EN_HYPHEN)


[style] ~431-~431: Consider using “who” when you are referring to a person instead of an object.
Context: ...ring(required): The email of the user that creates the post -/user`: Create a ne...

(THAT_WHO)


[style] ~514-~514: Consider using an alternative to strengthen your wording.
Context: ...ata needs of incoming requests. If you want to learn more about using NestJS with P...

(WANT_KEEN)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Check links
  • GitHub Check: Check internal links
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (1)
content/800-guides/430-nestjs.mdx (1)

1-519: Excellent comprehensive guide for Prisma + NestJS integration.

The guide is well-structured, follows all documentation conventions (sentence-case headings, proper file attributes on code blocks, consistent formatting), and provides clear step-by-step instructions. The code examples are syntactically correct and include all necessary imports and configurations. Prerequisites are properly specified, and the REST API example effectively demonstrates CRUD operations with Prisma Client through a NestJS controller and service pattern.

coderabbitai[bot]
coderabbitai bot previously approved these changes Nov 25, 2025
@github-actions
Copy link
Contributor

🍈 Lychee Link Check Report

Note: Links are cached for 5 minutes. Failed links (timeouts, rate limits) are retried in a second run with longer timeout.

📊 Results Overview

Status Count
🔍 Total 2256
✅ Successful 2228
⏳ Timeouts 0
🔀 Redirected 2
👻 Excluded 24
❓ Unknown 0
🚫 Errors 1
⛔ Unsupported 1

Errors per input

Errors in 250-postgres/400-query-optimization/300-recommendations/600-avoid-db-money.mdx

@github-actions
Copy link
Contributor

🍈 Lychee Link Check Report

Note: Links are cached for 5 minutes. Failed links (timeouts, rate limits) are retried in a second run with longer timeout.

📊 Results Overview

Status Count
🔍 Total 2256
✅ Successful 2226
⏳ Timeouts 0
🔀 Redirected 4
👻 Excluded 24
❓ Unknown 0
🚫 Errors 1
⛔ Unsupported 1

Errors per input

Errors in 250-postgres/400-query-optimization/300-recommendations/600-avoid-db-money.mdx

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (3)
content/800-guides/430-nestjs.mdx (3)

319-319: Hyphenate "real world" → "real-world".

- In a real world application, the service would also be the place to add business logic to your application.
+ In a real-world application, the service would also be the place to add business logic to your application.

431-431: Use "who" instead of "that" when referring to a person.

The phrase "the user that creates the post" should use "who" for person references:

-    - `authorEmail: String` (required): The email of the user that creates the post
+    - `authorEmail: String` (required): The email of the user who creates the post

514-514: Strengthen the closing call to action.

Consider a more direct invitation than "want to learn more":

- If you want to learn more about using NestJS with Prisma, be sure to check out the following resources:
+ To deepen your understanding of using NestJS with Prisma, explore these resources:
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e0ab215 and e0035ff.

📒 Files selected for processing (1)
  • content/800-guides/430-nestjs.mdx (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7301
File: content/800-guides/410-cloudflare-workers.mdx:87-107
Timestamp: 2025-11-20T21:00:02.587Z
Learning: Do not suggest changes to `prisma.config.ts` files in the prisma/docs repository, as the code examples are intentional for documentation purposes.
📚 Learning: 2025-10-08T16:23:00.388Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7165
File: content/800-guides/550-test-guide.mdx:85-90
Timestamp: 2025-10-08T16:23:00.388Z
Learning: For .mdx files in the prisma/docs repository: All headings and titles should use sentence case (e.g., "Getting started with Prisma ORM", "Best practices for authentication"), not title case. Exception: Always preserve exact casing for product names including "Prisma Postgres", "Prisma", "Prisma ORM", and "Prisma Data Platform".

Applied to files:

  • content/800-guides/430-nestjs.mdx
🪛 LanguageTool
content/800-guides/430-nestjs.mdx

[grammar] ~319-~319: Use a hyphen to join words.
Context: ...re available in Prisma Client. In a real world application, the service would als...

(QB_NEW_EN_HYPHEN)


[style] ~431-~431: Consider using “who” when you are referring to a person instead of an object.
Context: ...ring(required): The email of the user that creates the post -/user`: Create a ne...

(THAT_WHO)


[style] ~514-~514: Consider using an alternative to strengthen your wording.
Context: ...ata needs of incoming requests. If you want to learn more about using NestJS with P...

(WANT_KEEN)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Check internal links
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (1)
content/800-guides/430-nestjs.mdx (1)

1-12: Guide structure and content are solid.

The guide provides a well-organized, practical introduction to integrating Prisma ORM with NestJS. The progression from setup through services to controllers and testing follows a logical flow, and the examples are appropriately scoped for beginners. Once the naming inconsistencies above are resolved, this will be a valuable addition to the guides library.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (4)
content/800-guides/430-nestjs.mdx (4)

319-319: Use hyphenated form: "real-world" instead of "real world".

When using "real world" as a compound modifier before a noun, it should be hyphenated for clarity.

-In a real world application, the service would also be the place to add business logic to your application.
+In a real-world application, the service would also be the place to add business logic to your application.

347-349: Standardize constructor parameter naming to camelCase.

The UserService parameter uses PascalCase while postService uses camelCase. NestJS convention is camelCase for variable names. This also makes the usage on line 399 (this.UserService.createUser()) appear inconsistent.

   constructor(
-    private readonly UserService: UserService,
+    private readonly userService: UserService,
     private readonly postService: PostService,
   ) {}

Then update the usage on line 399:

-    return this.UserService.createUser(userData);
+    return this.userService.createUser(userData);

431-431: Use "who" when referring to a person.

The phrase "the user that creates" should use "who" instead of "that" when referring to a person.

-    - `authorEmail: String` (required): The email of the user that creates the post
+    - `authorEmail: String` (required): The email of the user who creates the post

514-514: Consider more direct wording in the closing call-to-action.

The phrase "If you want to learn more" is somewhat indirect for documentation. A stronger alternative might better guide readers toward resources.

-If you want to learn more about using NestJS with Prisma, be sure to check out the following resources:
+To learn more about using NestJS with Prisma, check out the following resources:
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e0035ff and 337ed6f.

📒 Files selected for processing (1)
  • content/800-guides/430-nestjs.mdx (1 hunks)
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7301
File: content/800-guides/410-cloudflare-workers.mdx:87-107
Timestamp: 2025-11-20T21:00:02.587Z
Learning: Do not suggest changes to `prisma.config.ts` files in the prisma/docs repository, as the code examples are intentional for documentation purposes.
📚 Learning: 2025-10-08T16:23:00.388Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7165
File: content/800-guides/550-test-guide.mdx:85-90
Timestamp: 2025-10-08T16:23:00.388Z
Learning: For .mdx files in the prisma/docs repository: All headings and titles should use sentence case (e.g., "Getting started with Prisma ORM", "Best practices for authentication"), not title case. Exception: Always preserve exact casing for product names including "Prisma Postgres", "Prisma", "Prisma ORM", and "Prisma Data Platform".

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-11-20T21:00:02.587Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7301
File: content/800-guides/410-cloudflare-workers.mdx:87-107
Timestamp: 2025-11-20T21:00:02.587Z
Learning: Do not suggest changes to `prisma.config.ts` files in the prisma/docs repository, as the code examples are intentional for documentation purposes.

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-10-08T16:23:00.388Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7165
File: content/800-guides/550-test-guide.mdx:85-90
Timestamp: 2025-10-08T16:23:00.388Z
Learning: For .mdx files in the prisma/docs repository: Only flag code snippets for (1) exposed secrets with real-looking values that should be placeholders (e.g., API keys, database passwords, AWS credentials), or (2) blatant syntax errors like missing parentheses, brackets, braces, or mismatched delimiters. Do not flag code quality issues, anti-patterns, security vulnerabilities, missing error handling, unused variables, or any other bad practices, as documentation intentionally shows problematic code.

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-10-10T13:13:30.534Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7167
File: content/900-ai/prompts/astro.mdx:84-85
Timestamp: 2025-10-10T13:13:30.534Z
Learning: Do not review or comment on files in the `ai/prompts/` directory or matching the path pattern `content/900-ai/prompts/` in the prisma/docs repository.

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-10-08T16:22:57.129Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7165
File: content/800-guides/550-test-guide.mdx:50-66
Timestamp: 2025-10-08T16:22:57.129Z
Learning: In `.mdx` files, do NOT flag or suggest changes for the following code quality issues even if they represent poor practices: React anti-patterns (using var instead of useState, direct DOM manipulation), missing keys in .map() iterations, non-serializable props in getServerSideProps, unused variables, missing error handling, SQL injection vulnerabilities (unless actively showing how to fix them), insecure cookie settings, missing TypeScript types, PrismaClient instantiation patterns, or any other code quality, security, or performance issues. Documentation code snippets are copied from source code and often intentionally show "before" examples or common mistakes.

Applied to files:

  • content/800-guides/430-nestjs.mdx
🪛 LanguageTool
content/800-guides/430-nestjs.mdx

[grammar] ~109-~109: Ensure spelling is correct
Context: ... DATABASE_URL="" ``` :::note Make sure youhave a [ConfigModule](https://docs.nestjs.co...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~319-~319: Use a hyphen to join words.
Context: ...re available in Prisma Client. In a real world application, the service would als...

(QB_NEW_EN_HYPHEN)


[style] ~431-~431: Consider using “who” when you are referring to a person instead of an object.
Context: ...ring(required): The email of the user that creates the post -/user`: Create a ne...

(THAT_WHO)


[style] ~514-~514: Consider using an alternative to strengthen your wording.
Context: ...ata needs of incoming requests. If you want to learn more about using NestJS with P...

(WANT_KEEN)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Check internal links
  • GitHub Check: Cloudflare Pages

@github-actions
Copy link
Contributor

🍈 Lychee Link Check Report

Note: Links are cached for 5 minutes. Failed links (timeouts, rate limits) are retried in a second run with longer timeout.

📊 Results Overview

Status Count
🔍 Total 2256
✅ Successful 2229
⏳ Timeouts 0
🔀 Redirected 2
👻 Excluded 24
❓ Unknown 0
🚫 Errors 0
⛔ Unsupported 1

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
content/800-guides/430-nestjs.mdx (2)

346-349: Inconsistent constructor parameter naming convention.

The constructor parameters mix naming conventions: UserService uses PascalCase while postService uses camelCase. For consistency, both should follow camelCase:

 constructor(
-  private readonly UserService: UserService,
+  private readonly userService: UserService,
   private readonly postService: PostService,
 ) {}

Then update references from this.UserService to this.userService within the controller methods (line 399).


319-319: Minor grammar and style improvements.

Static analysis suggests three refinements for clarity:

Line 319: Use hyphenated compound adjective:

-In a real world application, the service would also be the place to add business logic to your application.
+In a real-world application, the service would also be the place to add business logic to your application.

Line 431: Use "who" when referring to a person:

-`authorEmail: String` (required): The email of the user that creates the post
+`authorEmail: String` (required): The email of the user who creates the post

Line 514: Strengthen the phrasing:

-If you want to learn more about using NestJS with Prisma, be sure to check out the following resources:
+If you're keen to learn more about using NestJS with Prisma, be sure to check out the following resources:

Also applies to: 431-431, 514-514

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 337ed6f and 30082c8.

📒 Files selected for processing (1)
  • content/800-guides/430-nestjs.mdx (1 hunks)
🧰 Additional context used
🧠 Learnings (10)
📓 Common learnings
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7301
File: content/800-guides/410-cloudflare-workers.mdx:87-107
Timestamp: 2025-11-20T21:00:02.587Z
Learning: Do not suggest changes to `prisma.config.ts` files in the prisma/docs repository, as the code examples are intentional for documentation purposes.
📚 Learning: 2025-10-08T16:23:00.388Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7165
File: content/800-guides/550-test-guide.mdx:85-90
Timestamp: 2025-10-08T16:23:00.388Z
Learning: For .mdx files in the prisma/docs repository: All headings and titles should use sentence case (e.g., "Getting started with Prisma ORM", "Best practices for authentication"), not title case. Exception: Always preserve exact casing for product names including "Prisma Postgres", "Prisma", "Prisma ORM", and "Prisma Data Platform".

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-11-20T21:00:02.587Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7301
File: content/800-guides/410-cloudflare-workers.mdx:87-107
Timestamp: 2025-11-20T21:00:02.587Z
Learning: Do not suggest changes to `prisma.config.ts` files in the prisma/docs repository, as the code examples are intentional for documentation purposes.

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-10-08T16:23:00.388Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7165
File: content/800-guides/550-test-guide.mdx:85-90
Timestamp: 2025-10-08T16:23:00.388Z
Learning: For .mdx files in the prisma/docs repository: Only flag code snippets for (1) exposed secrets with real-looking values that should be placeholders (e.g., API keys, database passwords, AWS credentials), or (2) blatant syntax errors like missing parentheses, brackets, braces, or mismatched delimiters. Do not flag code quality issues, anti-patterns, security vulnerabilities, missing error handling, unused variables, or any other bad practices, as documentation intentionally shows problematic code.

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-10-10T13:13:30.534Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7167
File: content/900-ai/prompts/astro.mdx:84-85
Timestamp: 2025-10-10T13:13:30.534Z
Learning: Do not review or comment on files in the `ai/prompts/` directory or matching the path pattern `content/900-ai/prompts/` in the prisma/docs repository.

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-10-08T16:22:57.129Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7165
File: content/800-guides/550-test-guide.mdx:50-66
Timestamp: 2025-10-08T16:22:57.129Z
Learning: In `.mdx` files, do NOT flag or suggest changes for the following code quality issues even if they represent poor practices: React anti-patterns (using var instead of useState, direct DOM manipulation), missing keys in .map() iterations, non-serializable props in getServerSideProps, unused variables, missing error handling, SQL injection vulnerabilities (unless actively showing how to fix them), insecure cookie settings, missing TypeScript types, PrismaClient instantiation patterns, or any other code quality, security, or performance issues. Documentation code snippets are copied from source code and often intentionally show "before" examples or common mistakes.

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-10-09T21:32:50.340Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7167
File: content/900-ai/prompts/astro.mdx:84-84
Timestamp: 2025-10-09T21:32:50.340Z
Learning: The `npx prisma init` command supports the following flags: `--db` (shorthand for `--datasource-provider prisma+postgres`), `--output` (specifies output location for generated client), `--generator-provider` (defines the generator provider), `--datasource-provider`, `--url`, `--preview-feature`, and `--with-model`. These are documented valid CLI options for Prisma init command.

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-10-15T06:36:42.423Z
Learnt from: jy-joung-bitor
Repo: prisma/docs PR: 0
File: :0-0
Timestamp: 2025-10-15T06:36:42.423Z
Learning: The `tsc --init` command requires the `--types node` flag to properly include Node.js type definitions from `types/node` in the generated tsconfig.json, even when types/node is already installed. Without this flag, TypeScript may not automatically pick up Node.js typings.

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-10-03T19:30:57.554Z
Learnt from: aidankmcalister
Repo: prisma/docs PR: 7157
File: content/800-guides/400-deno-integration.mdx:188-190
Timestamp: 2025-10-03T19:30:57.554Z
Learning: For the prisma/docs repository, do not suggest changes to code blocks when reviewing documentation pull requests.

Applied to files:

  • content/800-guides/430-nestjs.mdx
📚 Learning: 2025-08-11T09:40:55.237Z
Learnt from: ankur-arch
Repo: prisma/docs PR: 7066
File: content/200-orm/200-prisma-client/700-debugging-and-troubleshooting/245-troubleshooting-binary-size-issues.mdx:8-22
Timestamp: 2025-08-11T09:40:55.237Z
Learning: When the queryCompiler preview feature is enabled in Prisma ORM (v6.7.0+), it does not require Rust engines for CLI tools like `prisma migrate` or `prisma db pull`. The previous understanding that CLI tools would still need Rust binaries even with queryCompiler enabled is incorrect.

Applied to files:

  • content/800-guides/430-nestjs.mdx
🪛 LanguageTool
content/800-guides/430-nestjs.mdx

[grammar] ~319-~319: Use a hyphen to join words.
Context: ...re available in Prisma Client. In a real world application, the service would als...

(QB_NEW_EN_HYPHEN)


[style] ~431-~431: Consider using “who” when you are referring to a person instead of an object.
Context: ...ring(required): The email of the user that creates the post -/user`: Create a ne...

(THAT_WHO)


[style] ~514-~514: Consider using an alternative to strengthen your wording.
Context: ...ata needs of incoming requests. If you want to learn more about using NestJS with P...

(WANT_KEEN)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Cloudflare Pages
  • GitHub Check: Check internal links

@aidankmcalister aidankmcalister merged commit d496d1d into main Nov 26, 2025
9 checks passed
@aidankmcalister aidankmcalister deleted the DC-5237-nestjs-guide branch November 26, 2025 13:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants