Skip to content

Conversation

@tyaga001
Copy link
Owner

@tyaga001 tyaga001 commented Jan 10, 2026

Pull Request

Summary

Brief description of changes and motivation.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that causes existing functionality to change)
  • Documentation update
  • Refactoring/code cleanup
  • [✅ ] Content update (blog posts, tools data, etc.)

Changes Made

Testing

  • Local development tested
  • Build passes (npm run build)
  • No TypeScript errors
  • No linting errors
  • Manual testing completed

Database Changes (if applicable)

  • Database migration included
  • Migration tested locally
  • Rollback plan documented

Content Changes (if applicable)

  • Tool data updated in src/lib/toolData.json
  • Blog post follows content guidelines
  • Images optimized and properly sized
  • SEO metadata updated

UI/UX Changes (if applicable)

  • Responsive design tested
  • Accessibility considerations addressed
  • Dark mode compatibility verified
  • Loading states implemented

Checklist

  • Code follows project style guidelines
  • Self-review completed
  • Documentation updated if needed
  • No new console warnings or errors
  • Performance impact considered

Screenshots/Demo

Related Issues

Additional Notes

Summary by CodeRabbit

  • New Features
    • Published two long-form blog articles with rich visuals, benchmarks, and practical examples (Cursor vs Claude Code; EloqDoc vs MongoDB Atlas).
  • Chores
    • Added cover images and marked the new posts as featured/new; updated blog listing to surface them.
  • Refactor
    • Normalized blog categories to singular forms and standardized punctuation and excerpts across multiple posts.

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

@vercel
Copy link

vercel bot commented Jan 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
devtoolsacademy Ready Ready Preview, Comment Jan 14, 2026 11:02am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 10, 2026

Walkthrough

Adds two new MDX blog posts (Cursor vs. Claude Code; EloqDoc vs. MongoDB Cloud Services) each exporting page metadata and assets, and updates the blog registry (src/app/blog/data.ts) with new cover imports, two new entries, and category normalization plus minor metadata edits across existing posts.

Changes

Cohort / File(s) Summary
New MDX blog pages
src/app/blog/cursor-vs-claudecode/page.mdx, src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx
Two new MDX posts added. Each imports images/components, exports export const metadata = getMetadata({...}), and contains article content with images, code blocks, and BlogHeader/Callout usage.
Blog registry & assets
src/app/blog/data.ts, src/app/blog/*/cover.png
Added imports for three cover images and appended two new allBlogs entries (cursor-vs-claudecode, eloqdoc-vs-mongodb-cloud-services). Normalized categories from plural to singular across many entries and adjusted several image references, isNew/isFeatured flags, titles, and descriptions.
Metadata declarations
src/app/blog/.../page.mdx (new files)
Added exported metadata declarations calling getMetadata({ path, title, description, image }) in each new MDX page.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description uses the provided template but leaves critical sections empty: Summary, Changes Made, Testing, and Additional Notes are all blank, with only 'Content update' checked but no details provided. Fill in the Summary section with the actual changes, populate Changes Made with specific modifications, verify all testing checkboxes, and add any relevant notes about the content updates and data normalization.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Eloqdoc vs MongoDB Part 3' directly corresponds to one of the main changes—the new blog post comparing EloqdDoc and MongoDB Atlas cloud services—but omits the newly added 'Cursor vs Claude Code' comparison blog post and data updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In @src/app/blog/cursor-vs-claudecode/page.mdx:
- Around line 241-250: The Python example uses invalid syntax by wrapping
keyword arguments in parentheses and JS-style dicts; update the Anthropic client
call in client.beta.messages.create to use normal Python keywords (model=...,
max_tokens=..., betas=...) and replace the messages argument with a Python list
of dicts using Python literal syntax (e.g., messages=[{"role": "user",
"content": "Process this large document..."}]) so the snippet is valid Python.

In @src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx:
- Around line 34-40: The BlogHeader component instance in the MDX file sets
publishedAt to "2026-01-10T00:00:00Z" which mismatches the post's date in
data.ts ("2026-01-09T00:00:00Z"); update the publishedAt prop on the BlogHeader
in this file to match the date used in data.ts (use "2026-01-09T00:00:00Z") so
the article header and listing show the same date, or alternatively update the
entry in data.ts to match BlogHeader—ensure both BlogHeader.publishedAt and the
corresponding entry in data.ts use the identical ISO timestamp.
🧹 Nitpick comments (4)
src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx (2)

1-6: Unused import: Callout component is imported but never used.

The Callout component is imported on line 5 but does not appear anywhere in this article.

🔧 Suggested fix
 import Image from "next/image"

 import { getMetadata } from "@/lib/metadata"
 import BlogHeader from "@/components/blog/BlogHeader"
-import { Callout } from "@/components/blog/Callout"

325-326: Inconsistent spelling variant: "maximise" vs "maximize".

Line 325 uses British spelling "maximise" while line 425 uses American spelling "maximize". Consider using consistent spelling throughout the article.

src/app/blog/cursor-vs-claudecode/page.mdx (2)

1-6: Unused import: Callout component is imported but never used.

Same as the other blog post - the Callout component is imported but not used in this article.

🔧 Suggested fix
 import Image from "next/image"

 import { getMetadata } from "@/lib/metadata"
 import BlogHeader from "@/components/blog/BlogHeader"
-import { Callout } from "@/components/blog/Callout"

102-102: Inconsistent spelling variants throughout the article.

The article mixes British and American English spellings:

  • Line 102: "summarisation" (British)
  • Line 217: "optimized" (American)
  • Line 362: "emphasize" (American)
  • Line 456: "summarise", "analyse" (British)

Consider standardizing to one variant for consistency.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d743553 and d5624df.

⛔ Files ignored due to path filters (44)
  • src/app/blog/cursor-vs-claudecode/cover.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image1.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image10.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image11.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image12.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image13.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image14.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image15.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image16.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image17.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image18.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image19.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image2.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image20.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image21.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image22.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image23.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image24.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image25.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image26.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image3.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image4.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image5.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image6.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image7.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image8.png is excluded by !**/*.png
  • src/app/blog/cursor-vs-claudecode/image9.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/cover.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image1.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image10.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image11.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image12.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image13.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image14.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image15.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image16.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image2.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image3.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image4.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image5.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image6.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image7.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image8.png is excluded by !**/*.png
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/image9.png is excluded by !**/*.png
📒 Files selected for processing (3)
  • src/app/blog/cursor-vs-claudecode/page.mdx
  • src/app/blog/data.ts
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx
🧰 Additional context used
🧬 Code graph analysis (2)
src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx (3)
src/app/blog/page.tsx (1)
  • post (31-54)
src/components/blog/BlogHeader.tsx (2)
  • content (20-95)
  • BlogHeaderProps (14-18)
src/components/AISummary.tsx (2)
  • summary (8-62)
  • AISummaryProps (4-6)
src/app/blog/data.ts (1)
src/app/blog/page.tsx (1)
  • BlogPage (17-58)
🪛 LanguageTool
src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx

[style] ~368-~368: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...rth, which are standard for any DBaaS. Both services provide a secure environment o...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~425-~425: Do not mix variants of the same word (‘maximize’ and ‘maximise’) within a single text.
Context: ... and growing projects where you need to maximize every dollar and achieve scalability wi...

(EN_WORD_COHERENCY)

src/app/blog/cursor-vs-claudecode/page.mdx

[uncategorized] ~102-~102: Do not mix variants of the same word (‘summarisation’ and ‘summarization’) within a single text.
Context: ...Context Management**: Through the above summarisation and memory features, Cursor efficiently...

(EN_WORD_COHERENCY)


[uncategorized] ~217-~217: Do not mix variants of the same word (‘optimize’ and ‘optimise’) within a single text.
Context: .../deployed models. Its own Tab model is optimized for code (trained on public repos). Cur...

(EN_WORD_COHERENCY)


[style] ~267-~267: Opting for a less wordy alternative here may improve the clarity of your writing.
Context: ...development environment where the agent not only suggests but also executes tasks with minimal friction. Claude is...

(NOT_ONLY_ALSO)


[uncategorized] ~362-~362: Do not mix variants of the same word (‘emphasize’ and ‘emphasise’) within a single text.
Context: ...{1200} height={600} /> Cursor’s docs emphasize sensible security practices (verify...

(EN_WORD_COHERENCY)


[style] ~393-~393: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... width={1200} height={600} /> 4. Claude.ai (web) : enable org/team connectors...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~456-~456: Do not mix variants of the same word (‘summarise’ and ‘summarize’) within a single text.
Context: ..., helping you draft thoughtful replies, summarise lengthy conversations, analyse shared f...

(EN_WORD_COHERENCY)


[uncategorized] ~456-~456: Do not mix variants of the same word (‘analyse’ and ‘analyze’) within a single text.
Context: ...plies, summarise lengthy conversations, analyse shared files, or gather context from pr...

(EN_WORD_COHERENCY)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build (18.x)
🔇 Additional comments (5)
src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx (1)

42-437: Well-structured comparison article with clear sections and data tables.

The article provides a comprehensive comparison with benchmark data, pricing comparisons, and security analysis. The use of tables and images effectively supports the content.

src/app/blog/cursor-vs-claudecode/page.mdx (1)

43-519: Comprehensive and well-organized comparison article.

The article covers a wide range of comparison aspects including context windows, tooling, MCP support, pricing, and integrations. The TL;DR section is helpful for quick reference, and the CodeRabbit integration section adds practical value.

src/app/blog/data.ts (3)

14-14: New image import added correctly.

The import for the new blog's cover image follows the established pattern.


22-51: New blog entries are well-structured and follow the established pattern.

Both entries include all required fields, maintain correct chronological ordering (newest first), and use appropriate categories. The entries will integrate properly with the blog listing page.


52-248: Category normalization improves consistency across blog entries.

The changes standardize category naming (e.g., "Database" instead of "Databases") and ensure consistent capitalization patterns across all blog entries. This will improve filtering and categorization functionality.

Comment on lines +241 to +250
```python
client = Anthropic()

response = client.beta.messages.create(
(model = "claude-sonnet-4-20250514"),
(max_tokens = 1024),
(messages = [{ role: "user", content: "Process this large document..." }]),
(betas = ["context-1m-2025-08-07"])
)
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Invalid Python syntax in code example.

The code uses parentheses around keyword arguments (e.g., (model = "...")), which is invalid Python syntax. This will cause a SyntaxError if readers copy-paste it.

🔧 Suggested fix
 ```python
 client = Anthropic()

 response = client.beta.messages.create(
-  (model = "claude-sonnet-4-20250514"),
-  (max_tokens = 1024),
-  (messages = [{ role: "user", content: "Process this large document..." }]),
-  (betas = ["context-1m-2025-08-07"])
+  model="claude-sonnet-4-20250514",
+  max_tokens=1024,
+  messages=[{"role": "user", "content": "Process this large document..."}],
+  betas=["context-1m-2025-08-07"]
 )
</details>

Note: The `messages` dict also uses JavaScript-style syntax (`{ role: "user" }`) instead of Python syntax (`{"role": "user"}`).

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🤖 Prompt for AI Agents
In @src/app/blog/cursor-vs-claudecode/page.mdx around lines 241 - 250, The
Python example uses invalid syntax by wrapping keyword arguments in parentheses
and JS-style dicts; update the Anthropic client call in
client.beta.messages.create to use normal Python keywords (model=...,
max_tokens=..., betas=...) and replace the messages argument with a Python list
of dicts using Python literal syntax (e.g., messages=[{"role": "user",
"content": "Process this large document..."}]) so the snippet is valid Python.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
src/app/blog/data.ts (2)

114-114: Standardize authentication category naming.

There's an inconsistency in category naming for authentication-related posts:

  • Line 114: Uses "Authentication" (BetterAuth vs NextAuth)
  • Line 207: Uses "Auth" (Supabase vs Clerk)

Both posts cover authentication topics but use different category values, which will split them into separate categories in any filtering or grouping logic. Consider standardizing to one term for consistency.

Suggested standardization

Choose either "Auth" or "Authentication" for both posts. For example, to use "Auth":

    category: "Authentication",
+   category: "Auth",

Also applies to: 207-207


90-90: Reconsider the isNew flag for older posts.

Posts published in October and November 2025 are marked with isNew: true:

  • Line 90: "UV and Ruff" (published 2025-11-12, ~2 months ago)
  • Line 102: "State of AI Code Review Tools" (published 2025-10-21, ~3 months ago)

Marking content that is 2-3 months old as "new" may mislead users about content freshness. Consider reserving the isNew flag for content published within the last 2-4 weeks.

Also applies to: 102-102

🧹 Nitpick comments (2)
src/app/blog/data.ts (2)

149-149: Consider standardizing "vs" punctuation for consistency.

There's inconsistent punctuation in comparison titles and descriptions:

  • Line 149: Title uses "Cody vs. Cursor" (with period)
  • Lines 215, 217: Excerpt and description use "MongoDB vs. PostgreSQL" (with period)
  • All other comparison titles use "vs" without a period

While both styles are acceptable, consistency within the blog data would improve maintainability. Consider standardizing to "vs" (without period) to match the majority of entries.

Proposed consistency fix
-    "Cody vs. Cursor: Choosing the Right AI Code Assistant for Your Development Workflow",
+    "Cody vs Cursor: Choosing the Right AI Code Assistant for Your Development Workflow",
-    excerpt: "A technical comparison of MongoDB vs. PostgreSQL",
+    excerpt: "A technical comparison of MongoDB vs PostgreSQL",
    description:
-      "A technical comparison of MongoDB vs. PostgreSQL to help you choose the best database solution for your SaaS",
+      "A technical comparison of MongoDB vs PostgreSQL to help you choose the best database solution for your SaaS",

Also applies to: 215-217


38-51: Consider slug naming consistency with the title.

The title refers to "Claude Code" (two words) but the slug is "cursor-vs-claudecode" (one word). While this works functionally, consider whether "cursor-vs-claude-code" would be more consistent with the title and improve SEO/readability. Verify this matches the actual directory structure.

#!/bin/bash
# Description: Verify the MDX file exists and check directory naming

# Check if the page.mdx file exists with current slug name
echo "Checking for cursor-vs-claudecode directory:"
fd -t f "page.mdx" "src/app/blog/cursor-vs-claudecode" --exec ls -lh

# Also check if there's a directory with hyphenated naming
echo -e "\nChecking for cursor-vs-claude-code directory (alternative):"
fd -t d "cursor-vs-claude-code" "src/app/blog"
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d5624df and 1b03f8a.

📒 Files selected for processing (1)
  • src/app/blog/data.ts
🔇 Additional comments (1)
src/app/blog/data.ts (1)

14-14: The cover image file exists at the expected location. No action needed.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/app/blog/data.ts (1)

1-249: Complete the PR checklist and provide meaningful descriptions.

The code changes look correct, but the PR process was not followed:

  1. Empty PR description: The "Changes Made" section is blank. Please document what content was added and why.
  2. Unchecked checklists: All checklist items are unchecked, including relevant ones like:
    • Content changes: blog guidelines, images, SEO metadata
    • General: style consistency, self-review, documentation
  3. Generic commit message: "Update data.ts" doesn't convey intent. Consider: "Add EloqDoc vs MongoDB Part 3 and Cursor vs Claude Code blog posts"

Completing these helps reviewers understand context and ensures quality standards are met.

Based on learnings, proper PR documentation and checklist completion are important for team collaboration and quality assurance.

🤖 Fix all issues with AI agents
In @src/app/blog/data.ts:
- Around line 23-37: Add distinct image imports for Parts 2 and 3 of the EloqDoc
vs MongoDB series and update the blog entries to use them: create two new
imports (EloqdocVSMongoDBPart2 and EloqdocVSMongoDBPart3) alongside the existing
EloqdocVSMongoDB import in the same module where images are imported, then
change the Part 2 data entry (identify by slug "eloqdoc-vs-mongodb-part-2" or
its title) to use EloqdocVSMongoDBPart2.src and change the Part 3 entry (slug
"eloqdoc-vs-mongodb-cloud-services" or its title) to use
EloqdocVSMongoDBPart3.src so each post references its own image variable.
🧹 Nitpick comments (1)
src/app/blog/data.ts (1)

61-61: Excellent category normalization!

The systematic change from plural "Databases" to singular "Database" (and consistent singular forms for other categories) improves consistency across the blog registry. This makes filtering and categorization more predictable.

Also applies to: 74-74, 141-141, 156-156, 169-169, 181-181, 194-194, 207-207, 220-220, 232-232, 245-245

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1b03f8a and 63e1e04.

📒 Files selected for processing (1)
  • src/app/blog/data.ts
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build (18.x)
🔇 Additional comments (3)
src/app/blog/data.ts (3)

14-14: LGTM!

The import follows the established pattern and is correctly referenced in the new blog entry.


90-90: Clarify the criteria for the isNew flag.

Posts from November 2025 (line 90) and October 2025 (line 102) are now marked with isNew: true. Given that today is January 10, 2026, these posts are 2-3 months old.

Please clarify:

  • Does isNew indicate "recently added to the site" or "recently published"?
  • What is the intended timeframe for the isNew flag?
  • Should posts older than a certain threshold have isNew: false?

This will help maintain consistency as new content is added over time.

Also applies to: 102-102


38-51: Ensure the corresponding MDX file and cover image exist for this blog entry.

The entry references CursorVSClaudeCode.src as the cover image and should have a corresponding MDX file at src/app/blog/cursor-vs-claudecode/page.mdx. Before merging, verify that both files are present and properly linked.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Fix all issues with AI agents
In `@src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx`:
- Line 384: Replace the vague "AWS us-west" text in the sentence starting with
"EloqCloud, being newer, is focused on core database service." with a specific
AWS region identifier (for example "AWS us-west-2") so the sentence clearly
reads that you can select a cloud and region (e.g., AWS us-west-2), matching the
benchmark section's region format.
- Line 288: The bold markdown for the label is incorrect: in the text string
"**Storage: **100 GB for $10/month" remove the space between the colon and the
closing asterisks so the label reads "**Storage:** 100 GB for $10/month" to
ensure the bold ends immediately before the colon.
- Line 53: The region string in the sentence "Same hardware tiers: AWS us-west1
c5n.2xlarge (8 CPU cores, 16GB memory)" uses GCP-style naming; update it to a
valid AWS region format (e.g., change "us-west1" to "us-west-1" or the correct
AWS region such as "us-west-2") so the region and the AWS instance type
`c5n.2xlarge` are consistent.
🧹 Nitpick comments (2)
src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx (2)

325-325: Inconsistent spelling: "maximise" vs "maximize".

This line uses British spelling "maximise", but line 425 uses American spelling "maximize". Pick one variant consistently throughout the article.

📝 Suggested fix (using American English)
-But if you're looking to maximise database performance per dollar, EloqCloud makes a strong case.
+But if you're looking to maximize database performance per dollar, EloqCloud makes a strong case.

367-369: Consider varying sentence structure.

Three consecutive sentences begin with "Both", which can feel repetitive. Consider rephrasing one or two for better flow.

📝 Suggested revision
 Both Atlas and EloqCloud allow you to restrict access by IP, require TLS, and so forth, which are standard for any DBaaS.

-Both services provide a secure environment out of the box. You should always follow best practices (use strong passwords, limit network access, turn on audit logs if needed, etc.), which you can do on both platforms.
+Each service provides a secure environment out of the box. You should always follow best practices (use strong passwords, limit network access, turn on audit logs if needed, etc.), which you can do on either platform.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 640c961 and 97e4342.

📒 Files selected for processing (1)
  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2024-12-11T18:45:04.025Z
Learnt from: tyaga001
Repo: tyaga001/devtoolsacademy PR: 43
File: posts/stream-vs-twilio.mdx:0-0
Timestamp: 2024-12-11T18:45:04.025Z
Learning: When the `publishedAt` date is set to a future date, update it to the current date.

Applied to files:

  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx
📚 Learning: 2024-12-04T09:02:22.583Z
Learnt from: tyaga001
Repo: tyaga001/devtoolsacademy PR: 45
File: src/components/Footer.tsx:15-24
Timestamp: 2024-12-04T09:02:22.583Z
Learning: When verifying the accessibility of blog post URLs in `src/components/Footer.tsx`, ensure that accessible URLs are not incorrectly flagged as inaccessible. Double-check the URLs before reporting accessibility issues.

Applied to files:

  • src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx
🪛 LanguageTool
src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx

[style] ~368-~368: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...rth, which are standard for any DBaaS. Both services provide a secure environment o...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~425-~425: Do not mix variants of the same word (‘maximize’ and ‘maximise’) within a single text.
Context: ... and growing projects where you need to maximize every dollar and achieve scalability wi...

(EN_WORD_COHERENCY)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build (18.x)
🔇 Additional comments (3)
src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx (3)

1-23: LGTM!

Imports are correctly structured. Using Next.js Image component for optimization and static image imports aligns with Next.js 15 best practices for MDX blog pages.


25-32: LGTM!

Metadata export is properly configured with SEO-friendly title and description. Using CoverImage.src correctly references the static import.


34-40: LGTM!

BlogHeader is properly configured with matching title, author attribution, and a valid publication date.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

- Same dataset: 10 million records
- Same YCSB workload config
- Same concurrency levels: 64, 128, 256 threads
- Same hardware tiers: AWS us-west1 c5n.2xlarge (8 CPU cores, 16GB memory)
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

AWS region naming inconsistency.

The region is specified as "us-west1" which follows GCP naming convention, but the instance type c5n.2xlarge is AWS-specific. AWS regions use hyphenated format: us-west-1 or us-west-2.

📝 Suggested fix
-- Same hardware tiers: AWS us-west1 c5n.2xlarge (8 CPU cores, 16GB memory)
+- Same hardware tiers: AWS us-west-2 c5n.2xlarge (8 CPU cores, 16GB memory)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Same hardware tiers: AWS us-west1 c5n.2xlarge (8 CPU cores, 16GB memory)
- Same hardware tiers: AWS us-west-2 c5n.2xlarge (8 CPU cores, 16GB memory)
🤖 Prompt for AI Agents
In `@src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx` at line 53, The
region string in the sentence "Same hardware tiers: AWS us-west1 c5n.2xlarge (8
CPU cores, 16GB memory)" uses GCP-style naming; update it to a valid AWS region
format (e.g., change "us-west1" to "us-west-1" or the correct AWS region such as
"us-west-2") so the region and the AWS instance type `c5n.2xlarge` are
consistent.


For our scenario:

**Storage: **100 GB for $10/month
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Markdown formatting issue.

There's a space before the closing asterisks which may cause incorrect rendering. The bold text should end immediately before the colon.

📝 Suggested fix
-**Storage: **100 GB for $10/month
+**Storage:** 100 GB for $10/month
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**Storage: **100 GB for $10/month
**Storage:** 100 GB for $10/month
🤖 Prompt for AI Agents
In `@src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx` at line 288, The
bold markdown for the label is incorrect: in the text string "**Storage: **100
GB for $10/month" remove the space between the colon and the closing asterisks
so the label reads "**Storage:** 100 GB for $10/month" to ensure the bold ends
immediately before the colon.

- They also offer a mobile/edge sync (Realm) if needed, as well as various other add-ons. These may not be directly related to database performance features, but they cater to developers who want a one-stop platform.

**EloqCloud User Experience**
EloqCloud, being newer, is focused on core database service. The basics are there: you can easily create a cluster (select your cloud and region, e.g., AWS us-west), define its size, and get a connection string.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Incomplete AWS region reference.

"AWS us-west" is incomplete. Specify the full region name (e.g., "us-west-2") for clarity and consistency with the benchmark section.

📝 Suggested fix
-The basics are there: you can easily create a cluster (select your cloud and region, e.g., AWS us-west), define its size, and get a connection string.
+The basics are there: you can easily create a cluster (select your cloud and region, e.g., AWS us-west-2), define its size, and get a connection string.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
EloqCloud, being newer, is focused on core database service. The basics are there: you can easily create a cluster (select your cloud and region, e.g., AWS us-west), define its size, and get a connection string.
EloqCloud, being newer, is focused on core database service. The basics are there: you can easily create a cluster (select your cloud and region, e.g., AWS us-west-2), define its size, and get a connection string.
🤖 Prompt for AI Agents
In `@src/app/blog/eloqdoc-vs-mongodb-cloud-services/page.mdx` at line 384, Replace
the vague "AWS us-west" text in the sentence starting with "EloqCloud, being
newer, is focused on core database service." with a specific AWS region
identifier (for example "AWS us-west-2") so the sentence clearly reads that you
can select a cloud and region (e.g., AWS us-west-2), matching the benchmark
section's region format.

@tyaga001 tyaga001 merged commit df64cd3 into main Jan 14, 2026
6 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Jan 30, 2026
27 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants