Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughMass formatting and style normalization across repositories: quote normalization, JSX/TS signature reflow, JSON/YAML whitespace fixes, many single-line ↔ multi-line consolidations, a few behavioral edits (CORS in blog newsletter route, CSS keyframe renames, small regex tweaks). Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
|
🍈 Lychee Link Check Report3734 links: ❌ Errors
Full Statistics Table
|
|
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
There was a problem hiding this comment.
Actionable comments posted: 14
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
apps/docs/content/docs/management-api/endpoints/[experimental]/post-versions-by-version-id-start.mdx (1)
1-31:⚠️ Potential issue | 🟠 MajorDo not manually format generated files.
Line 21 explicitly states this file is generated by Fumadocs and should not be edited directly. Applying OXC formatting to generated files creates a maintenance problem—these changes will be overwritten the next time the generation command runs.
Recommended approach:
- Update the Fumadocs generator template to output with the new OXC formatting conventions
- Regenerate all endpoint documentation
- Exclude generated files from manual formatting runs (or ensure the generator runs after formatting)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/content/docs/management-api/endpoints/`[experimental]/post-versions-by-version-id-start.mdx around lines 1 - 31, The generated docs file contains a header "This file was generated by Fumadocs. Do not edit this file directly." but was manually reformatted; revert any manual formatting changes to this generated file and do not commit them, then update the Fumadocs generator template to emit the new OXC formatting so generated files match the project's style, regenerate all endpoint docs (including the Start compute version doc that contains the "/v1/versions/{versionId}/start" operation), and ensure generated files are excluded from manual formatting passes (or run the generator after formatting) to prevent future overwrites.
♻️ Duplicate comments (6)
apps/docs/content/docs/management-api/endpoints/[experimental]/get-compute-services-versions-by-version-id-logs.mdx (1)
1-31:⚠️ Potential issue | 🟠 MajorDo not manually format generated files.
Generated files (see line 21) should not be manually edited. Format the generator template, then regenerate the documentation.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/content/docs/management-api/endpoints/`[experimental]/get-compute-services-versions-by-version-id-logs.mdx around lines 1 - 31, This file contains a generated notice ("This file was generated by Fumadocs. Do not edit this file directly.") so do not manually reformat or edit the MDX; instead update the generator/template that produces this document (the Fumadocs template responsible for the content around the generated notice and headings) and then run the documentation generation command to regenerate the file so the changes persist; locate the generator/template that emits the title/description/openapi block and adjust formatting there rather than editing the generated file.apps/docs/content/docs/management-api/endpoints/databases/get-databases-by-database-id.mdx (1)
1-26:⚠️ Potential issue | 🟠 MajorDo not manually format generated files.
Generated by Fumadocs (line 18). Formatting changes here are transient—fix the generator template instead.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/content/docs/management-api/endpoints/databases/get-databases-by-database-id.mdx` around lines 1 - 26, This generated file contains manual formatting changes that should not be committed; revert any edits in the file that alter the autogenerated content (look for the Fumadocs marker comment and the APIPage usage) and restore the original output from the generator, then update the Fumadocs generator/template (not this file) to incorporate any desired formatting changes so future runs produce the intended layout; ensure the commit removes manual edits around the "/* This file was generated by Fumadocs. Do not edit this file directly. */" block and leaves the APIPage/metadata structure intact.apps/docs/content/docs/management-api/endpoints/connections/delete-connections-by-id.mdx (1)
1-26:⚠️ Potential issue | 🟠 MajorDo not manually format generated files.
This is a generated file (line 18). These formatting changes will be lost on regeneration. Update the Fumadocs generator to produce the desired format.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/content/docs/management-api/endpoints/connections/delete-connections-by-id.mdx` around lines 1 - 26, This file is generated by Fumadocs (see the generated notice near the top and the APIPage component usage) so do not manually reformat or edit the content; revert any style/formatting changes in this MDX (including changes around the generated header and the APIPage block) and instead update the Fumadocs generator templates to change output formatting; also remove the accidental duplicate_review/duplicate_comment metadata if present in the generated output so the generator produces a single comment.apps/docs/content/docs/management-api/endpoints/[experimental]/get-versions-by-version-id.mdx (1)
1-31:⚠️ Potential issue | 🟠 MajorDo not manually format generated files.
This file is auto-generated (line 21). These manual edits will be overwritten. Update the generator to emit properly formatted output.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/content/docs/management-api/endpoints/`[experimental]/get-versions-by-version-id.mdx around lines 1 - 31, This file was manually reformatted but is auto-generated (see the generated warning and the APIPage usage), so revert any manual edits and regenerate the file from the source generator; then fix the generator/template that emits this MDX (the frontmatter block and the APIPage component with document={"management-api"} and operations props) so it outputs properly formatted content (remove the duplicate_comment emission and ensure correct newline/line placement) and verify the regenerated file no longer requires manual formatting.apps/docs/content/docs/management-api/endpoints/[experimental]/get-compute-services.mdx (1)
1-31:⚠️ Potential issue | 🟠 MajorDo not manually format generated files.
This file is generated by Fumadocs (line 21). Manually applying formatting changes will be undone when the generation command runs again. Update the generator template instead, then regenerate.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/content/docs/management-api/endpoints/`[experimental]/get-compute-services.mdx around lines 1 - 31, This file was manually formatted but is generated by Fumadocs (see the generated file marker comment "{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}"); revert any manual formatting changes in apps/docs/content/docs/management-api/endpoints/[experimental]/get-compute-services.mdx back to the generated state, remove local edits around the frontmatter and APIPage usage, and instead update the Fumadocs generator template that produces this file so future runs produce the desired output.apps/docs/content/docs/management-api/endpoints/[experimental]/get-compute-services-versions-by-version-id.mdx (1)
1-31:⚠️ Potential issue | 🟠 MajorDo not manually format generated files.
Auto-generated file (line 21). Apply formatting changes to the Fumadocs generator template, not to the generated output files.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/content/docs/management-api/endpoints/`[experimental]/get-compute-services-versions-by-version-id.mdx around lines 1 - 31, The file contains duplicated generated-file warnings/experimental notices (the "// This file was generated by Fumadocs. Do not edit..." / "Do not manually format generated files." and the experimental warning text appears twice); remove the redundant copy so only one generated-file warning and one experimental notice remain in the output (or update the Fumadocs generator template to deduplicate), locating the duplicated lines near the top surrounding the APIPage component and keeping a single canonical instance.
🧹 Nitpick comments (5)
apps/docs/content/docs.v6/orm/more/troubleshooting/raw-sql-comparisons.mdx (2)
89-89: Inconsistent formatting across database examples.Same issue as line 53 — this SQLite example uses single-line format while the corresponding PostgreSQL and MySQL examples use multi-line format.
♻️ Option 1: Revert to multi-line for consistency with other examples
-const response = await prisma.$queryRaw`SELECT * FROM "Project" WHERE "completedDate" > "dueDate";`; +const response = + await prisma.$queryRaw`SELECT * FROM "Project" WHERE "completedDate" > "dueDate";`;🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/content/docs.v6/orm/more/troubleshooting/raw-sql-comparisons.mdx` at line 89, The SQLite raw SQL example uses a single-line tagged template; change the prisma.$queryRaw usage to the same multi-line format used in the PostgreSQL/MySQL examples so formatting is consistent—locate the prisma.$queryRaw`...` invocation (the const response variable) and rewrite the SQL query as a multi-line template string with the SELECT and WHERE on separate lines and proper indentation.
53-53: Inconsistent formatting across database examples.The SQLite example is now formatted as a single line, while the PostgreSQL (lines 39-40, 75-76) and MySQL (lines 46-47, 82-83) examples remain split across two lines. For documentation clarity, all parallel examples should follow the same formatting pattern.
Consider either:
- Condensing all examples to single lines for consistency, or
- Reverting the SQLite examples to match the multi-line format used by PostgreSQL and MySQL
♻️ Option 1: Revert to multi-line for consistency with other examples
-const response = await prisma.$queryRaw`SELECT * FROM "Post" WHERE "likesCount" < "commentsCount";`; +const response = + await prisma.$queryRaw`SELECT * FROM "Post" WHERE "likesCount" < "commentsCount";`;🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/content/docs.v6/orm/more/troubleshooting/raw-sql-comparisons.mdx` at line 53, The SQLite example uses a single-line query while PostgreSQL/MySQL use multi-line; make them consistent by changing the SQLite snippet that assigns response via prisma.$queryRaw to the same multi-line template literal style used in the Postgres/MySQL examples (i.e., split the SQL across two lines inside the tagged template for prisma.$queryRaw so the SELECT ... WHERE ... appears on separate lines), keeping the same variable name response and the prisma.$queryRaw tag to locate the snippet.apps/docs/content/docs.v6/orm/overview/beyond-prisma-orm.mdx (1)
59-65: Optional: Pre-existing content issues worth addressing.While out of scope for this formatting PR, there are a few content quality issues in this section worth noting for a future update:
- Line 59: Grammar error — "Prisma Accelerate take features" should be "Prisma Accelerate takes features"
- Line 59: Missing preposition — "Get started for free the" should be "Get started for free with the" or "at the"
- Lines 59-65: Redundant content — The section about Prisma Data Platform and improving developer experience appears to be duplicated with slight variations
These don't affect functionality but would improve readability and professionalism of the documentation.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/content/docs.v6/orm/overview/beyond-prisma-orm.mdx` around lines 59 - 65, Fix the grammar and redundancy in the "Beyond Prisma ORM" section: change "Prisma Accelerate take features" to "Prisma Accelerate takes features", change "Get started for free the [Prisma Data Platform]" to "Get started for free with the [Prisma Data Platform]" (or "at the"), and remove the duplicated paragraph that repeats the Prisma Data Platform/Accelerate/Optimize messaging so the final copy contains a single, clear paragraph mentioning Prisma Accelerate, Prisma Optimize, Prisma Postgres, and the Prisma Data Platform links.apps/blog/src/components/CategoryTagFilter.tsx (1)
83-85: Prefer stable keys for category lists.Line 85 and Line 109 use index keys. If
uniqueTagsorder changes, React may preserve the wrong item state. Usecategoryas the key in both maps.♻️ Proposed fix
- {uniqueTags.map((category, idx) => ( + {uniqueTags.map((category) => ( <button - key={idx} + key={category} type="button" aria-pressed={currentCategory === category} onClick={() => handleSelect(category)} @@ - {uniqueTags.map((category, idx) => ( + {uniqueTags.map((category) => ( <Badge - key={idx} + key={category} color={currentCategory === category ? "ppg" : "neutral"} onClick={() => handleSelect(category)}Also applies to: 107-110
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/blog/src/components/CategoryTagFilter.tsx` around lines 83 - 85, The map over uniqueTags in the CategoryTagFilter component uses the index as key (e.g., uniqueTags.map((category, idx) => ... key={idx}) ), which can break reconciliation when order changes; replace key={idx} with a stable key using the category value (key={category}) in both map usages (the one shown and the other map around lines 107-110). If category might not be unique, fall back to a stable composite like `${category}-${idx}` to guarantee uniqueness.apps/blog/src/lib/url.ts (1)
59-60: Update stale route comments to match blog context.Line 59 and Line 79 mention
/docs, but this helper is blog-prefixed. Clarifying these comments will reduce confusion for maintainers.📝 Suggested comment-only patch
- // Root /docs must only match /docs exactly, not nested paths like /docs/orm + // Root /blog must only match /blog exactly, not nested paths like /blog/orm @@ - // Root /docs only matches /docs exactly + // Root /blog only matches /blog exactlyAlso applies to: 79-80
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/blog/src/lib/url.ts` around lines 59 - 60, Update the stale comment(s) that reference "/docs" to reflect the blog context: change occurrences near the root-path check (where hrefSegment === "" is returned false) and the later comment around lines referencing the same logic to mention "/blog" or the blog root instead of "/docs"; locate the comment(s) in the URL helper around the hrefSegment check and update the wording so maintainers see the correct blog-prefixed route context.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@apps/blog/src/app/api/newsletter/route.ts`:
- Line 7: The Access-Control-Allow-Origin header is incorrectly set to a
comma-separated list which breaks browser CORS enforcement; update the header
logic in apps/blog/src/app/api/newsletter/route.ts to return a single origin (or
'*') per response by using the existing getCorsHeaders(request) helper and
replace the static header "Access-Control-Allow-Origin": "https://prisma.io,
https://www.prisma.io, https://prisma.io/docs" with the dynamic value produced
by getCorsHeaders(request); ensure both the POST handler and the OPTIONS
preflight response use getCorsHeaders(request) so the reflected origin is valid
for each incoming request.
In `@apps/docs/content/docs.v6/orm/more/comparisons/prisma-and-sequelize.mdx`:
- Around line 389-390: Replace the invalid email literal "alice@prisma,io"
(comma instead of dot) used in the transaction examples with "alice@prisma.io";
search for that exact string in the Prisma vs Sequelize comparison document
(occurrences in the transaction code snippets around the earlier example and
again near lines 420-421) and update both instances so readers copying the
examples get a valid email address.
In `@apps/docs/content/docs.v6/orm/overview/databases/cockroachdb.mdx`:
- Line 164: Replace the adjectival phrase "full text index" with the hyphenated
compound "full-text index" in the line that reads "Searching on `String` fields
without a full text index not supported" (the sentence starting "Searching on
`String` fields without a full text index (e.g. `where: { text: { search: \"cat
& dog\", }, },`) ..."); update that instance to "full-text index" to maintain
consistent, clear terminology.
In `@apps/docs/content/docs.v6/orm/prisma-client/using-raw-sql/raw-queries.mdx`:
- Line 367: Update the table entry text "Floating point number" to the
hyphenated form "Floating-point number" in the docs content (look for the table
row containing the literal string `Floating point number` in the raw-queries.mdx
file) so the compound adjective follows standard technical style.
In `@apps/docs/content/docs.v6/orm/reference/database-features.mdx`:
- Line 84: Replace the user-facing table cell text "Fuzzy/Phrase full text
search" with the standard term "Fuzzy/Phrase full-text search" in the docs
content (update the table row containing the string "Fuzzy/Phrase full text
search" in the database-features.mdx file).
In `@apps/docs/content/docs.v6/orm/reference/prisma-client-reference.mdx`:
- Around line 1202-1206: The table in the delete() return type section is
malformed: remove the stray extra separator column in the header row and the
trailing empty cell at the end of the last row so the table has exactly three
columns (Return type, Example, Description); locate the table block containing
the "Return type | Example | Description" header and the rows referencing `User`
and `PrismaClientKnownRequestError` and make sure each row uses exactly two pipe
separators (three cells) and the header separator row has the correct
three-column separators (no extra '---' column).
In
`@apps/docs/content/docs/`(index)/prisma-postgres/import-from-existing-database-mysql.mdx:
- Line 44: Line contains broken Markdown emphasis in the string "Once your
database is\*\* \*\*provisioned, find your direct Prisma Postgres connection
string:"; replace the escaped/split emphasis with normal Markdown (e.g., "Once
your database is **provisioned, find your direct Prisma Postgres connection
string:") so the bolding renders correctly in the MDX content.
In `@apps/docs/content/docs/guides/authentication/better-auth/astro.mdx`:
- Around line 451-460: The documentation markers around the signup form are
malformed: remove the inline/duplicate and standalone "// [!code ++]"
annotations and reapply a single pair of valid markers surrounding the whole
code snippet for the signup form (the <form id="signup-form"> block), e.g. place
one opening marker before the first <input> and one closing marker after the
</form>; also normalize the password input attribute order by moving required
back after type in the <input type="password" name="password" ...> element so
the markup matches the rest of the examples.
- Around line 602-610: The sign-in form example contains malformed documentation
markers and a misordered attribute: inside the <form id="signin-form"> block
remove the stray and duplicate "// [!code ++]" markers so only a single pair
surrounds each intended code snippet, ensure the <input type="email"
name="email" placeholder="Email" required /> and <input type="password"
name="password" placeholder="Password" required /> lines are the actual code
within those markers (fix the password input to have type="password" before
required), and delete the standalone markers on the lines after the button and
the closing form so the example renders cleanly.
In `@apps/docs/content/docs/guides/frameworks/hono.mdx`:
- Line 44: The closing admonition delimiter is indented and must be unindented
to match the opening `:::info`; locate the `:::info` block in
apps/docs/content/docs/guides/frameworks/hono.mdx and remove the two leading
spaces before the closing `:::` so the delimiter starts at column 0 (i.e., make
the closing `:::` align exactly under the opening `:::info`).
In `@apps/docs/content/docs/guides/frameworks/react-router-7.mdx`:
- Line 34: The closing admonition delimiter for the :::info block (the opening
tag ':::info' near the start of the file) is indented with two spaces; remove
the two leading spaces so the closing ':::' aligns with its opening tag and the
other admonitions (make the closing delimiter have zero indentation to match
lines with other ':::' closers).
In `@apps/docs/PROMPT_GUIDE.md`:
- Line 9: The inline code-fence literal in PROMPT_GUIDE.md is malformed (`\`
\`md \` \``); replace it with a clear triple-backtick fence literal (use
```md``` as the example) so authors can copy the exact fence format; update the
sentence mentioning the fence to use the correct literal (` ```md``` ) and
ensure any surrounding backticks/escaping are removed.
In `@apps/docs/README.md`:
- Line 70: The README uses the hyphenated term "Spell-check" while the npm
script is named lint:spellcheck; update the text for consistency by replacing
the phrase "Spell-check content" with "Spellcheck content" in the table entry
referencing the `lint:spellcheck` script (look for the table row containing
`lint:spellcheck` and the "Spell-check" label).
In `@README.md`:
- Line 67: Update the README table row that contains the script key
`lint:spellcheck` so the description uses the same “spellcheck” wording (e.g.,
change “Spell-check content (docs)” to “Spellcheck content (docs)”) to keep the
key and description consistent; edit the table cell text adjacent to
`lint:spellcheck` to match.
---
Outside diff comments:
In
`@apps/docs/content/docs/management-api/endpoints/`[experimental]/post-versions-by-version-id-start.mdx:
- Around line 1-31: The generated docs file contains a header "This file was
generated by Fumadocs. Do not edit this file directly." but was manually
reformatted; revert any manual formatting changes to this generated file and do
not commit them, then update the Fumadocs generator template to emit the new OXC
formatting so generated files match the project's style, regenerate all endpoint
docs (including the Start compute version doc that contains the
"/v1/versions/{versionId}/start" operation), and ensure generated files are
excluded from manual formatting passes (or run the generator after formatting)
to prevent future overwrites.
---
Duplicate comments:
In
`@apps/docs/content/docs/management-api/endpoints/`[experimental]/get-compute-services-versions-by-version-id-logs.mdx:
- Around line 1-31: This file contains a generated notice ("This file was
generated by Fumadocs. Do not edit this file directly.") so do not manually
reformat or edit the MDX; instead update the generator/template that produces
this document (the Fumadocs template responsible for the content around the
generated notice and headings) and then run the documentation generation command
to regenerate the file so the changes persist; locate the generator/template
that emits the title/description/openapi block and adjust formatting there
rather than editing the generated file.
In
`@apps/docs/content/docs/management-api/endpoints/`[experimental]/get-compute-services-versions-by-version-id.mdx:
- Around line 1-31: The file contains duplicated generated-file
warnings/experimental notices (the "// This file was generated by Fumadocs. Do
not edit..." / "Do not manually format generated files." and the experimental
warning text appears twice); remove the redundant copy so only one
generated-file warning and one experimental notice remain in the output (or
update the Fumadocs generator template to deduplicate), locating the duplicated
lines near the top surrounding the APIPage component and keeping a single
canonical instance.
In
`@apps/docs/content/docs/management-api/endpoints/`[experimental]/get-compute-services.mdx:
- Around line 1-31: This file was manually formatted but is generated by
Fumadocs (see the generated file marker comment "{/* This file was generated by
Fumadocs. Do not edit this file directly. Any changes should be made by running
the generation command again. */}"); revert any manual formatting changes in
apps/docs/content/docs/management-api/endpoints/[experimental]/get-compute-services.mdx
back to the generated state, remove local edits around the frontmatter and
APIPage usage, and instead update the Fumadocs generator template that produces
this file so future runs produce the desired output.
In
`@apps/docs/content/docs/management-api/endpoints/`[experimental]/get-versions-by-version-id.mdx:
- Around line 1-31: This file was manually reformatted but is auto-generated
(see the generated warning and the APIPage usage), so revert any manual edits
and regenerate the file from the source generator; then fix the
generator/template that emits this MDX (the frontmatter block and the APIPage
component with document={"management-api"} and operations props) so it outputs
properly formatted content (remove the duplicate_comment emission and ensure
correct newline/line placement) and verify the regenerated file no longer
requires manual formatting.
In
`@apps/docs/content/docs/management-api/endpoints/connections/delete-connections-by-id.mdx`:
- Around line 1-26: This file is generated by Fumadocs (see the generated notice
near the top and the APIPage component usage) so do not manually reformat or
edit the content; revert any style/formatting changes in this MDX (including
changes around the generated header and the APIPage block) and instead update
the Fumadocs generator templates to change output formatting; also remove the
accidental duplicate_review/duplicate_comment metadata if present in the
generated output so the generator produces a single comment.
In
`@apps/docs/content/docs/management-api/endpoints/databases/get-databases-by-database-id.mdx`:
- Around line 1-26: This generated file contains manual formatting changes that
should not be committed; revert any edits in the file that alter the
autogenerated content (look for the Fumadocs marker comment and the APIPage
usage) and restore the original output from the generator, then update the
Fumadocs generator/template (not this file) to incorporate any desired
formatting changes so future runs produce the intended layout; ensure the commit
removes manual edits around the "/* This file was generated by Fumadocs. Do not
edit this file directly. */" block and leaves the APIPage/metadata structure
intact.
---
Nitpick comments:
In `@apps/blog/src/components/CategoryTagFilter.tsx`:
- Around line 83-85: The map over uniqueTags in the CategoryTagFilter component
uses the index as key (e.g., uniqueTags.map((category, idx) => ... key={idx}) ),
which can break reconciliation when order changes; replace key={idx} with a
stable key using the category value (key={category}) in both map usages (the one
shown and the other map around lines 107-110). If category might not be unique,
fall back to a stable composite like `${category}-${idx}` to guarantee
uniqueness.
In `@apps/blog/src/lib/url.ts`:
- Around line 59-60: Update the stale comment(s) that reference "/docs" to
reflect the blog context: change occurrences near the root-path check (where
hrefSegment === "" is returned false) and the later comment around lines
referencing the same logic to mention "/blog" or the blog root instead of
"/docs"; locate the comment(s) in the URL helper around the hrefSegment check
and update the wording so maintainers see the correct blog-prefixed route
context.
In `@apps/docs/content/docs.v6/orm/more/troubleshooting/raw-sql-comparisons.mdx`:
- Line 89: The SQLite raw SQL example uses a single-line tagged template; change
the prisma.$queryRaw usage to the same multi-line format used in the
PostgreSQL/MySQL examples so formatting is consistent—locate the
prisma.$queryRaw`...` invocation (the const response variable) and rewrite the
SQL query as a multi-line template string with the SELECT and WHERE on separate
lines and proper indentation.
- Line 53: The SQLite example uses a single-line query while PostgreSQL/MySQL
use multi-line; make them consistent by changing the SQLite snippet that assigns
response via prisma.$queryRaw to the same multi-line template literal style used
in the Postgres/MySQL examples (i.e., split the SQL across two lines inside the
tagged template for prisma.$queryRaw so the SELECT ... WHERE ... appears on
separate lines), keeping the same variable name response and the
prisma.$queryRaw tag to locate the snippet.
In `@apps/docs/content/docs.v6/orm/overview/beyond-prisma-orm.mdx`:
- Around line 59-65: Fix the grammar and redundancy in the "Beyond Prisma ORM"
section: change "Prisma Accelerate take features" to "Prisma Accelerate takes
features", change "Get started for free the [Prisma Data Platform]" to "Get
started for free with the [Prisma Data Platform]" (or "at the"), and remove the
duplicated paragraph that repeats the Prisma Data Platform/Accelerate/Optimize
messaging so the final copy contains a single, clear paragraph mentioning Prisma
Accelerate, Prisma Optimize, Prisma Postgres, and the Prisma Data Platform
links.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: b2be09bc-6ac9-4846-a19b-4278b348a9e8
📒 Files selected for processing (300)
.claude/settings.json.coderabbit.yaml.github/workflows/eclipse-publish.yml.github/workflows/lychee.yml.oxfmtrc.json.oxlintrc.jsonARCHITECTURE.mdCONTRIBUTING.mdREADME.mdapps/blog/next.config.mjsapps/blog/package.jsonapps/blog/scripts/lint.tsapps/blog/source.config.tsapps/blog/src/app/(blog)/[slug]/page.tsxapps/blog/src/app/(blog)/layout.tsxapps/blog/src/app/(blog)/page.tsxapps/blog/src/app/api/newsletter/route.tsapps/blog/src/app/api/search/route.tsapps/blog/src/app/global.cssapps/blog/src/app/layout.tsxapps/blog/src/app/not-found.tsxapps/blog/src/app/og/image.png/route.tsxapps/blog/src/app/robots.tsapps/blog/src/app/rss.xml/route.tsapps/blog/src/app/sitemap.tsapps/blog/src/components/AuthorAvatarGroup.tsxapps/blog/src/components/BlogGrid.tsxapps/blog/src/components/BlogShare.tsxapps/blog/src/components/CategoryTagFilter.tsxapps/blog/src/components/Employee.tsxapps/blog/src/components/Hex.tsxapps/blog/src/components/Meetup.tsxapps/blog/src/components/PostCard.tsxapps/blog/src/components/Quote.tsxapps/blog/src/components/TweetEmbed.tsxapps/blog/src/components/navigation-wrapper.tsxapps/blog/src/components/search-toggle.tsxapps/blog/src/components/search.tsxapps/blog/src/components/utm-persistence.tsxapps/blog/src/lib/authors.tsapps/blog/src/lib/blog-metadata.tsapps/blog/src/lib/rss.tsapps/blog/src/lib/search-types.tsapps/blog/src/lib/source.tsxapps/blog/src/lib/url.tsapps/blog/src/mdx-components.tsxapps/docs/OPENAPI_CACHE.mdapps/docs/PROMPT_GUIDE.mdapps/docs/README.mdapps/docs/content/docs.v6/(index)/index.mdxapps/docs/content/docs.v6/(index)/prisma-orm/add-to-existing-project/cockroachdb.mdxapps/docs/content/docs.v6/(index)/prisma-orm/add-to-existing-project/mysql.mdxapps/docs/content/docs.v6/(index)/prisma-orm/add-to-existing-project/postgresql.mdxapps/docs/content/docs.v6/(index)/prisma-orm/add-to-existing-project/prisma-postgres.mdxapps/docs/content/docs.v6/(index)/prisma-orm/add-to-existing-project/sql-server.mdxapps/docs/content/docs.v6/(index)/prisma-orm/add-to-existing-project/sqlite.mdxapps/docs/content/docs.v6/(index)/prisma-orm/quickstart/cockroachdb.mdxapps/docs/content/docs.v6/(index)/prisma-orm/quickstart/mongodb.mdxapps/docs/content/docs.v6/(index)/prisma-orm/quickstart/mysql.mdxapps/docs/content/docs.v6/(index)/prisma-orm/quickstart/planetscale.mdxapps/docs/content/docs.v6/(index)/prisma-orm/quickstart/postgresql.mdxapps/docs/content/docs.v6/(index)/prisma-orm/quickstart/prisma-postgres.mdxapps/docs/content/docs.v6/(index)/prisma-orm/quickstart/sql-server.mdxapps/docs/content/docs.v6/(index)/prisma-orm/quickstart/sqlite.mdxapps/docs/content/docs.v6/(index)/prisma-postgres/index.mdxapps/docs/content/docs.v6/(index)/prisma-postgres/quickstart/drizzle-orm.mdxapps/docs/content/docs.v6/(index)/prisma-postgres/quickstart/kysely.mdxapps/docs/content/docs.v6/(index)/prisma-postgres/quickstart/prisma-orm.mdxapps/docs/content/docs.v6/(index)/prisma-postgres/quickstart/typeorm.mdxapps/docs/content/docs.v6/accelerate/api-reference.mdxapps/docs/content/docs.v6/accelerate/caching.mdxapps/docs/content/docs.v6/accelerate/connection-pooling.mdxapps/docs/content/docs.v6/accelerate/evaluating.mdxapps/docs/content/docs.v6/accelerate/examples.mdxapps/docs/content/docs.v6/accelerate/faq.mdxapps/docs/content/docs.v6/accelerate/feedback.mdxapps/docs/content/docs.v6/accelerate/known-limitations.mdxapps/docs/content/docs.v6/accelerate/local-development.mdxapps/docs/content/docs.v6/accelerate/troubleshoot.mdxapps/docs/content/docs.v6/ai/tutorials/linktree-clone.mdxapps/docs/content/docs.v6/guides/ai-sdk-nextjs.mdxapps/docs/content/docs.v6/guides/data-dog.mdxapps/docs/content/docs.v6/guides/multiple-databases.mdxapps/docs/content/docs.v6/guides/turborepo.mdxapps/docs/content/docs.v6/meta.jsonapps/docs/content/docs.v6/orm/more/ai-tools/github-copilot.mdxapps/docs/content/docs.v6/orm/more/comparisons/prisma-and-mongoose.mdxapps/docs/content/docs.v6/orm/more/comparisons/prisma-and-sequelize.mdxapps/docs/content/docs.v6/orm/more/dev-environment/meta.jsonapps/docs/content/docs.v6/orm/more/internals/meta.jsonapps/docs/content/docs.v6/orm/more/releases.mdxapps/docs/content/docs.v6/orm/more/troubleshooting/many-to-many-relations.mdxapps/docs/content/docs.v6/orm/more/troubleshooting/nextjs.mdxapps/docs/content/docs.v6/orm/more/troubleshooting/nuxt.mdxapps/docs/content/docs.v6/orm/more/troubleshooting/raw-sql-comparisons.mdxapps/docs/content/docs.v6/orm/more/upgrades/from-v1.mdxapps/docs/content/docs.v6/orm/more/upgrades/meta.jsonapps/docs/content/docs.v6/orm/more/upgrades/older-versions.mdxapps/docs/content/docs.v6/orm/overview/beyond-prisma-orm.mdxapps/docs/content/docs.v6/orm/overview/databases/cockroachdb.mdxapps/docs/content/docs.v6/orm/overview/databases/mysql.mdxapps/docs/content/docs.v6/orm/overview/databases/postgresql.mdxapps/docs/content/docs.v6/orm/overview/databases/sql-server/index.mdxapps/docs/content/docs.v6/orm/overview/introduction/should-you-use-prisma.mdxapps/docs/content/docs.v6/orm/prisma-client/client-extensions/client.mdxapps/docs/content/docs.v6/orm/prisma-client/client-extensions/model.mdxapps/docs/content/docs.v6/orm/prisma-client/client-extensions/query.mdxapps/docs/content/docs.v6/orm/prisma-client/client-extensions/result.mdxapps/docs/content/docs.v6/orm/prisma-client/client-extensions/shared-extensions/permit-rbac.mdxapps/docs/content/docs.v6/orm/prisma-client/client-extensions/type-utilities.mdxapps/docs/content/docs.v6/orm/prisma-client/debugging-and-troubleshooting/meta.jsonapps/docs/content/docs.v6/orm/prisma-client/debugging-and-troubleshooting/troubleshooting-binary-size-issues.mdxapps/docs/content/docs.v6/orm/prisma-client/deployment/edge/overview.mdxapps/docs/content/docs.v6/orm/prisma-client/deployment/module-bundlers.mdxapps/docs/content/docs.v6/orm/prisma-client/deployment/serverless/deploy-to-aws-lambda.mdxapps/docs/content/docs.v6/orm/prisma-client/deployment/serverless/index.mdxapps/docs/content/docs.v6/orm/prisma-client/deployment/traditional/index.mdxapps/docs/content/docs.v6/orm/prisma-client/observability-and-logging/sql-comments.mdxapps/docs/content/docs.v6/orm/prisma-client/queries/aggregation-grouping-summarizing.mdxapps/docs/content/docs.v6/orm/prisma-client/queries/filtering-and-sorting.mdxapps/docs/content/docs.v6/orm/prisma-client/queries/relation-queries.mdxapps/docs/content/docs.v6/orm/prisma-client/setup-and-configuration/databases-connections/index.mdxapps/docs/content/docs.v6/orm/prisma-client/setup-and-configuration/databases-connections/pgbouncer.mdxapps/docs/content/docs.v6/orm/prisma-client/setup-and-configuration/generating-prisma-client.mdxapps/docs/content/docs.v6/orm/prisma-client/setup-and-configuration/no-rust-engine.mdxapps/docs/content/docs.v6/orm/prisma-client/special-fields-and-types/working-with-composite-ids-and-constraints.mdxapps/docs/content/docs.v6/orm/prisma-client/special-fields-and-types/working-with-json-fields.mdxapps/docs/content/docs.v6/orm/prisma-client/special-fields-and-types/working-with-scalar-lists-arrays.mdxapps/docs/content/docs.v6/orm/prisma-client/type-safety/index.mdxapps/docs/content/docs.v6/orm/prisma-client/using-raw-sql/raw-queries.mdxapps/docs/content/docs.v6/orm/prisma-client/using-raw-sql/safeql.mdxapps/docs/content/docs.v6/orm/prisma-migrate/understanding-prisma-migrate/legacy-migrate.mdxapps/docs/content/docs.v6/orm/prisma-migrate/understanding-prisma-migrate/limitations-and-known-issues.mdxapps/docs/content/docs.v6/orm/prisma-migrate/workflows/customizing-migrations.mdxapps/docs/content/docs.v6/orm/prisma-migrate/workflows/unsupported-database-features.mdxapps/docs/content/docs.v6/orm/prisma-schema/data-model/models.mdxapps/docs/content/docs.v6/orm/prisma-schema/data-model/relations/index.mdxapps/docs/content/docs.v6/orm/prisma-schema/data-model/relations/referential-actions/special-rules-for-referential-actions.mdxapps/docs/content/docs.v6/orm/prisma-schema/data-model/relations/troubleshooting-relations.mdxapps/docs/content/docs.v6/orm/prisma-schema/data-model/unsupported-database-features.mdxapps/docs/content/docs.v6/orm/prisma-schema/postgresql-extensions.mdxapps/docs/content/docs.v6/orm/reference/connection-urls.mdxapps/docs/content/docs.v6/orm/reference/database-features.mdxapps/docs/content/docs.v6/orm/reference/error-reference.mdxapps/docs/content/docs.v6/orm/reference/errors/index.mdxapps/docs/content/docs.v6/orm/reference/preview-features/cli-preview-features.mdxapps/docs/content/docs.v6/orm/reference/preview-features/client-preview-features.mdxapps/docs/content/docs.v6/orm/reference/prisma-cli-reference.mdxapps/docs/content/docs.v6/orm/reference/prisma-client-reference.mdxapps/docs/content/docs.v6/orm/reference/prisma-schema-reference.mdxapps/docs/content/docs.v6/platform/index.mdxapps/docs/content/docs.v6/platform/maturity-levels.mdxapps/docs/content/docs.v6/platform/platform-cli/about.mdxapps/docs/content/docs.v6/platform/platform-cli/commands.mdxapps/docs/content/docs.v6/platform/support.mdxapps/docs/content/docs.v6/postgres/database/api-reference/error-reference.mdxapps/docs/content/docs.v6/postgres/database/api-reference/index.mdxapps/docs/content/docs.v6/postgres/database/prisma-studio/index.mdxapps/docs/content/docs.v6/postgres/database/serverless-driver.mdxapps/docs/content/docs.v6/postgres/index.mdxapps/docs/content/docs.v6/postgres/integrations/index.mdxapps/docs/content/docs.v6/postgres/introduction/index.mdxapps/docs/content/docs.v6/postgres/introduction/management-api-sdk.mdxapps/docs/content/docs.v6/postgres/introduction/management-api.mdxapps/docs/content/docs/(index)/index.mdxapps/docs/content/docs/(index)/prisma-orm/add-to-existing-project/cockroachdb.mdxapps/docs/content/docs/(index)/prisma-orm/add-to-existing-project/mysql.mdxapps/docs/content/docs/(index)/prisma-orm/add-to-existing-project/planetscale.mdxapps/docs/content/docs/(index)/prisma-orm/add-to-existing-project/postgresql.mdxapps/docs/content/docs/(index)/prisma-orm/add-to-existing-project/prisma-postgres.mdxapps/docs/content/docs/(index)/prisma-orm/add-to-existing-project/sql-server.mdxapps/docs/content/docs/(index)/prisma-orm/add-to-existing-project/sqlite.mdxapps/docs/content/docs/(index)/prisma-orm/quickstart/cockroachdb.mdxapps/docs/content/docs/(index)/prisma-orm/quickstart/mongodb.mdxapps/docs/content/docs/(index)/prisma-orm/quickstart/mysql.mdxapps/docs/content/docs/(index)/prisma-orm/quickstart/planetscale.mdxapps/docs/content/docs/(index)/prisma-orm/quickstart/postgresql.mdxapps/docs/content/docs/(index)/prisma-orm/quickstart/prisma-postgres.mdxapps/docs/content/docs/(index)/prisma-orm/quickstart/sql-server.mdxapps/docs/content/docs/(index)/prisma-orm/quickstart/sqlite.mdxapps/docs/content/docs/(index)/prisma-postgres/from-the-cli.mdxapps/docs/content/docs/(index)/prisma-postgres/import-from-existing-database-mysql.mdxapps/docs/content/docs/(index)/prisma-postgres/import-from-existing-database-postgresql.mdxapps/docs/content/docs/(index)/prisma-postgres/quickstart/drizzle-orm.mdxapps/docs/content/docs/(index)/prisma-postgres/quickstart/kysely.mdxapps/docs/content/docs/(index)/prisma-postgres/quickstart/prisma-orm.mdxapps/docs/content/docs/(index)/prisma-postgres/quickstart/typeorm.mdxapps/docs/content/docs/accelerate/caching.mdxapps/docs/content/docs/accelerate/connection-pooling.mdxapps/docs/content/docs/accelerate/evaluating.mdxapps/docs/content/docs/accelerate/examples.mdxapps/docs/content/docs/accelerate/getting-started.mdxapps/docs/content/docs/accelerate/local-development.mdxapps/docs/content/docs/accelerate/more/faq.mdxapps/docs/content/docs/accelerate/more/feedback.mdxapps/docs/content/docs/accelerate/more/known-limitations.mdxapps/docs/content/docs/accelerate/more/troubleshoot.mdxapps/docs/content/docs/accelerate/reference/api-reference.mdxapps/docs/content/docs/ai/prompts/nuxt.mdxapps/docs/content/docs/ai/prompts/prisma-7.mdxapps/docs/content/docs/ai/tools/cursor.mdxapps/docs/content/docs/ai/tools/github-copilot.mdxapps/docs/content/docs/ai/tools/mcp-server.mdxapps/docs/content/docs/ai/tools/skills.mdxapps/docs/content/docs/ai/tutorials/linktree-clone.mdxapps/docs/content/docs/ai/tutorials/typefully-clone.mdxapps/docs/content/docs/cli/console/index.mdxapps/docs/content/docs/cli/console/status.mdxapps/docs/content/docs/cli/db/execute.mdxapps/docs/content/docs/cli/db/index.mdxapps/docs/content/docs/cli/db/pull.mdxapps/docs/content/docs/cli/db/push.mdxapps/docs/content/docs/cli/db/seed.mdxapps/docs/content/docs/cli/debug.mdxapps/docs/content/docs/cli/dev/index.mdxapps/docs/content/docs/cli/dev/ls.mdxapps/docs/content/docs/cli/dev/rm.mdxapps/docs/content/docs/cli/dev/start.mdxapps/docs/content/docs/cli/dev/stop.mdxapps/docs/content/docs/cli/format.mdxapps/docs/content/docs/cli/generate.mdxapps/docs/content/docs/cli/index.mdxapps/docs/content/docs/cli/init.mdxapps/docs/content/docs/cli/mcp.mdxapps/docs/content/docs/cli/migrate/deploy.mdxapps/docs/content/docs/cli/migrate/dev.mdxapps/docs/content/docs/cli/migrate/diff.mdxapps/docs/content/docs/cli/migrate/index.mdxapps/docs/content/docs/cli/migrate/reset.mdxapps/docs/content/docs/cli/migrate/resolve.mdxapps/docs/content/docs/cli/migrate/status.mdxapps/docs/content/docs/cli/studio.mdxapps/docs/content/docs/cli/validate.mdxapps/docs/content/docs/cli/version.mdxapps/docs/content/docs/console/concepts.mdxapps/docs/content/docs/console/features/meta.jsonapps/docs/content/docs/console/features/metrics.mdxapps/docs/content/docs/console/getting-started.mdxapps/docs/content/docs/console/index.mdxapps/docs/content/docs/console/more/feature-maturity.mdxapps/docs/content/docs/console/more/meta.jsonapps/docs/content/docs/console/more/support.mdxapps/docs/content/docs/guides/authentication/better-auth/astro.mdxapps/docs/content/docs/guides/database/multiple-databases.mdxapps/docs/content/docs/guides/deployment/bun-workspaces.mdxapps/docs/content/docs/guides/deployment/pnpm-workspaces.mdxapps/docs/content/docs/guides/deployment/turborepo.mdxapps/docs/content/docs/guides/frameworks/hono.mdxapps/docs/content/docs/guides/frameworks/meta.jsonapps/docs/content/docs/guides/frameworks/react-router-7.mdxapps/docs/content/docs/guides/integrations/ai-sdk.mdxapps/docs/content/docs/guides/integrations/datadog.mdxapps/docs/content/docs/guides/integrations/embed-studio.mdxapps/docs/content/docs/guides/integrations/permit-io.mdxapps/docs/content/docs/guides/integrations/pgfence.mdxapps/docs/content/docs/guides/integrations/shopify.mdxapps/docs/content/docs/guides/making-guides.mdxapps/docs/content/docs/guides/runtimes/meta.jsonapps/docs/content/docs/guides/switch-to-prisma-orm/from-sql-orms.mdxapps/docs/content/docs/guides/upgrade-prisma-orm/meta.jsonapps/docs/content/docs/guides/upgrade-prisma-orm/v1.mdxapps/docs/content/docs/guides/upgrade-prisma-orm/v3.mdxapps/docs/content/docs/guides/upgrade-prisma-orm/v4.mdxapps/docs/content/docs/guides/upgrade-prisma-orm/v5.mdxapps/docs/content/docs/guides/upgrade-prisma-orm/v6.mdxapps/docs/content/docs/guides/upgrade-prisma-orm/v7.mdxapps/docs/content/docs/management-api/api-clients.mdxapps/docs/content/docs/management-api/authentication.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/delete-compute-services-by-compute-service-id.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/delete-compute-services-versions-by-version-id.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/delete-versions-by-version-id.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/get-compute-services-by-compute-service-id-versions.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/get-compute-services-by-compute-service-id.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/get-compute-services-versions-by-version-id-logs.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/get-compute-services-versions-by-version-id.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/get-compute-services.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/get-projects-by-project-id-compute-services.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/get-versions-by-version-id.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/get-versions.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/patch-compute-services-by-compute-service-id.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/post-compute-services-by-compute-service-id-promote.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/post-compute-services-by-compute-service-id-versions.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/post-compute-services-versions-by-version-id-start.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/post-compute-services-versions-by-version-id-stop.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/post-compute-services.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/post-projects-by-project-id-compute-services.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/post-versions-by-version-id-start.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/post-versions-by-version-id-stop.mdxapps/docs/content/docs/management-api/endpoints/[experimental]/post-versions.mdxapps/docs/content/docs/management-api/endpoints/connections/delete-connections-by-id.mdxapps/docs/content/docs/management-api/endpoints/connections/get-connections-by-id.mdxapps/docs/content/docs/management-api/endpoints/connections/get-connections.mdxapps/docs/content/docs/management-api/endpoints/connections/post-connections-by-id-rotate.mdxapps/docs/content/docs/management-api/endpoints/connections/post-connections.mdxapps/docs/content/docs/management-api/endpoints/database-backups/get-databases-by-database-id-backups.mdxapps/docs/content/docs/management-api/endpoints/database-usage/get-databases-by-database-id-usage.mdxapps/docs/content/docs/management-api/endpoints/databases-connections/get-databases-by-database-id-connections.mdxapps/docs/content/docs/management-api/endpoints/databases-connections/post-databases-by-database-id-connections.mdxapps/docs/content/docs/management-api/endpoints/databases/delete-databases-by-database-id.mdxapps/docs/content/docs/management-api/endpoints/databases/get-databases-by-database-id.mdx
💤 Files with no reviewable changes (5)
- apps/docs/content/docs/accelerate/getting-started.mdx
- apps/docs/content/docs/(index)/prisma-postgres/from-the-cli.mdx
- apps/docs/content/docs/guides/integrations/permit-io.mdx
- apps/docs/content/docs/guides/integrations/embed-studio.mdx
- apps/docs/content/docs/guides/deployment/pnpm-workspaces.mdx
|
Addressed and resolved the open review threads.\n\nVerification:\n- |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
apps/docs/PROMPT_GUIDE.md (1)
54-197:⚠️ Potential issue | 🟠 MajorRemove the accidental 5-backtick wrapper around the rest of the document.
Line 54 opens and Line 197 closes a fenced block, which causes most of the guide (headings/lists) to render as code instead of documentation.
✏️ Proposed fix
-````` @@ -`````🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/PROMPT_GUIDE.md` around lines 54 - 197, The guide has an accidental 5-backtick fenced code block wrapper (the literal fence string ````` used at the start and end of the prompt block) that forces the rest of the document to render as code; remove those two fence markers (the opening ````` and its corresponding closing `````) from PROMPT_GUIDE.md so the headings/lists render as normal markdown, and ensure any intended inline code samples inside the prompt still use proper triple-backtick or single-backtick fences after the removal.
♻️ Duplicate comments (1)
apps/docs/PROMPT_GUIDE.md (1)
58-58:⚠️ Potential issue | 🟡 MinorSimplify the inline fence literal for readability and copy accuracy.
The current inline notation (
```` ````md ```` ````) is hard to parse. Use a single clear literal (for example,md) in both places.Also applies to: 74-74
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/PROMPT_GUIDE.md` at line 58, The inline code-fence marker in PROMPT_GUIDE.md is overly complex (` ```` ````md ```` ```` `) and should be simplified to a single clear fence literal (for example, use a single consistent backtick sequence like `````md`````) in both occurrences (the fence opening and closing around the prompt example); update both occurrences (the one at line ~58 and the duplicate at ~74) so the displayed and copied prompt use the simpler, matching fence literal to improve readability and copy accuracy.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@apps/blog/src/app/api/newsletter/route.ts`:
- Around line 170-173: The GET handler currently returns 405 with an Allow
header that lists only "POST"; update the Allow header in the GET function
response to include all supported methods (e.g., "POST, OPTIONS") so
clients/proxies receive the correct allowed methods; locate the GET export in
route.ts and adjust the headers object (where getCorsHeaders(request) is spread)
to include the complete comma-separated Allow value including OPTIONS.
---
Outside diff comments:
In `@apps/docs/PROMPT_GUIDE.md`:
- Around line 54-197: The guide has an accidental 5-backtick fenced code block
wrapper (the literal fence string ````` used at the start and end of the prompt
block) that forces the rest of the document to render as code; remove those two
fence markers (the opening ````` and its corresponding closing `````) from
PROMPT_GUIDE.md so the headings/lists render as normal markdown, and ensure any
intended inline code samples inside the prompt still use proper triple-backtick
or single-backtick fences after the removal.
---
Duplicate comments:
In `@apps/docs/PROMPT_GUIDE.md`:
- Line 58: The inline code-fence marker in PROMPT_GUIDE.md is overly complex (`
```` ````md ```` ```` `) and should be simplified to a single clear fence
literal (for example, use a single consistent backtick sequence like
`````md`````) in both occurrences (the fence opening and closing around the
prompt example); update both occurrences (the one at line ~58 and the duplicate
at ~74) so the displayed and copied prompt use the simpler, matching fence
literal to improve readability and copy accuracy.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: e5044736-eec2-47c4-99fa-cd418ce503e2
📒 Files selected for processing (12)
.oxfmtrc.jsonREADME.mdapps/blog/src/app/api/newsletter/route.tsapps/docs/PROMPT_GUIDE.mdapps/docs/README.mdapps/docs/content/docs.v6/orm/more/comparisons/prisma-and-sequelize.mdxapps/docs/content/docs.v6/orm/overview/databases/cockroachdb.mdxapps/docs/content/docs.v6/orm/prisma-client/using-raw-sql/raw-queries.mdxapps/docs/content/docs.v6/orm/reference/database-features.mdxapps/docs/content/docs.v6/orm/reference/prisma-client-reference.mdxapps/docs/content/docs/(index)/prisma-postgres/import-from-existing-database-mysql.mdxapps/docs/content/docs/guides/authentication/better-auth/astro.mdx
✅ Files skipped from review due to trivial changes (10)
- apps/docs/content/docs/(index)/prisma-postgres/import-from-existing-database-mysql.mdx
- .oxfmtrc.json
- apps/docs/content/docs.v6/orm/overview/databases/cockroachdb.mdx
- apps/docs/content/docs.v6/orm/prisma-client/using-raw-sql/raw-queries.mdx
- README.md
- apps/docs/README.md
- apps/docs/content/docs/guides/authentication/better-auth/astro.mdx
- apps/docs/content/docs.v6/orm/more/comparisons/prisma-and-sequelize.mdx
- apps/docs/content/docs.v6/orm/reference/prisma-client-reference.mdx
- apps/docs/content/docs.v6/orm/reference/database-features.mdx
|
Adjusted the formatter config after testing Oxfmt against our MDX docs syntax. Oxfmt claims Markdown/MDX support, but with our renderer-specific MDX/code-fence annotations it is not safe to run on markdown content right now. Replaced the per-file docs ignores with broad |
dbf3234 to
cced09f
Compare
|
Force-pushed a clean single-commit version of the branch. The new PR diff has 0 Markdown/MDX files changed; Oxfmt is configured to skip |
There was a problem hiding this comment.
Actionable comments posted: 6
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
apps/docs/src/components/layout/notebook/page/client.tsx (1)
151-157:⚠️ Potential issue | 🟡 Minor
minis exposed but not applied in progress normalization
ProgressCirclePropssupportsmin, but Line 176 computes progress asnormalizedValue / max, which is only correct whenmin === 0. For non-zeromin, the ring fill is wrong.Suggested fix
function ProgressCircle({ value, strokeWidth = 2, size = 24, min = 0, max = 100, ...restSvgProps }: ProgressCircleProps) { const normalizedValue = clamp(value, min, max); const radius = (size - strokeWidth) / 2; const circumference = 2 * Math.PI * radius; - const progress = (normalizedValue / max) * circumference; + const range = max - min; + const progress = range > 0 ? ((normalizedValue - min) / range) * circumference : 0;🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/src/components/layout/notebook/page/client.tsx` around lines 151 - 157, ProgressCircleProps exposes a min but the current normalization computes progress as normalizedValue / max which assumes min === 0; update the normalization in the ProgressCircle component (where normalizedValue and progress are computed) to clamp value between min and max, then compute progress as (normalizedValue - min) / (max - min) and guard against division-by-zero (when max === min) so the SVG ring uses the correct fill for non-zero min.
🧹 Nitpick comments (4)
apps/site/src/app/careers/page.tsx (1)
299-300: Consider refactoringdangerouslySetInnerHTMLto structured JSX for benefit text rendering.At line 300, the code uses
dangerouslySetInnerHTMLto render benefit text. While the current data is safe—it's a static constant with simple<b>tags—this pattern creates a fragile XSS boundary. If this data source ever moves to CMS, API, or i18n systems, you'd need to add sanitization logic. Modeling benefit text as structured JSX eliminates the need fordangerouslySetInnerHTMLentirely and makes the code safer by default.♻️ Suggested approach
const benefits = [ { icon: "fa-regular fa-arrow-trend-up", - text: "<b>Stock options package</b> with a maximum exercise period of 10 years after grant", + text: ( + <> + <b>Stock options package</b> with a maximum exercise period of 10 years after grant + </> + ), }, ... ] -<p className="text-lg" dangerouslySetInnerHTML={{ __html: benefit.text }} /> +<p className="text-lg">{benefit.text}</p>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/site/src/app/careers/page.tsx` around lines 299 - 300, The code uses dangerouslySetInnerHTML for rendering benefit.text; instead refactor the benefits data to store structured JSX/ReactNode (e.g., change benefit.text from a string with <b> tags to JSX like <>Free <b>lunch</b></>) and update the renderer in the component that maps benefits (where benefit.icon and benefit.text are used) to render {benefit.text} instead of dangerouslySetInnerHTML; also update the benefit type/interface to accept ReactNode and remove the dangerouslySetInnerHTML usage to eliminate the XSS boundary.apps/docs/src/app/api/search/route.ts (1)
38-53: Add focused sanitizer test vectors for the updated regex set.
removeMdis regex-dense and very easy to regress. With the updates around footnotes, image/link stripping, and heading normalization, please add targeted fixtures to lock behavior for inline vs reference syntaxes and edge headings (with/without trailing#).Suggested test vector set
[ { in: "", out: "" }, { in: "![alt][ref]", out: "" }, { in: "[label](https://x.y)", out: "label" }, { in: "[label][ref]", out: "label" }, { in: "[^1]: footnote", out: "" }, { in: "## Heading ##", out: "Heading" }, { in: "## Heading", out: "Heading" }, ]🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/src/app/api/search/route.ts` around lines 38 - 53, The removeMd sanitizer's regex changes are easy to regress; add focused unit tests targeting the removeMd function to lock behavior for inline vs reference syntaxes, footnote lines, and heading normalization (with and without trailing #). Specifically, add test cases such as "" -> "", "![alt][ref]" -> "", "[label](https://x.y)" -> "label", "[label][ref]" -> "label", "[^1]: footnote" -> "", "## Heading ##" -> "Heading", and "## Heading" -> "Heading" into the existing test file that asserts removeMd(input) === expected so future edits to the regexes (the chain of .replace calls) will be protected. Ensure tests cover both inline and reference image/link patterns, heading variants with trailing hashes, and footnote reference lines.apps/docs/src/components/layout/notebook/page/client.tsx (1)
58-64: Attach the window click listener only while the popover is openThis avoids a permanent global listener and unnecessary handler calls when the popover is closed.
Suggested change
useEffect(() => { - window.addEventListener("click", onClick); + if (!open) return; + window.addEventListener("click", onClick); return () => { window.removeEventListener("click", onClick); }; - }, []); + }, [open]);🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/docs/src/components/layout/notebook/page/client.tsx` around lines 58 - 64, The window click listener is currently attached unconditionally in the useEffect which causes it to run even when the popover is closed; change the effect in client.tsx to add/remove the listener only while the popover is open by depending on the popover open state (e.g., isPopoverOpen or open) instead of an empty dependency array, attach window.addEventListener("click", onClick) when open is true and remove it in the cleanup (or when open becomes false), and ensure useEffect references the existing onClick handler so the listener is always cleaned up correctly when the popover closes or the component unmounts.apps/site/src/lib/changelog-source.tsx (1)
99-99: Consider avoiding the intermediate array here.Line 99’s
map(...).find(...)allocates all stripped paragraphs before finding the first non-empty one. A small loop short-circuits earlier and avoids extra allocation.♻️ Optional refactor
- const preview = paragraphs.map(stripMarkdown).find((paragraph) => paragraph.length > 0); + let preview: string | undefined; + for (const paragraph of paragraphs) { + const stripped = stripMarkdown(paragraph); + if (stripped.length > 0) { + preview = stripped; + break; + } + }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/site/src/lib/changelog-source.tsx` at line 99, The current preview computation allocates an intermediate array by calling paragraphs.map(stripMarkdown).find(...)—replace it with a short-circuiting loop: iterate over paragraphs (e.g., for...of), call stripMarkdown on each paragraph, and return the first stripped paragraph whose length > 0; assign that result to preview and avoid creating the mapped array. Reference: preview variable and stripMarkdown function used with paragraphs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@apps/eclipse/src/app/global.css`:
- Around line 8-29: Stylelint is failing due to two issues introduced/flagged by
formatting: the removal of the blank line before the background-color property
after the `@apply` directive (rule declaration-empty-line-before) and the nested
selector `header &[data-search-full]` being flagged for missing scoping root
(rule nesting-selector-no-missing-scoping-root); fix by updating your
.stylelintrc to either relax or override these two rules (add exceptions for
`@apply` followed immediately by properties and allow the specific nesting
pattern), re-run stylelint with stylelint --fix to auto-correct the
declaration-empty-line-before case, and if the nesting pattern is intentional
coordinate with the team to keep the rule disabled or add a specific ignore for
`header &[data-search-full]` in the config.
In `@apps/site/src/app/global.css`:
- Around line 128-141: Remove the duplicated CSS rule for the .newsletter-bg
class: keep a single declaration of the .newsletter-bg background
linear-gradient (the color-mix + var(--color-background-default) stops) and
delete the repeated block so there is only one .newsletter-bg rule in the
stylesheet; ensure the remaining rule preserves the exact gradient and spacing
from the original.
- Around line 243-257: The .box::before pseudo-element contains an invalid CSS
property name "zindex" which browsers ignore; update the property to the correct
"z-index" on the .box::before rule so the stacking order is applied (locate the
.box::before selector in global.css and replace zindex: 1; with z-index: 1;).
- Around line 200-216: The .box rule contains duplicate invalid declarations:
remove the second occurrences of border-radius and border that use invalid
values (the `border-radius: rounded-square-high` and `border: 1px solid
stroke-neutral`) so only the valid declarations (`border-radius: 9px` and
`border: 1px solid var(--color-stroke-neutral)`) remain; update or delete the
invalid entries in the .box selector to eliminate the redundant/incorrect
`rounded-square-high` and `stroke-neutral` tokens.
- Around line 15-18: The keyframe names slideDown, slideDown2, slideUp and
slideUp2 must be renamed to kebab-case and all references updated: change the
`@keyframes` declarations to slide-down, slide-down-2, slide-up, slide-up-2 and
update the CSS custom properties (--animate-slide-down, --animate-slide-down-2,
--animate-slide-up, --animate-slide-up-2) and any animation usages that
reference those original names so they point to the new kebab-case names (ensure
consistency between the `@keyframes` blocks and the animation property values).
In `@apps/site/src/lib/changelog-source.tsx`:
- Around line 40-47: The code constructs filePath from slug and calls readFile
without normalizing or validating the result, allowing path traversal (e.g.,
"../") to escape content/changelog; fix by normalizing and resolving the path
(use path.resolve or path.join+path.normalize) starting from process.cwd() and
the "content/changelog" base, then verify the resolved path starts with the
intended base directory (e.g., compare
resolvedPath.startsWith(path.resolve(process.cwd(), "content", "changelog"))),
and only then call readFile with the validated resolvedPath; reference filePath,
slug, readFile, and process.cwd() in the change.
---
Outside diff comments:
In `@apps/docs/src/components/layout/notebook/page/client.tsx`:
- Around line 151-157: ProgressCircleProps exposes a min but the current
normalization computes progress as normalizedValue / max which assumes min ===
0; update the normalization in the ProgressCircle component (where
normalizedValue and progress are computed) to clamp value between min and max,
then compute progress as (normalizedValue - min) / (max - min) and guard against
division-by-zero (when max === min) so the SVG ring uses the correct fill for
non-zero min.
---
Nitpick comments:
In `@apps/docs/src/app/api/search/route.ts`:
- Around line 38-53: The removeMd sanitizer's regex changes are easy to regress;
add focused unit tests targeting the removeMd function to lock behavior for
inline vs reference syntaxes, footnote lines, and heading normalization (with
and without trailing #). Specifically, add test cases such as ""
-> "", "![alt][ref]" -> "", "[label](https://x.y)" -> "label", "[label][ref]" ->
"label", "[^1]: footnote" -> "", "## Heading ##" -> "Heading", and "## Heading"
-> "Heading" into the existing test file that asserts removeMd(input) ===
expected so future edits to the regexes (the chain of .replace calls) will be
protected. Ensure tests cover both inline and reference image/link patterns,
heading variants with trailing hashes, and footnote reference lines.
In `@apps/docs/src/components/layout/notebook/page/client.tsx`:
- Around line 58-64: The window click listener is currently attached
unconditionally in the useEffect which causes it to run even when the popover is
closed; change the effect in client.tsx to add/remove the listener only while
the popover is open by depending on the popover open state (e.g., isPopoverOpen
or open) instead of an empty dependency array, attach
window.addEventListener("click", onClick) when open is true and remove it in the
cleanup (or when open becomes false), and ensure useEffect references the
existing onClick handler so the listener is always cleaned up correctly when the
popover closes or the component unmounts.
In `@apps/site/src/app/careers/page.tsx`:
- Around line 299-300: The code uses dangerouslySetInnerHTML for rendering
benefit.text; instead refactor the benefits data to store structured
JSX/ReactNode (e.g., change benefit.text from a string with <b> tags to JSX like
<>Free <b>lunch</b></>) and update the renderer in the component that maps
benefits (where benefit.icon and benefit.text are used) to render {benefit.text}
instead of dangerouslySetInnerHTML; also update the benefit type/interface to
accept ReactNode and remove the dangerouslySetInnerHTML usage to eliminate the
XSS boundary.
In `@apps/site/src/lib/changelog-source.tsx`:
- Line 99: The current preview computation allocates an intermediate array by
calling paragraphs.map(stripMarkdown).find(...)—replace it with a
short-circuiting loop: iterate over paragraphs (e.g., for...of), call
stripMarkdown on each paragraph, and return the first stripped paragraph whose
length > 0; assign that result to preview and avoid creating the mapped array.
Reference: preview variable and stripMarkdown function used with paragraphs.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: e9cc04b4-d596-400a-86a0-42f8c5dd7dc3
📒 Files selected for processing (300)
.claude/settings.json.coderabbit.yaml.github/workflows/eclipse-publish.yml.github/workflows/lychee.yml.oxfmtrc.json.oxlintrc.jsonapps/blog/next.config.mjsapps/blog/package.jsonapps/blog/scripts/lint.tsapps/blog/source.config.tsapps/blog/src/app/(blog)/[slug]/page.tsxapps/blog/src/app/(blog)/layout.tsxapps/blog/src/app/(blog)/page.tsxapps/blog/src/app/api/newsletter/route.tsapps/blog/src/app/api/search/route.tsapps/blog/src/app/global.cssapps/blog/src/app/layout.tsxapps/blog/src/app/not-found.tsxapps/blog/src/app/og/image.png/route.tsxapps/blog/src/app/robots.tsapps/blog/src/app/rss.xml/route.tsapps/blog/src/app/sitemap.tsapps/blog/src/components/AuthorAvatarGroup.tsxapps/blog/src/components/BlogGrid.tsxapps/blog/src/components/BlogShare.tsxapps/blog/src/components/CategoryTagFilter.tsxapps/blog/src/components/Employee.tsxapps/blog/src/components/Hex.tsxapps/blog/src/components/Meetup.tsxapps/blog/src/components/PostCard.tsxapps/blog/src/components/Quote.tsxapps/blog/src/components/TweetEmbed.tsxapps/blog/src/components/navigation-wrapper.tsxapps/blog/src/components/search-toggle.tsxapps/blog/src/components/search.tsxapps/blog/src/components/utm-persistence.tsxapps/blog/src/lib/authors.tsapps/blog/src/lib/blog-metadata.tsapps/blog/src/lib/rss.tsapps/blog/src/lib/search-types.tsapps/blog/src/lib/source.tsxapps/blog/src/lib/url.tsapps/blog/src/mdx-components.tsxapps/docs/content/docs.v6/meta.jsonapps/docs/content/docs.v6/orm/more/dev-environment/meta.jsonapps/docs/content/docs.v6/orm/more/internals/meta.jsonapps/docs/content/docs.v6/orm/more/upgrades/meta.jsonapps/docs/content/docs.v6/orm/prisma-client/debugging-and-troubleshooting/meta.jsonapps/docs/content/docs/console/features/meta.jsonapps/docs/content/docs/console/more/meta.jsonapps/docs/content/docs/guides/frameworks/meta.jsonapps/docs/content/docs/guides/runtimes/meta.jsonapps/docs/content/docs/guides/upgrade-prisma-orm/meta.jsonapps/docs/content/docs/management-api/meta.jsonapps/docs/content/docs/orm/core-concepts/supported-databases/meta.jsonapps/docs/content/docs/orm/more/dev-environment/meta.jsonapps/docs/content/docs/orm/prisma-client/debugging-and-troubleshooting/meta.jsonapps/docs/content/docs/orm/prisma-client/deployment/edge/meta.jsonapps/docs/content/docs/orm/prisma-client/observability-and-logging/meta.jsonapps/docs/content/docs/orm/prisma-client/type-safety/meta.jsonapps/docs/content/docs/orm/prisma-migrate/meta.jsonapps/docs/content/docs/orm/prisma-schema/meta.jsonapps/docs/content/docs/query-insights/meta.jsonapps/docs/cspell.jsonapps/docs/next.config.mjsapps/docs/scripts/add-url-frontmatter.tsapps/docs/scripts/fetch-openapi.tsapps/docs/scripts/generate-docs.tsapps/docs/scripts/lint-external-links.tsapps/docs/scripts/lint-links.tsapps/docs/source.config.tsapps/docs/src/app/(docs)/(default)/layout.tsxapps/docs/src/app/(docs)/sitemap.tsapps/docs/src/app/(docs)/v6/[[...slug]]/page.tsxapps/docs/src/app/(docs)/v6/layout.tsxapps/docs/src/app/api/github-webhook/route.tsapps/docs/src/app/api/newsletter/route.tsapps/docs/src/app/api/search/route.tsapps/docs/src/app/global-error.tsxapps/docs/src/app/global.cssapps/docs/src/app/layout.tsxapps/docs/src/app/llms.txt/route.tsapps/docs/src/app/not-found.tsxapps/docs/src/app/og/[...slug]/route.tsxapps/docs/src/app/robots.tsapps/docs/src/app/rss.xml/route.tsapps/docs/src/components/ai-chat-sidebar.tsxapps/docs/src/components/ai-elements/conversation.tsxapps/docs/src/components/ai-elements/copy-chat.tsxapps/docs/src/components/ai-elements/index.tsapps/docs/src/components/ai-elements/message.tsxapps/docs/src/components/ai-elements/prompt-input.tsxapps/docs/src/components/ai-elements/shimmer.tsxapps/docs/src/components/ai-elements/spinner.tsxapps/docs/src/components/ai-elements/suggestion.tsxapps/docs/src/components/dropdown-examples/interactive-examples.tsxapps/docs/src/components/layout/language-toggle.tsxapps/docs/src/components/layout/link-item.tsxapps/docs/src/components/layout/notebook/client.tsxapps/docs/src/components/layout/notebook/index.tsxapps/docs/src/components/layout/notebook/page/client.tsxapps/docs/src/components/layout/notebook/page/index.tsxapps/docs/src/components/layout/notebook/sidebar.tsxapps/docs/src/components/layout/search-toggle.tsxapps/docs/src/components/layout/shared.tsxapps/docs/src/components/layout/sidebar/base.tsxapps/docs/src/components/layout/sidebar/link-item.tsxapps/docs/src/components/layout/sidebar/page-tree.tsxapps/docs/src/components/layout/sidebar/tabs/dropdown.tsxapps/docs/src/components/layout/sidebar/tabs/index.tsxapps/docs/src/components/layout/theme-toggle.tsxapps/docs/src/components/not-found-tracker.tsxapps/docs/src/components/search.tsxapps/docs/src/components/sidebar-badge-provider.tsxapps/docs/src/components/sidebar-banner.tsxapps/docs/src/components/status-indicator.tsxapps/docs/src/components/structured-data.tsxapps/docs/src/components/toc/clerk.tsxapps/docs/src/components/toc/default.tsxapps/docs/src/components/toc/index.tsxapps/docs/src/components/toc/tracked-wrapper.tsxapps/docs/src/components/ui/button.tsxapps/docs/src/components/ui/collapsible.tsxapps/docs/src/components/ui/input-group.tsxapps/docs/src/components/ui/input.tsxapps/docs/src/components/ui/popover.tsxapps/docs/src/components/ui/scroll-area.tsxapps/docs/src/components/ui/textarea.tsxapps/docs/src/components/utm-persistence.tsxapps/docs/src/components/version-switcher.tsxapps/docs/src/hooks/use-ai-chat.tsapps/docs/src/hooks/use-chat-persistence.tsapps/docs/src/hooks/use-mobile.tsapps/docs/src/lib/get-llm-text.tsapps/docs/src/lib/merge-refs.tsapps/docs/src/lib/openapi.tsapps/docs/src/lib/rss.tsapps/docs/src/lib/source.tsapps/docs/src/lib/urls.tsapps/docs/src/mdx-components.tsxapps/docs/tsconfig.jsonapps/docs/vercel.jsonapps/eclipse/cli.jsonapps/eclipse/content/design-system/meta.jsonapps/eclipse/content/design-system/tokens/meta.jsonapps/eclipse/package.jsonapps/eclipse/postcss.config.mjsapps/eclipse/source.config.tsapps/eclipse/src/app/(design-system)/[[...slug]]/page.tsxapps/eclipse/src/app/(design-system)/layout.tsxapps/eclipse/src/app/(design-system)/sitemap.tsapps/eclipse/src/app/global.cssapps/eclipse/src/app/layout.tsxapps/eclipse/src/components/chart-examples/interactive-examples.tsxapps/eclipse/src/components/dropdown-examples/interactive-examples.tsxapps/eclipse/src/components/layout/language-toggle.tsxapps/eclipse/src/components/layout/link-item.tsxapps/eclipse/src/components/layout/notebook/client.tsxapps/eclipse/src/components/layout/notebook/index.tsxapps/eclipse/src/components/layout/notebook/page/client.tsxapps/eclipse/src/components/layout/notebook/page/index.tsxapps/eclipse/src/components/layout/notebook/sidebar.tsxapps/eclipse/src/components/layout/search-toggle.tsxapps/eclipse/src/components/layout/shared.tsxapps/eclipse/src/components/layout/sidebar/base.tsxapps/eclipse/src/components/layout/sidebar/link-item.tsxapps/eclipse/src/components/layout/sidebar/page-tree.tsxapps/eclipse/src/components/layout/sidebar/tabs/dropdown.tsxapps/eclipse/src/components/layout/sidebar/tabs/index.tsxapps/eclipse/src/components/layout/theme-toggle.tsxapps/eclipse/src/components/search.tsxapps/eclipse/src/components/switch-examples/interactive-examples.tsxapps/eclipse/src/components/toc/clerk.tsxapps/eclipse/src/components/toc/default.tsxapps/eclipse/src/components/toc/index.tsxapps/eclipse/src/components/ui/button.tsxapps/eclipse/src/components/ui/collapsible.tsxapps/eclipse/src/components/ui/popover.tsxapps/eclipse/src/components/ui/scroll-area.tsxapps/eclipse/src/lib/layout.shared.tsxapps/eclipse/src/lib/merge-refs.tsapps/eclipse/src/lib/source.tsapps/eclipse/src/lib/urls.tsapps/site/next.config.mjsapps/site/package.jsonapps/site/source.config.tsapps/site/src/app/(index)/page.tsxapps/site/src/app/about/page.tsxapps/site/src/app/api/newsletter/route.tsapps/site/src/app/api/search/route.tsapps/site/src/app/careers/page.tsxapps/site/src/app/changelog/[...slug]/page.tsxapps/site/src/app/changelog/layout.tsxapps/site/src/app/changelog/page.tsxapps/site/src/app/client/page.tsxapps/site/src/app/community/page.tsxapps/site/src/app/ecosystem/page.tsxapps/site/src/app/enterprise/page.tsxapps/site/src/app/event-code-of-conduct/page.tsxapps/site/src/app/events/events-data.tsapps/site/src/app/events/page.tsxapps/site/src/app/global.cssapps/site/src/app/layout.tsxapps/site/src/app/llms-content.tsapps/site/src/app/mcp/_components/capability-cards.tsxapps/site/src/app/mcp/_components/mcp-bubble.tsxapps/site/src/app/mcp/_components/mcp-hero-section.tsxapps/site/src/app/mcp/page.tsxapps/site/src/app/migrate/page.tsxapps/site/src/app/newsletter/newsletter-signup.tsxapps/site/src/app/newsletter/page.tsxapps/site/src/app/og/image.png/route.tsxapps/site/src/app/orm/page.tsxapps/site/src/app/partners/page.tsxapps/site/src/app/partners/tos/page.tsxapps/site/src/app/postgres/page.tsxapps/site/src/app/pricing/page.tsxapps/site/src/app/pricing/pricing-calculator.tsxapps/site/src/app/pricing/pricing-hero-plans.tsxapps/site/src/app/query-insights/page.tsxapps/site/src/app/robots.tsapps/site/src/app/showcase/page.tsxapps/site/src/app/stack/page.tsxapps/site/src/app/stack/stack-data.tsapps/site/src/app/studio/page.tsxapps/site/src/app/support-policy/page.tsxapps/site/src/app/support/page.tsxapps/site/src/app/terms/page.tsxapps/site/src/app/typedsql/page.tsxapps/site/src/components/careers/WorldMap.tsxapps/site/src/components/careers/challenges.module.cssapps/site/src/components/careers/flexible.module.cssapps/site/src/components/careers/masonry.tsxapps/site/src/components/careers/open-roles.tsxapps/site/src/components/careers/worldmap.module.cssapps/site/src/components/client/api.tsxapps/site/src/components/client/technology.tsxapps/site/src/components/console-cta-button.tsxapps/site/src/components/enterprise/footer-accordion.tsxapps/site/src/components/enterprise/form.tsxapps/site/src/components/glitch-particles.tsxapps/site/src/components/homepage/antigravity.tsxapps/site/src/components/homepage/bento.tsxapps/site/src/components/homepage/card-section/card-section.tsxapps/site/src/components/homepage/card-section/logo-grid.tsxapps/site/src/components/homepage/testimonials/index.tsxapps/site/src/components/homepage/testimonials/testimonial-item.tsxapps/site/src/components/legal-accordion.tsxapps/site/src/components/marquee.tsxapps/site/src/components/migrate/hero-code.tsxapps/site/src/components/navigation-wrapper.tsxapps/site/src/components/orm/info-stats.tsxapps/site/src/components/partners/form.tsxapps/site/src/components/partners/partners-table.tsxapps/site/src/components/postgres.tsxapps/site/src/components/prisma-with/community-section.tsxapps/site/src/components/prisma-with/hero.tsxapps/site/src/components/prisma-with/how-section.tsxapps/site/src/components/prisma-with/resources-section.tsxapps/site/src/components/prisma-with/why-section.tsxapps/site/src/components/query-insights.tsxapps/site/src/components/scroll-carousel.tsxapps/site/src/components/showcase/post-card.tsxapps/site/src/components/support/search-toggle.tsxapps/site/src/components/support/search.tsxapps/site/src/components/support/support-card.tsxapps/site/src/components/technology.tsxapps/site/src/components/utm-persistence.tsxapps/site/src/data/event-code-of-conduct.tsxapps/site/src/data/partners-tos.tsxapps/site/src/data/privacy.tsxapps/site/src/data/showcase.tsapps/site/src/data/sla.tsxapps/site/src/data/terms.tsxapps/site/src/lib/changelog-source.tsxapps/site/src/lib/shiki_prisma.tsapps/site/src/lib/site-metadata.tsapps/site/src/lib/sitemap.tsapps/site/src/lib/url.tsapps/site/tailwind.config.tspackages/eclipse/package.jsonpackages/eclipse/postcss.config.mjspackages/eclipse/src/components/accordion.tsxpackages/eclipse/src/components/action.tsxpackages/eclipse/src/components/alert.tsxpackages/eclipse/src/components/avatar.tsxpackages/eclipse/src/components/badge.tsxpackages/eclipse/src/components/banner.tsxpackages/eclipse/src/components/breadcrumb.tsxpackages/eclipse/src/components/button.tsxpackages/eclipse/src/components/card.tsxpackages/eclipse/src/components/chart.tsxpackages/eclipse/src/components/checkbox.tsxpackages/eclipse/src/components/codeblock.tsxpackages/eclipse/src/components/dialog.tsxpackages/eclipse/src/components/dropdown-menu.tsxpackages/eclipse/src/components/empty.tsxpackages/eclipse/src/components/field.tsxpackages/eclipse/src/components/files.tsxpackages/eclipse/src/components/index.ts
💤 Files with no reviewable changes (1)
- apps/site/src/app/(index)/page.tsx
✅ Files skipped from review due to trivial changes (283)
- apps/eclipse/src/lib/urls.ts
- apps/site/src/app/events/events-data.ts
- apps/site/src/app/migrate/page.tsx
- apps/site/src/app/partners/tos/page.tsx
- apps/site/src/app/postgres/page.tsx
- apps/site/src/app/robots.ts
- apps/site/src/app/stack/page.tsx
- apps/site/src/app/stack/stack-data.ts
- apps/site/src/components/enterprise/form.tsx
- .claude/settings.json
- .coderabbit.yaml
- .github/workflows/eclipse-publish.yml
- .github/workflows/lychee.yml
- .oxfmtrc.json
- .oxlintrc.json
- apps/blog/next.config.mjs
- apps/blog/src/app/(blog)/layout.tsx
- apps/blog/src/app/api/search/route.ts
- apps/blog/src/app/layout.tsx
- apps/blog/src/app/robots.ts
- apps/blog/src/app/rss.xml/route.ts
- apps/blog/src/app/sitemap.ts
- apps/blog/src/components/AuthorAvatarGroup.tsx
- apps/blog/src/components/BlogGrid.tsx
- apps/blog/src/components/BlogShare.tsx
- apps/blog/src/components/Employee.tsx
- apps/blog/src/components/Hex.tsx
- apps/blog/src/components/Meetup.tsx
- apps/blog/src/components/PostCard.tsx
- apps/blog/src/components/Quote.tsx
- apps/blog/src/components/navigation-wrapper.tsx
- apps/blog/src/components/utm-persistence.tsx
- apps/blog/src/lib/authors.ts
- apps/blog/src/lib/blog-metadata.ts
- apps/blog/src/lib/rss.ts
- apps/blog/src/lib/search-types.ts
- apps/blog/src/mdx-components.tsx
- apps/docs/content/docs.v6/meta.json
- apps/docs/content/docs.v6/orm/more/dev-environment/meta.json
- apps/docs/content/docs.v6/orm/more/internals/meta.json
- apps/docs/content/docs.v6/orm/more/upgrades/meta.json
- apps/docs/content/docs.v6/orm/prisma-client/debugging-and-troubleshooting/meta.json
- apps/docs/content/docs/console/features/meta.json
- apps/docs/content/docs/console/more/meta.json
- apps/docs/content/docs/guides/frameworks/meta.json
- apps/docs/content/docs/guides/runtimes/meta.json
- apps/docs/content/docs/guides/upgrade-prisma-orm/meta.json
- apps/docs/content/docs/management-api/meta.json
- apps/docs/content/docs/orm/core-concepts/supported-databases/meta.json
- apps/docs/content/docs/orm/more/dev-environment/meta.json
- apps/docs/content/docs/orm/prisma-client/debugging-and-troubleshooting/meta.json
- apps/docs/content/docs/orm/prisma-client/deployment/edge/meta.json
- apps/docs/content/docs/orm/prisma-client/observability-and-logging/meta.json
- apps/docs/content/docs/orm/prisma-client/type-safety/meta.json
- apps/docs/content/docs/orm/prisma-migrate/meta.json
- apps/docs/content/docs/orm/prisma-schema/meta.json
- apps/docs/content/docs/query-insights/meta.json
- apps/docs/cspell.json
- apps/docs/next.config.mjs
- apps/docs/scripts/add-url-frontmatter.ts
- apps/docs/scripts/generate-docs.ts
- apps/docs/scripts/lint-external-links.ts
- apps/docs/source.config.ts
- apps/docs/src/app/(docs)/(default)/layout.tsx
- apps/docs/src/app/(docs)/sitemap.ts
- apps/docs/src/app/api/newsletter/route.ts
- apps/docs/src/app/global-error.tsx
- apps/docs/src/app/global.css
- apps/docs/src/app/layout.tsx
- apps/docs/src/app/llms.txt/route.ts
- apps/docs/src/app/not-found.tsx
- apps/docs/src/app/og/[...slug]/route.tsx
- apps/docs/src/app/rss.xml/route.ts
- apps/docs/src/components/ai-elements/conversation.tsx
- apps/docs/src/components/ai-elements/copy-chat.tsx
- apps/docs/src/components/ai-elements/spinner.tsx
- apps/docs/src/components/dropdown-examples/interactive-examples.tsx
- apps/docs/src/components/layout/language-toggle.tsx
- apps/docs/src/components/layout/sidebar/page-tree.tsx
- apps/docs/src/components/layout/sidebar/tabs/index.tsx
- apps/docs/src/components/not-found-tracker.tsx
- apps/docs/src/components/sidebar-badge-provider.tsx
- apps/docs/src/components/status-indicator.tsx
- apps/docs/src/components/sidebar-banner.tsx
- apps/docs/src/components/toc/clerk.tsx
- apps/docs/src/components/ui/button.tsx
- apps/docs/src/components/ui/collapsible.tsx
- apps/docs/src/components/ui/input.tsx
- apps/docs/src/components/ui/popover.tsx
- apps/docs/src/components/ui/scroll-area.tsx
- apps/docs/src/components/ui/textarea.tsx
- apps/docs/src/components/utm-persistence.tsx
- apps/docs/src/hooks/use-ai-chat.ts
- apps/docs/src/hooks/use-chat-persistence.ts
- apps/docs/src/hooks/use-mobile.ts
- apps/docs/src/lib/get-llm-text.ts
- apps/docs/src/lib/merge-refs.ts
- apps/docs/src/lib/openapi.ts
- apps/docs/src/lib/rss.ts
- apps/docs/src/lib/source.ts
- apps/docs/src/lib/urls.ts
- apps/docs/src/mdx-components.tsx
- apps/docs/tsconfig.json
- apps/eclipse/cli.json
- apps/eclipse/content/design-system/meta.json
- apps/eclipse/content/design-system/tokens/meta.json
- apps/eclipse/package.json
- apps/eclipse/postcss.config.mjs
- apps/eclipse/src/app/(design-system)/[[...slug]]/page.tsx
- apps/eclipse/src/app/(design-system)/layout.tsx
- apps/eclipse/src/app/(design-system)/sitemap.ts
- apps/eclipse/src/app/layout.tsx
- apps/eclipse/src/components/chart-examples/interactive-examples.tsx
- apps/eclipse/src/components/dropdown-examples/interactive-examples.tsx
- apps/eclipse/src/components/layout/language-toggle.tsx
- apps/eclipse/src/components/layout/search-toggle.tsx
- apps/eclipse/src/components/layout/sidebar/link-item.tsx
- apps/eclipse/src/components/layout/sidebar/page-tree.tsx
- apps/eclipse/src/components/layout/sidebar/tabs/index.tsx
- apps/eclipse/src/components/search.tsx
- apps/eclipse/src/components/switch-examples/interactive-examples.tsx
- apps/eclipse/src/components/toc/clerk.tsx
- apps/eclipse/src/components/toc/default.tsx
- apps/eclipse/src/components/toc/index.tsx
- apps/eclipse/src/components/ui/popover.tsx
- apps/eclipse/src/components/ui/scroll-area.tsx
- apps/eclipse/src/lib/layout.shared.tsx
- apps/eclipse/src/lib/merge-refs.ts
- apps/eclipse/src/lib/source.ts
- apps/site/package.json
- apps/site/source.config.ts
- apps/site/src/app/api/newsletter/route.ts
- apps/site/src/app/changelog/layout.tsx
- apps/site/src/app/changelog/page.tsx
- apps/site/src/app/community/page.tsx
- apps/site/src/app/ecosystem/page.tsx
- apps/site/src/app/enterprise/page.tsx
- apps/site/src/app/event-code-of-conduct/page.tsx
- apps/site/src/app/events/page.tsx
- apps/site/src/app/layout.tsx
- apps/site/src/app/llms-content.ts
- apps/site/src/app/mcp/_components/capability-cards.tsx
- apps/site/src/app/mcp/_components/mcp-bubble.tsx
- apps/site/src/app/newsletter/newsletter-signup.tsx
- apps/site/src/app/newsletter/page.tsx
- apps/site/src/app/og/image.png/route.tsx
- apps/site/src/app/pricing/pricing-calculator.tsx
- apps/site/src/app/pricing/pricing-hero-plans.tsx
- apps/site/src/app/query-insights/page.tsx
- apps/site/src/app/showcase/page.tsx
- apps/site/src/app/studio/page.tsx
- apps/site/src/app/support/page.tsx
- apps/site/src/components/careers/masonry.tsx
- apps/site/src/components/client/api.tsx
- apps/site/src/components/console-cta-button.tsx
- apps/site/src/components/homepage/card-section/card-section.tsx
- apps/site/src/components/prisma-with/resources-section.tsx
- apps/site/src/components/orm/info-stats.tsx
- apps/site/src/components/partners/form.tsx
- apps/site/src/app/terms/page.tsx
- apps/site/src/components/client/technology.tsx
- apps/site/src/components/prisma-with/how-section.tsx
- apps/site/src/components/support/search.tsx
- apps/site/src/components/utm-persistence.tsx
- apps/site/src/components/support/support-card.tsx
- apps/site/src/components/prisma-with/why-section.tsx
- apps/site/src/lib/url.ts
- packages/eclipse/postcss.config.mjs
- apps/site/src/components/postgres.tsx
- packages/eclipse/src/components/alert.tsx
- apps/site/src/lib/site-metadata.ts
- apps/site/src/components/technology.tsx
- packages/eclipse/src/components/checkbox.tsx
- apps/blog/package.json
- apps/blog/scripts/lint.ts
- apps/blog/source.config.ts
- apps/blog/src/app/(blog)/[slug]/page.tsx
- apps/blog/src/app/(blog)/page.tsx
- apps/blog/src/app/not-found.tsx
- apps/blog/src/app/og/image.png/route.tsx
- apps/blog/src/components/search-toggle.tsx
- apps/blog/src/components/search.tsx
- apps/blog/src/lib/source.tsx
- apps/blog/src/lib/url.ts
- apps/docs/scripts/fetch-openapi.ts
- apps/docs/scripts/lint-links.ts
- apps/docs/src/app/(docs)/v6/[[...slug]]/page.tsx
- apps/docs/src/app/(docs)/v6/layout.tsx
- apps/docs/src/app/api/github-webhook/route.ts
- apps/docs/src/app/robots.ts
- apps/docs/src/components/ai-chat-sidebar.tsx
- apps/docs/src/components/ai-elements/index.ts
- apps/docs/src/components/ai-elements/message.tsx
- apps/docs/src/components/ai-elements/prompt-input.tsx
- apps/docs/src/components/ai-elements/shimmer.tsx
- apps/docs/src/components/ai-elements/suggestion.tsx
- apps/docs/src/components/layout/link-item.tsx
- apps/docs/src/components/layout/notebook/page/index.tsx
- apps/docs/src/components/layout/notebook/sidebar.tsx
- apps/docs/src/components/layout/search-toggle.tsx
- apps/docs/src/components/layout/sidebar/base.tsx
- apps/docs/src/components/layout/sidebar/link-item.tsx
- apps/docs/src/components/layout/sidebar/tabs/dropdown.tsx
- apps/docs/src/components/search.tsx
- apps/docs/src/components/structured-data.tsx
- apps/docs/src/components/toc/default.tsx
- apps/docs/src/components/toc/index.tsx
- apps/docs/src/components/toc/tracked-wrapper.tsx
- apps/docs/src/components/ui/input-group.tsx
- apps/docs/src/components/version-switcher.tsx
- apps/eclipse/src/components/layout/link-item.tsx
- apps/eclipse/src/components/layout/notebook/client.tsx
- apps/eclipse/src/components/layout/notebook/index.tsx
- apps/eclipse/src/components/layout/notebook/page/index.tsx
- apps/eclipse/src/components/layout/notebook/sidebar.tsx
- apps/eclipse/src/components/layout/shared.tsx
- apps/eclipse/src/components/layout/sidebar/base.tsx
- apps/eclipse/src/components/layout/sidebar/tabs/dropdown.tsx
- apps/eclipse/src/components/layout/theme-toggle.tsx
- apps/eclipse/src/components/ui/button.tsx
- apps/site/src/app/about/page.tsx
- apps/site/src/app/mcp/_components/mcp-hero-section.tsx
- apps/site/src/app/orm/page.tsx
- apps/site/src/app/support-policy/page.tsx
- apps/site/src/app/typedsql/page.tsx
- apps/site/src/components/homepage/bento.tsx
- apps/site/src/components/homepage/antigravity.tsx
- apps/site/src/components/marquee.tsx
- apps/site/src/components/homepage/testimonials/index.tsx
- apps/site/src/components/homepage/testimonials/testimonial-item.tsx
- apps/site/src/components/homepage/card-section/logo-grid.tsx
- apps/site/src/components/navigation-wrapper.tsx
- apps/site/src/components/legal-accordion.tsx
- apps/docs/src/components/layout/theme-toggle.tsx
- apps/site/src/components/partners/partners-table.tsx
- apps/site/src/components/scroll-carousel.tsx
- apps/site/src/components/support/search-toggle.tsx
- apps/site/src/components/query-insights.tsx
- apps/site/src/components/enterprise/footer-accordion.tsx
- apps/site/src/components/showcase/post-card.tsx
- apps/site/src/components/migrate/hero-code.tsx
- apps/site/src/components/glitch-particles.tsx
- apps/site/src/components/prisma-with/hero.tsx
- apps/site/src/components/prisma-with/community-section.tsx
- apps/site/src/data/sla.tsx
- packages/eclipse/src/components/button.tsx
- apps/site/src/lib/shiki_prisma.ts
- apps/site/src/app/changelog/[...slug]/page.tsx
- apps/site/tailwind.config.ts
- packages/eclipse/src/components/accordion.tsx
- packages/eclipse/src/components/avatar.tsx
- apps/site/src/lib/sitemap.ts
- packages/eclipse/src/components/action.tsx
- packages/eclipse/src/components/badge.tsx
- packages/eclipse/src/components/breadcrumb.tsx
- packages/eclipse/package.json
- packages/eclipse/src/components/banner.tsx
- packages/eclipse/src/components/chart.tsx
- apps/eclipse/src/components/ui/collapsible.tsx
- packages/eclipse/src/components/card.tsx
- apps/site/src/components/careers/open-roles.tsx
- apps/site/src/app/client/page.tsx
- apps/site/src/app/pricing/page.tsx
- apps/site/src/app/mcp/page.tsx
- apps/site/next.config.mjs
- apps/site/src/components/careers/challenges.module.css
- apps/site/src/components/careers/WorldMap.tsx
- packages/eclipse/src/components/files.tsx
- packages/eclipse/src/components/empty.tsx
- packages/eclipse/src/components/field.tsx
- packages/eclipse/src/components/dropdown-menu.tsx
- packages/eclipse/src/components/dialog.tsx
- packages/eclipse/src/components/codeblock.tsx
- apps/site/src/data/showcase.ts
- packages/eclipse/src/components/index.ts
- apps/docs/src/components/layout/notebook/client.tsx
- apps/docs/src/components/layout/notebook/index.tsx
- apps/site/src/data/partners-tos.tsx
- apps/site/src/data/terms.tsx
- apps/docs/src/components/layout/shared.tsx
- apps/eclipse/src/components/layout/notebook/page/client.tsx
- apps/site/src/components/careers/flexible.module.css
- apps/site/src/components/careers/worldmap.module.css
🚧 Files skipped from review as they are similar to previous changes (4)
- apps/blog/src/app/api/newsletter/route.ts
- apps/blog/src/components/CategoryTagFilter.tsx
- apps/blog/src/components/TweetEmbed.tsx
- apps/blog/src/app/global.css
cced09f to
641abb4
Compare
There was a problem hiding this comment.
🧹 Nitpick comments (2)
apps/site/src/app/careers/page.tsx (1)
299-299: Remove duplicated Font Awesome style class on Line 299.
fa-regularis included both in the template and in eachbenefit.iconvalue. Keep it in one place to avoid drift.Proposed cleanup
- <i className={`fa-regular ${benefit.icon} text-3xl text-foreground-orm`} /> + <i className={`${benefit.icon} text-3xl text-foreground-orm`} />🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/site/src/app/careers/page.tsx` at line 299, The icon element in page.tsx currently duplicates the Font Awesome style class by using `fa-regular` in the JSX and also including it inside each `benefit.icon` string; remove the duplication by keeping `fa-regular` in the JSX element (`<i className={`fa-regular ${benefit.icon} ...`} />`) and stripping `fa-regular` from the `benefit.icon` values in the data source so `benefit.icon` only contains the specific icon class (e.g., `fa-briefcase`).apps/blog/src/components/CategoryTagFilter.tsx (1)
83-85: Use stable keys for mapped categories instead of indexes.Line 85 and Line 109 currently use
idx. IfuniqueTagsorder changes, React can reuse the wrong row and briefly show mismatched pressed/check state.♻️ Proposed fix
- {uniqueTags.map((category, idx) => ( + {uniqueTags.map((category) => ( <button - key={idx} + key={category} type="button" aria-pressed={currentCategory === category} onClick={() => handleSelect(category)} @@ - {uniqueTags.map((category, idx) => ( + {uniqueTags.map((category) => ( <Badge - key={idx} + key={category} color={currentCategory === category ? "ppg" : "neutral"} onClick={() => handleSelect(category)}To verify safely, confirm
uniqueTagsvalues are unique and represent stable identities at call sites.Also applies to: 107-110
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/blog/src/components/CategoryTagFilter.tsx` around lines 83 - 85, The mapped buttons in the CategoryTagFilter component use index keys (key={idx}) which can cause UI state mismatches when uniqueTags order changes; replace index keys with a stable unique identifier such as the tag value (e.g., key={category} or key={tag.id} if tags are objects) in both mapping sites (the map at uniqueTags.map(... ) around the button and the other occurrence at lines ~107-110) and ensure that uniqueTags contains unique, stable values at the call sites so keys remain stable across renders.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@apps/blog/src/components/CategoryTagFilter.tsx`:
- Around line 83-85: The mapped buttons in the CategoryTagFilter component use
index keys (key={idx}) which can cause UI state mismatches when uniqueTags order
changes; replace index keys with a stable unique identifier such as the tag
value (e.g., key={category} or key={tag.id} if tags are objects) in both mapping
sites (the map at uniqueTags.map(... ) around the button and the other
occurrence at lines ~107-110) and ensure that uniqueTags contains unique, stable
values at the call sites so keys remain stable across renders.
In `@apps/site/src/app/careers/page.tsx`:
- Line 299: The icon element in page.tsx currently duplicates the Font Awesome
style class by using `fa-regular` in the JSX and also including it inside each
`benefit.icon` string; remove the duplication by keeping `fa-regular` in the JSX
element (`<i className={`fa-regular ${benefit.icon} ...`} />`) and stripping
`fa-regular` from the `benefit.icon` values in the data source so `benefit.icon`
only contains the specific icon class (e.g., `fa-briefcase`).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 1607f833-2d09-4768-945c-d3f4754428b2
📒 Files selected for processing (300)
.claude/settings.json.coderabbit.yaml.github/workflows/eclipse-publish.yml.github/workflows/lychee.yml.oxfmtrc.json.oxlintrc.jsonapps/blog/next.config.mjsapps/blog/package.jsonapps/blog/scripts/lint.tsapps/blog/source.config.tsapps/blog/src/app/(blog)/[slug]/page.tsxapps/blog/src/app/(blog)/layout.tsxapps/blog/src/app/(blog)/page.tsxapps/blog/src/app/api/newsletter/route.tsapps/blog/src/app/api/search/route.tsapps/blog/src/app/global.cssapps/blog/src/app/layout.tsxapps/blog/src/app/not-found.tsxapps/blog/src/app/og/image.png/route.tsxapps/blog/src/app/robots.tsapps/blog/src/app/rss.xml/route.tsapps/blog/src/app/sitemap.tsapps/blog/src/components/AuthorAvatarGroup.tsxapps/blog/src/components/BlogGrid.tsxapps/blog/src/components/BlogShare.tsxapps/blog/src/components/CategoryTagFilter.tsxapps/blog/src/components/Employee.tsxapps/blog/src/components/Hex.tsxapps/blog/src/components/Meetup.tsxapps/blog/src/components/PostCard.tsxapps/blog/src/components/Quote.tsxapps/blog/src/components/TweetEmbed.tsxapps/blog/src/components/navigation-wrapper.tsxapps/blog/src/components/search-toggle.tsxapps/blog/src/components/search.tsxapps/blog/src/components/utm-persistence.tsxapps/blog/src/lib/authors.tsapps/blog/src/lib/blog-metadata.tsapps/blog/src/lib/rss.tsapps/blog/src/lib/search-types.tsapps/blog/src/lib/source.tsxapps/blog/src/lib/url.tsapps/blog/src/mdx-components.tsxapps/docs/content/docs.v6/meta.jsonapps/docs/content/docs.v6/orm/more/dev-environment/meta.jsonapps/docs/content/docs.v6/orm/more/internals/meta.jsonapps/docs/content/docs.v6/orm/more/upgrades/meta.jsonapps/docs/content/docs.v6/orm/prisma-client/debugging-and-troubleshooting/meta.jsonapps/docs/content/docs/console/features/meta.jsonapps/docs/content/docs/console/more/meta.jsonapps/docs/content/docs/guides/frameworks/meta.jsonapps/docs/content/docs/guides/runtimes/meta.jsonapps/docs/content/docs/guides/upgrade-prisma-orm/meta.jsonapps/docs/content/docs/management-api/meta.jsonapps/docs/content/docs/orm/core-concepts/supported-databases/meta.jsonapps/docs/content/docs/orm/more/dev-environment/meta.jsonapps/docs/content/docs/orm/prisma-client/debugging-and-troubleshooting/meta.jsonapps/docs/content/docs/orm/prisma-client/deployment/edge/meta.jsonapps/docs/content/docs/orm/prisma-client/observability-and-logging/meta.jsonapps/docs/content/docs/orm/prisma-client/type-safety/meta.jsonapps/docs/content/docs/orm/prisma-migrate/meta.jsonapps/docs/content/docs/orm/prisma-schema/meta.jsonapps/docs/content/docs/query-insights/meta.jsonapps/docs/cspell.jsonapps/docs/next.config.mjsapps/docs/scripts/add-url-frontmatter.tsapps/docs/scripts/fetch-openapi.tsapps/docs/scripts/generate-docs.tsapps/docs/scripts/lint-external-links.tsapps/docs/scripts/lint-links.tsapps/docs/source.config.tsapps/docs/src/app/(docs)/(default)/layout.tsxapps/docs/src/app/(docs)/sitemap.tsapps/docs/src/app/(docs)/v6/[[...slug]]/page.tsxapps/docs/src/app/(docs)/v6/layout.tsxapps/docs/src/app/api/github-webhook/route.tsapps/docs/src/app/api/newsletter/route.tsapps/docs/src/app/api/search/route.tsapps/docs/src/app/global-error.tsxapps/docs/src/app/global.cssapps/docs/src/app/layout.tsxapps/docs/src/app/llms.txt/route.tsapps/docs/src/app/not-found.tsxapps/docs/src/app/og/[...slug]/route.tsxapps/docs/src/app/robots.tsapps/docs/src/app/rss.xml/route.tsapps/docs/src/components/ai-chat-sidebar.tsxapps/docs/src/components/ai-elements/conversation.tsxapps/docs/src/components/ai-elements/copy-chat.tsxapps/docs/src/components/ai-elements/index.tsapps/docs/src/components/ai-elements/message.tsxapps/docs/src/components/ai-elements/prompt-input.tsxapps/docs/src/components/ai-elements/shimmer.tsxapps/docs/src/components/ai-elements/spinner.tsxapps/docs/src/components/ai-elements/suggestion.tsxapps/docs/src/components/dropdown-examples/interactive-examples.tsxapps/docs/src/components/layout/language-toggle.tsxapps/docs/src/components/layout/link-item.tsxapps/docs/src/components/layout/notebook/client.tsxapps/docs/src/components/layout/notebook/index.tsxapps/docs/src/components/layout/notebook/page/client.tsxapps/docs/src/components/layout/notebook/page/index.tsxapps/docs/src/components/layout/notebook/sidebar.tsxapps/docs/src/components/layout/search-toggle.tsxapps/docs/src/components/layout/shared.tsxapps/docs/src/components/layout/sidebar/base.tsxapps/docs/src/components/layout/sidebar/link-item.tsxapps/docs/src/components/layout/sidebar/page-tree.tsxapps/docs/src/components/layout/sidebar/tabs/dropdown.tsxapps/docs/src/components/layout/sidebar/tabs/index.tsxapps/docs/src/components/layout/theme-toggle.tsxapps/docs/src/components/not-found-tracker.tsxapps/docs/src/components/search.tsxapps/docs/src/components/sidebar-badge-provider.tsxapps/docs/src/components/sidebar-banner.tsxapps/docs/src/components/status-indicator.tsxapps/docs/src/components/structured-data.tsxapps/docs/src/components/toc/clerk.tsxapps/docs/src/components/toc/default.tsxapps/docs/src/components/toc/index.tsxapps/docs/src/components/toc/tracked-wrapper.tsxapps/docs/src/components/ui/button.tsxapps/docs/src/components/ui/collapsible.tsxapps/docs/src/components/ui/input-group.tsxapps/docs/src/components/ui/input.tsxapps/docs/src/components/ui/popover.tsxapps/docs/src/components/ui/scroll-area.tsxapps/docs/src/components/ui/textarea.tsxapps/docs/src/components/utm-persistence.tsxapps/docs/src/components/version-switcher.tsxapps/docs/src/hooks/use-ai-chat.tsapps/docs/src/hooks/use-chat-persistence.tsapps/docs/src/hooks/use-mobile.tsapps/docs/src/lib/get-llm-text.tsapps/docs/src/lib/merge-refs.tsapps/docs/src/lib/openapi.tsapps/docs/src/lib/rss.tsapps/docs/src/lib/source.tsapps/docs/src/lib/urls.tsapps/docs/src/mdx-components.tsxapps/docs/tsconfig.jsonapps/docs/vercel.jsonapps/eclipse/cli.jsonapps/eclipse/content/design-system/meta.jsonapps/eclipse/content/design-system/tokens/meta.jsonapps/eclipse/package.jsonapps/eclipse/postcss.config.mjsapps/eclipse/source.config.tsapps/eclipse/src/app/(design-system)/[[...slug]]/page.tsxapps/eclipse/src/app/(design-system)/layout.tsxapps/eclipse/src/app/(design-system)/sitemap.tsapps/eclipse/src/app/global.cssapps/eclipse/src/app/layout.tsxapps/eclipse/src/components/chart-examples/interactive-examples.tsxapps/eclipse/src/components/dropdown-examples/interactive-examples.tsxapps/eclipse/src/components/layout/language-toggle.tsxapps/eclipse/src/components/layout/link-item.tsxapps/eclipse/src/components/layout/notebook/client.tsxapps/eclipse/src/components/layout/notebook/index.tsxapps/eclipse/src/components/layout/notebook/page/client.tsxapps/eclipse/src/components/layout/notebook/page/index.tsxapps/eclipse/src/components/layout/notebook/sidebar.tsxapps/eclipse/src/components/layout/search-toggle.tsxapps/eclipse/src/components/layout/shared.tsxapps/eclipse/src/components/layout/sidebar/base.tsxapps/eclipse/src/components/layout/sidebar/link-item.tsxapps/eclipse/src/components/layout/sidebar/page-tree.tsxapps/eclipse/src/components/layout/sidebar/tabs/dropdown.tsxapps/eclipse/src/components/layout/sidebar/tabs/index.tsxapps/eclipse/src/components/layout/theme-toggle.tsxapps/eclipse/src/components/search.tsxapps/eclipse/src/components/switch-examples/interactive-examples.tsxapps/eclipse/src/components/toc/clerk.tsxapps/eclipse/src/components/toc/default.tsxapps/eclipse/src/components/toc/index.tsxapps/eclipse/src/components/ui/button.tsxapps/eclipse/src/components/ui/collapsible.tsxapps/eclipse/src/components/ui/popover.tsxapps/eclipse/src/components/ui/scroll-area.tsxapps/eclipse/src/lib/layout.shared.tsxapps/eclipse/src/lib/merge-refs.tsapps/eclipse/src/lib/source.tsapps/eclipse/src/lib/urls.tsapps/site/next.config.mjsapps/site/package.jsonapps/site/source.config.tsapps/site/src/app/(index)/page.tsxapps/site/src/app/about/page.tsxapps/site/src/app/api/newsletter/route.tsapps/site/src/app/api/search/route.tsapps/site/src/app/careers/page.tsxapps/site/src/app/changelog/[...slug]/page.tsxapps/site/src/app/changelog/layout.tsxapps/site/src/app/changelog/page.tsxapps/site/src/app/client/page.tsxapps/site/src/app/community/page.tsxapps/site/src/app/ecosystem/page.tsxapps/site/src/app/enterprise/page.tsxapps/site/src/app/event-code-of-conduct/page.tsxapps/site/src/app/events/events-data.tsapps/site/src/app/events/page.tsxapps/site/src/app/global.cssapps/site/src/app/layout.tsxapps/site/src/app/llms-content.tsapps/site/src/app/mcp/_components/capability-cards.tsxapps/site/src/app/mcp/_components/mcp-bubble.tsxapps/site/src/app/mcp/_components/mcp-hero-section.tsxapps/site/src/app/mcp/page.tsxapps/site/src/app/migrate/page.tsxapps/site/src/app/newsletter/newsletter-signup.tsxapps/site/src/app/newsletter/page.tsxapps/site/src/app/og/image.png/route.tsxapps/site/src/app/orm/page.tsxapps/site/src/app/partners/page.tsxapps/site/src/app/partners/tos/page.tsxapps/site/src/app/postgres/page.tsxapps/site/src/app/pricing/page.tsxapps/site/src/app/pricing/pricing-calculator.tsxapps/site/src/app/pricing/pricing-hero-plans.tsxapps/site/src/app/query-insights/page.tsxapps/site/src/app/robots.tsapps/site/src/app/showcase/page.tsxapps/site/src/app/stack/page.tsxapps/site/src/app/stack/stack-data.tsapps/site/src/app/studio/page.tsxapps/site/src/app/support-policy/page.tsxapps/site/src/app/support/page.tsxapps/site/src/app/terms/page.tsxapps/site/src/app/typedsql/page.tsxapps/site/src/components/careers/WorldMap.tsxapps/site/src/components/careers/challenges.module.cssapps/site/src/components/careers/flexible.module.cssapps/site/src/components/careers/masonry.tsxapps/site/src/components/careers/open-roles.tsxapps/site/src/components/careers/worldmap.module.cssapps/site/src/components/client/api.tsxapps/site/src/components/client/technology.tsxapps/site/src/components/console-cta-button.tsxapps/site/src/components/enterprise/footer-accordion.tsxapps/site/src/components/enterprise/form.tsxapps/site/src/components/glitch-particles.tsxapps/site/src/components/homepage/antigravity.tsxapps/site/src/components/homepage/bento.tsxapps/site/src/components/homepage/card-section/card-section.tsxapps/site/src/components/homepage/card-section/logo-grid.tsxapps/site/src/components/homepage/testimonials/index.tsxapps/site/src/components/homepage/testimonials/testimonial-item.tsxapps/site/src/components/legal-accordion.tsxapps/site/src/components/marquee.tsxapps/site/src/components/migrate/hero-code.tsxapps/site/src/components/navigation-wrapper.tsxapps/site/src/components/orm/info-stats.tsxapps/site/src/components/partners/form.tsxapps/site/src/components/partners/partners-table.tsxapps/site/src/components/postgres.tsxapps/site/src/components/prisma-with/community-section.tsxapps/site/src/components/prisma-with/hero.tsxapps/site/src/components/prisma-with/how-section.tsxapps/site/src/components/prisma-with/resources-section.tsxapps/site/src/components/prisma-with/why-section.tsxapps/site/src/components/query-insights.tsxapps/site/src/components/scroll-carousel.tsxapps/site/src/components/showcase/post-card.tsxapps/site/src/components/support/search-toggle.tsxapps/site/src/components/support/search.tsxapps/site/src/components/support/support-card.tsxapps/site/src/components/technology.tsxapps/site/src/components/utm-persistence.tsxapps/site/src/data/event-code-of-conduct.tsxapps/site/src/data/partners-tos.tsxapps/site/src/data/privacy.tsxapps/site/src/data/showcase.tsapps/site/src/data/sla.tsxapps/site/src/data/terms.tsxapps/site/src/lib/changelog-source.tsxapps/site/src/lib/shiki_prisma.tsapps/site/src/lib/site-metadata.tsapps/site/src/lib/sitemap.tsapps/site/src/lib/url.tsapps/site/tailwind.config.tspackages/eclipse/package.jsonpackages/eclipse/postcss.config.mjspackages/eclipse/src/components/accordion.tsxpackages/eclipse/src/components/action.tsxpackages/eclipse/src/components/alert.tsxpackages/eclipse/src/components/avatar.tsxpackages/eclipse/src/components/badge.tsxpackages/eclipse/src/components/banner.tsxpackages/eclipse/src/components/breadcrumb.tsxpackages/eclipse/src/components/button.tsxpackages/eclipse/src/components/card.tsxpackages/eclipse/src/components/chart.tsxpackages/eclipse/src/components/checkbox.tsxpackages/eclipse/src/components/codeblock.tsxpackages/eclipse/src/components/dialog.tsxpackages/eclipse/src/components/dropdown-menu.tsxpackages/eclipse/src/components/empty.tsxpackages/eclipse/src/components/field.tsxpackages/eclipse/src/components/files.tsxpackages/eclipse/src/components/index.ts
💤 Files with no reviewable changes (1)
- apps/site/src/app/(index)/page.tsx
✅ Files skipped from review due to trivial changes (281)
- .claude/settings.json
- apps/docs/content/docs.v6/orm/more/dev-environment/meta.json
- apps/docs/src/components/sidebar-badge-provider.tsx
- apps/eclipse/cli.json
- apps/docs/content/docs/query-insights/meta.json
- apps/eclipse/src/lib/urls.ts
- apps/site/src/components/legal-accordion.tsx
- apps/site/src/components/enterprise/form.tsx
- apps/site/src/components/orm/info-stats.tsx
- apps/site/src/components/prisma-with/how-section.tsx
- packages/eclipse/postcss.config.mjs
- apps/site/src/components/support/search.tsx
- apps/site/src/components/postgres.tsx
- apps/site/src/app/og/image.png/route.tsx
- apps/site/src/app/migrate/page.tsx
- apps/site/src/app/partners/tos/page.tsx
- .coderabbit.yaml
- .github/workflows/eclipse-publish.yml
- .github/workflows/lychee.yml
- .oxfmtrc.json
- .oxlintrc.json
- apps/blog/next.config.mjs
- apps/blog/src/app/(blog)/layout.tsx
- apps/blog/src/app/api/search/route.ts
- apps/blog/src/app/layout.tsx
- apps/blog/src/app/og/image.png/route.tsx
- apps/blog/src/app/robots.ts
- apps/blog/src/app/rss.xml/route.ts
- apps/blog/src/app/sitemap.ts
- apps/blog/src/components/AuthorAvatarGroup.tsx
- apps/blog/src/components/BlogShare.tsx
- apps/blog/src/components/Employee.tsx
- apps/blog/src/components/Hex.tsx
- apps/blog/src/components/Meetup.tsx
- apps/blog/src/components/PostCard.tsx
- apps/blog/src/components/Quote.tsx
- apps/blog/src/components/navigation-wrapper.tsx
- apps/blog/src/components/search.tsx
- apps/blog/src/components/utm-persistence.tsx
- apps/blog/src/lib/authors.ts
- apps/blog/src/lib/blog-metadata.ts
- apps/blog/src/lib/rss.ts
- apps/blog/src/lib/search-types.ts
- apps/blog/src/lib/source.tsx
- apps/blog/src/mdx-components.tsx
- apps/docs/content/docs.v6/meta.json
- apps/docs/content/docs.v6/orm/more/internals/meta.json
- apps/docs/content/docs.v6/orm/more/upgrades/meta.json
- apps/docs/content/docs.v6/orm/prisma-client/debugging-and-troubleshooting/meta.json
- apps/docs/content/docs/console/features/meta.json
- apps/docs/content/docs/guides/frameworks/meta.json
- apps/docs/content/docs/guides/runtimes/meta.json
- apps/docs/content/docs/guides/upgrade-prisma-orm/meta.json
- apps/docs/content/docs/management-api/meta.json
- apps/docs/content/docs/console/more/meta.json
- apps/docs/content/docs/orm/core-concepts/supported-databases/meta.json
- apps/docs/content/docs/orm/more/dev-environment/meta.json
- apps/docs/content/docs/orm/prisma-client/debugging-and-troubleshooting/meta.json
- apps/docs/content/docs/orm/prisma-client/deployment/edge/meta.json
- apps/docs/content/docs/orm/prisma-client/observability-and-logging/meta.json
- apps/docs/content/docs/orm/prisma-client/type-safety/meta.json
- apps/docs/content/docs/orm/prisma-migrate/meta.json
- apps/docs/content/docs/orm/prisma-schema/meta.json
- apps/docs/cspell.json
- apps/docs/next.config.mjs
- apps/docs/scripts/fetch-openapi.ts
- apps/docs/scripts/lint-external-links.ts
- apps/docs/src/app/(docs)/(default)/layout.tsx
- apps/docs/src/app/(docs)/sitemap.ts
- apps/docs/src/app/(docs)/v6/[[...slug]]/page.tsx
- apps/docs/src/app/api/newsletter/route.ts
- apps/docs/src/app/global-error.tsx
- apps/docs/src/app/global.css
- apps/docs/src/app/llms.txt/route.ts
- apps/docs/src/app/not-found.tsx
- apps/docs/src/app/robots.ts
- apps/docs/src/app/rss.xml/route.ts
- apps/docs/src/components/ai-elements/copy-chat.tsx
- apps/docs/src/components/ai-elements/prompt-input.tsx
- apps/docs/src/components/dropdown-examples/interactive-examples.tsx
- apps/docs/src/components/layout/language-toggle.tsx
- apps/docs/src/components/layout/sidebar/page-tree.tsx
- apps/docs/src/components/status-indicator.tsx
- apps/docs/src/components/ui/collapsible.tsx
- apps/docs/src/components/ui/input.tsx
- apps/docs/src/components/utm-persistence.tsx
- apps/docs/src/hooks/use-mobile.ts
- apps/docs/src/lib/get-llm-text.ts
- apps/site/src/app/stack/stack-data.ts
- apps/site/src/components/careers/open-roles.tsx
- apps/site/src/app/showcase/page.tsx
- apps/site/src/components/console-cta-button.tsx
- apps/site/src/components/careers/masonry.tsx
- apps/site/src/app/studio/page.tsx
- apps/site/tailwind.config.ts
- apps/site/src/components/technology.tsx
- apps/site/src/lib/site-metadata.ts
- apps/docs/src/components/ui/popover.tsx
- packages/eclipse/src/components/alert.tsx
- packages/eclipse/src/components/checkbox.tsx
- apps/docs/tsconfig.json
- apps/docs/src/lib/source.ts
- apps/docs/src/components/ui/textarea.tsx
- apps/docs/src/app/layout.tsx
- apps/docs/src/components/not-found-tracker.tsx
- apps/docs/src/hooks/use-ai-chat.ts
- apps/eclipse/content/design-system/meta.json
- apps/docs/src/hooks/use-chat-persistence.ts
- apps/docs/src/lib/urls.ts
- apps/eclipse/content/design-system/tokens/meta.json
- apps/eclipse/src/components/chart-examples/interactive-examples.tsx
- apps/docs/src/lib/merge-refs.ts
- apps/eclipse/package.json
- apps/eclipse/src/components/dropdown-examples/interactive-examples.tsx
- apps/docs/src/mdx-components.tsx
- apps/eclipse/src/app/(design-system)/sitemap.ts
- apps/eclipse/src/components/layout/language-toggle.tsx
- apps/eclipse/src/app/(design-system)/layout.tsx
- apps/docs/src/lib/rss.ts
- apps/eclipse/src/components/toc/clerk.tsx
- apps/eclipse/postcss.config.mjs
- apps/eclipse/src/components/ui/popover.tsx
- apps/eclipse/src/components/ui/collapsible.tsx
- apps/eclipse/src/lib/merge-refs.ts
- apps/site/src/app/api/newsletter/route.ts
- apps/eclipse/src/app/layout.tsx
- apps/eclipse/src/components/layout/sidebar/tabs/index.tsx
- apps/eclipse/src/lib/source.ts
- apps/eclipse/src/components/search.tsx
- apps/site/src/components/enterprise/footer-accordion.tsx
- apps/site/src/app/robots.ts
- apps/site/src/components/partners/form.tsx
- apps/site/src/components/homepage/testimonials/index.tsx
- apps/site/src/components/client/api.tsx
- apps/site/src/components/homepage/antigravity.tsx
- apps/site/src/components/homepage/testimonials/testimonial-item.tsx
- apps/site/src/components/client/technology.tsx
- apps/site/src/app/terms/page.tsx
- apps/site/src/components/prisma-with/resources-section.tsx
- apps/site/src/components/homepage/bento.tsx
- apps/site/src/components/homepage/card-section/card-section.tsx
- apps/site/src/components/support/search-toggle.tsx
- apps/site/src/components/prisma-with/community-section.tsx
- apps/site/src/components/marquee.tsx
- apps/site/src/components/scroll-carousel.tsx
- apps/site/src/components/prisma-with/why-section.tsx
- apps/site/src/components/glitch-particles.tsx
- apps/site/src/components/query-insights.tsx
- apps/site/src/components/utm-persistence.tsx
- apps/site/src/app/events/events-data.ts
- packages/eclipse/src/components/action.tsx
- apps/site/src/lib/shiki_prisma.ts
- apps/site/src/app/changelog/[...slug]/page.tsx
- apps/site/src/app/layout.tsx
- packages/eclipse/src/components/accordion.tsx
- apps/site/src/app/llms-content.ts
- apps/site/src/components/showcase/post-card.tsx
- apps/site/src/app/changelog/layout.tsx
- apps/site/src/app/client/page.tsx
- apps/site/src/app/events/page.tsx
- apps/site/src/app/mcp/_components/capability-cards.tsx
- apps/site/src/app/newsletter/newsletter-signup.tsx
- apps/site/src/app/postgres/page.tsx
- apps/site/src/app/mcp/_components/mcp-hero-section.tsx
- apps/site/src/app/mcp/_components/mcp-bubble.tsx
- apps/site/src/lib/sitemap.ts
- apps/site/src/app/ecosystem/page.tsx
- apps/site/src/app/newsletter/page.tsx
- apps/site/src/app/pricing/page.tsx
- apps/site/src/app/mcp/page.tsx
- apps/site/src/app/event-code-of-conduct/page.tsx
- apps/site/source.config.ts
- apps/site/src/components/support/support-card.tsx
- apps/blog/source.config.ts
- apps/blog/src/app/(blog)/[slug]/page.tsx
- apps/blog/src/app/(blog)/page.tsx
- apps/blog/src/app/global.css
- apps/docs/scripts/generate-docs.ts
- apps/docs/scripts/lint-links.ts
- apps/docs/src/app/api/github-webhook/route.ts
- apps/docs/src/app/og/[...slug]/route.tsx
- apps/docs/src/components/ai-elements/conversation.tsx
- apps/docs/src/components/ai-elements/index.ts
- apps/docs/src/components/ai-elements/message.tsx
- apps/docs/src/components/ai-elements/shimmer.tsx
- apps/docs/src/components/ai-elements/suggestion.tsx
- apps/docs/src/components/layout/search-toggle.tsx
- apps/docs/src/components/layout/sidebar/tabs/index.tsx
- apps/docs/src/components/sidebar-banner.tsx
- apps/docs/src/components/toc/clerk.tsx
- apps/site/src/app/support/page.tsx
- apps/site/src/components/careers/WorldMap.tsx
- apps/site/src/components/migrate/hero-code.tsx
- packages/eclipse/src/components/button.tsx
- packages/eclipse/src/components/empty.tsx
- apps/site/src/lib/url.ts
- apps/site/src/data/showcase.ts
- packages/eclipse/src/components/field.tsx
- packages/eclipse/src/components/badge.tsx
- packages/eclipse/src/components/avatar.tsx
- packages/eclipse/src/components/files.tsx
- packages/eclipse/src/components/dialog.tsx
- packages/eclipse/src/components/index.ts
- packages/eclipse/src/components/dropdown-menu.tsx
- apps/docs/src/lib/openapi.ts
- apps/eclipse/source.config.ts
- apps/docs/src/components/ui/button.tsx
- apps/eclipse/src/components/layout/sidebar/link-item.tsx
- apps/eclipse/src/lib/layout.shared.tsx
- apps/eclipse/src/components/layout/notebook/index.tsx
- apps/eclipse/src/components/layout/search-toggle.tsx
- apps/docs/src/components/toc/index.tsx
- apps/eclipse/src/components/switch-examples/interactive-examples.tsx
- apps/eclipse/src/components/layout/theme-toggle.tsx
- apps/eclipse/src/components/ui/button.tsx
- apps/docs/src/components/version-switcher.tsx
- apps/docs/src/app/(docs)/v6/layout.tsx
- apps/eclipse/src/components/toc/index.tsx
- apps/site/src/app/typedsql/page.tsx
- apps/site/src/app/pricing/pricing-hero-plans.tsx
- apps/site/src/app/stack/page.tsx
- apps/site/src/components/navigation-wrapper.tsx
- apps/site/src/components/homepage/card-section/logo-grid.tsx
- apps/site/src/components/prisma-with/hero.tsx
- apps/site/src/app/changelog/page.tsx
- apps/site/src/components/partners/partners-table.tsx
- apps/site/src/app/pricing/pricing-calculator.tsx
- apps/eclipse/src/components/layout/sidebar/page-tree.tsx
- packages/eclipse/src/components/breadcrumb.tsx
- apps/site/package.json
- apps/docs/src/components/ai-elements/spinner.tsx
- apps/docs/src/components/layout/sidebar/link-item.tsx
- apps/eclipse/src/components/toc/default.tsx
- apps/docs/src/components/ui/scroll-area.tsx
- apps/docs/scripts/add-url-frontmatter.ts
- apps/blog/src/components/BlogGrid.tsx
- apps/blog/src/components/search-toggle.tsx
- apps/eclipse/src/components/ui/scroll-area.tsx
- apps/docs/src/components/toc/default.tsx
- apps/docs/src/components/layout/link-item.tsx
- apps/docs/src/components/ui/input-group.tsx
- apps/site/src/app/query-insights/page.tsx
- packages/eclipse/src/components/card.tsx
- packages/eclipse/src/components/codeblock.tsx
- packages/eclipse/package.json
- packages/eclipse/src/components/chart.tsx
- apps/docs/src/components/search.tsx
- apps/site/src/data/event-code-of-conduct.tsx
- apps/site/src/app/orm/page.tsx
- packages/eclipse/src/components/banner.tsx
- apps/blog/src/lib/url.ts
- apps/eclipse/src/components/layout/shared.tsx
- apps/site/src/app/about/page.tsx
- apps/site/src/data/sla.tsx
- apps/blog/scripts/lint.ts
- apps/docs/src/components/layout/notebook/page/index.tsx
- apps/eclipse/src/components/layout/link-item.tsx
- apps/docs/src/components/layout/sidebar/tabs/dropdown.tsx
- apps/eclipse/src/components/layout/notebook/client.tsx
- apps/docs/src/components/layout/shared.tsx
- apps/site/src/data/privacy.tsx
- apps/docs/src/components/layout/theme-toggle.tsx
- apps/site/src/app/community/page.tsx
- apps/docs/src/components/ai-chat-sidebar.tsx
- apps/docs/src/components/structured-data.tsx
- apps/eclipse/src/components/layout/sidebar/base.tsx
- apps/site/src/app/enterprise/page.tsx
- apps/eclipse/src/components/layout/notebook/page/index.tsx
- apps/docs/src/components/layout/notebook/page/client.tsx
- apps/docs/src/components/layout/notebook/client.tsx
- apps/docs/src/components/layout/notebook/index.tsx
- apps/eclipse/src/components/layout/notebook/page/client.tsx
- apps/eclipse/src/components/layout/sidebar/tabs/dropdown.tsx
- apps/docs/src/components/layout/sidebar/base.tsx
- apps/site/next.config.mjs
- apps/site/src/data/partners-tos.tsx
- apps/site/src/components/careers/flexible.module.css
- apps/site/src/app/support-policy/page.tsx
- apps/site/src/components/careers/challenges.module.css
- apps/site/src/components/careers/worldmap.module.css
- apps/site/src/data/terms.tsx
🚧 Files skipped from review as they are similar to previous changes (11)
- apps/docs/source.config.ts
- apps/blog/package.json
- apps/blog/src/app/api/newsletter/route.ts
- apps/blog/src/components/TweetEmbed.tsx
- apps/docs/src/components/toc/tracked-wrapper.tsx
- apps/docs/src/app/api/search/route.ts
- apps/eclipse/src/app/(design-system)/[[...slug]]/page.tsx
- apps/eclipse/src/components/layout/notebook/sidebar.tsx
- apps/site/src/app/global.css
- apps/docs/src/components/layout/notebook/sidebar.tsx
- apps/blog/src/app/not-found.tsx
Summary
oxfmtto0.46.0andoxlintto1.61.0public, build outputs, and Markdown/MDX files in Oxfmt because current MDX formatting is not safe for our docs renderer syntaxVerification
pnpm exec oxfmt . --writepnpm exec oxfmt --list-different .pnpm exec oxlint .(0 errors, existing warnings only)NEXT_DOCS_ORIGIN=https://docs.prisma.io NEXT_BLOG_ORIGIN=https://blog.prisma.io MIXEDBREAD_API_KEY=build-placeholder pnpm buildSummary by CodeRabbit
New Features
Bug Fixes
Style
Chores