| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Adds /partners/coderabbit, a rich SEO- and AI-search-optimized landing page for the CodeRabbit Gold sponsorship, modeled on the Railway partner page structure (hero, stats, features, how-it-works, library fit, pricing, testimonials, FAQ, CTA). Content is sourced from coderabbit.ai: real pricing (Free/Pro/Pro Plus/ Enterprise), stats, features, and testimonials. Per the repo's partner guidance, CodeRabbit is presented as a GitHub App with an optional .coderabbit.yaml config — no runtime app code — rather than an SDK. Includes seo() meta plus FAQPage and WebPage JSON-LD for rich results.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
tanstack-com | 7c2d70d | Commit Preview URL Branch Preview URL |
Jul 13 2026, 04:34 PM |
Sorry, something went wrong.
📝 Walkthrough
WalkthroughAdds a CodeRabbit partner landing page at /partners/coderabbit, including SEO metadata, structured FAQ data, analytics, interactive content, pricing, testimonials, and outbound CTAs. The generated route tree registers the page beneath the Partners route. ChangesCodeRabbit partner route
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant Visitor
participant CodeRabbitPartnerPage
participant Analytics
participant ExternalDestination
Visitor->>CodeRabbitPartnerPage: Open /partners/coderabbit
CodeRabbitPartnerPage->>Analytics: Emit partner_viewed
Visitor->>CodeRabbitPartnerPage: Select outbound CTA
CodeRabbitPartnerPage->>Analytics: Emit partner_clicked
CodeRabbitPartnerPage->>ExternalDestination: Navigate to outbound link
Possibly related PRs
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. ❤️ ShareComment @coderabbitai help to get the list of available commands. |
Sorry, something went wrong.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agentsVerify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. Inline comments: In `@src/routes/partners.coderabbit.tsx`: - Around line 446-449: Update the 15,000 statistic in the relevant stats section to use the same label as the other 15,000 statistic on the page, choosing either “Customers” or “teams” consistently. Locate the surrounding stats entries in the page component and change only the inconsistent label.
Fix all unresolved CodeRabbit comments on this PR:
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: b4a233b4-962b-4065-962d-504028352632
📥 CommitsReviewing files that changed from the base of the PR and between 2952371 and a853001.
📒 Files selected for processing (2)
Sorry, something went wrong.
| ['6M+', 'Repositories reviewed'], | ||
| ['75M+', 'Defects caught'], | ||
| ['15,000+', 'Customers'], | ||
| ['$0', 'Reviews in your IDE'], |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect the relevant sections in src/routes/partners.coderabbit.tsx
sed -n '430,470p' src/routes/partners.coderabbit.tsx
printf '\n---\n'
sed -n '750,790p' src/routes/partners.coderabbit.tsx
printf '\n---\n'
# Search for the stat labels used in this file
rg -n "15,000\+|Customers|teams|Repositories reviewed|Defects caught|Reviews in your IDE" src/routes/partners.coderabbit.tsxRepository: TanStack/tanstack.com
Length of output: 4244
Use one label for the 15,000 stat. src/routes/partners.coderabbit.tsx mixes 15,000+ Customers and 15,000+ teams; pick one term and use it consistently across the page.
🤖 Prompt for AI AgentsVerify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/routes/partners.coderabbit.tsx` around lines 446 - 449, Update the 15,000 statistic in the relevant stats section to use the same label as the other 15,000 statistic on the page, choosing either “Customers” or “teams” consistently. Locate the surrounding stats entries in the page component and change only the inconsistent label.
Sorry, something went wrong.
- Reframe the value section from "why teams choose CodeRabbit" to "CodeRabbit is all-in on the TanStack community" to position TanStack as the sought-after partner. - Add "What CodeRabbit catches in a TanStack PR" section (6 concrete, framework-specific examples) for AI-search and long-tail coverage. - Add "How CodeRabbit compares" table (vs manual review vs linters). - Expand FAQ 6 -> 12 (data privacy/training, language support, monorepo path scoping, test/docstring generation, bot chat, Jira/Linear/MCP); FAQPage JSON-LD scales automatically. All new claims verified against coderabbit.ai and its docs.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)src/routes/partners.coderabbit.tsx (1)🤖 Prompt for all review comments with AI agents710-737: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win
Extract a shared card component for catches and libDetails.
The catches card rendering (L724-736) is identical to the libDetails card rendering (L695-707) — same Card, CheckBadge, label, and description structure. Extracting a small CheckCard component would eliminate the duplication and prevent future drift.
♻️ Proposed refactor+function CheckCard({ label, desc }: { label: string; desc: string }) { + return ( + <Card key={label} className="p-4 shadow-none"> + <div className="flex items-start gap-2"> + <CheckBadge /> + <span className="text-sm font-semibold">{label}</span> + </div> + <p className="mt-2 text-xs leading-relaxed text-gray-600 dark:text-gray-400"> + {desc} + </p> + </Card> + ) +}Then use <CheckCard label={label} desc={desc} /> in both the libDetails and catches sections.
🤖 Prompt for AI AgentsVerify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/routes/partners.coderabbit.tsx` around lines 710 - 737, Extract the duplicated card markup from the libDetails and catches renderings into a shared CheckCard component accepting label and desc props. Replace each inline Card/CheckBadge structure in both map callbacks with CheckCard, preserving the existing styling and content.
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. Inline comments: In `@src/routes/partners.coderabbit.tsx`: - Around line 431-446: Update ComparisonCell so both boolean outcomes expose explicit screen-reader text alternatives: label the true CheckBadge result as yes and the false em-dash result as no, while preserving the existing visual rendering and partial-value behavior. --- Nitpick comments: In `@src/routes/partners.coderabbit.tsx`: - Around line 710-737: Extract the duplicated card markup from the libDetails and catches renderings into a shared CheckCard component accepting label and desc props. Replace each inline Card/CheckBadge structure in both map callbacks with CheckCard, preserving the existing styling and content.
Fix all unresolved CodeRabbit comments on this PR:
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 4c3294cd-190f-4817-b1f9-b39ac5a4ced3
📥 CommitsReviewing files that changed from the base of the PR and between a853001 and 7c2d70d.
📒 Files selected for processing (1)
Sorry, something went wrong.
| function ComparisonCell({ value }: { value: ComparisonValue }) { | ||
| if (value === 'partial') { | ||
| return ( | ||
| <span className="text-xs font-medium text-gray-500 dark:text-gray-400"> | ||
| Partial | ||
| </span> | ||
| ) | ||
| } | ||
| return value ? ( | ||
| <span className="inline-flex justify-center"> | ||
| <CheckBadge /> | ||
| </span> | ||
| ) : ( | ||
| <span className="text-gray-300 dark:text-gray-600">—</span> | ||
| ) | ||
| } |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win
Add screen-reader text alternatives to ComparisonCell.
In the comparison table, CheckBadge (true) and the em dash (false) convey yes/no semantics visually but have no text equivalent for assistive technology. Screen readers will encounter a decorative icon or punctuation with no label.
♿ Proposed fix: add aria-labels function ComparisonCell({ value }: { value: ComparisonValue }) {
if (value === 'partial') {
return (
<span className="text-xs font-medium text-gray-500 dark:text-gray-400">
Partial
</span>
)
}
return value ? (
- <span className="inline-flex justify-center">
+ <span className="inline-flex justify-center" aria-label="Yes">
<CheckBadge />
+ <span className="sr-only">Yes</span>
</span>
) : (
- <span className="text-gray-300 dark:text-gray-600">—</span>
+ <span className="text-gray-300 dark:text-gray-600" aria-label="No">
+ <span aria-hidden="true">—</span>
+ <span className="sr-only">No</span>
+ </span>
)
}‼️ 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.
| function ComparisonCell({ value }: { value: ComparisonValue }) { | |
| if (value === 'partial') { | |
| return ( | |
| <span className="text-xs font-medium text-gray-500 dark:text-gray-400"> | |
| Partial | |
| </span> | |
| ) | |
| } | |
| return value ? ( | |
| <span className="inline-flex justify-center"> | |
| <CheckBadge /> | |
| </span> | |
| ) : ( | |
| <span className="text-gray-300 dark:text-gray-600">—</span> | |
| ) | |
| } | |
| function ComparisonCell({ value }: { value: ComparisonValue }) { | |
| if (value === 'partial') { | |
| return ( | |
| <span className="text-xs font-medium text-gray-500 dark:text-gray-400"> | |
| Partial | |
| </span> | |
| ) | |
| } | |
| return value ? ( | |
| <span className="inline-flex justify-center" aria-label="Yes"> | |
| <CheckBadge /> | |
| <span className="sr-only">Yes</span> | |
| </span> | |
| ) : ( | |
| <span className="text-gray-300 dark:text-gray-600" aria-label="No"> | |
| <span aria-hidden="true">—</span> | |
| <span className="sr-only">No</span> | |
| </span> | |
| ) | |
| } |
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/routes/partners.coderabbit.tsx` around lines 431 - 446, Update ComparisonCell so both boolean outcomes expose explicit screen-reader text alternatives: label the true CheckBadge result as yes and the false em-dash result as no, while preserving the existing visual rendering and partial-value behavior.
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
Adds a dedicated landing page for the CodeRabbit Gold sponsorship at /partners/coderabbit, replacing the generic partner template for that URL. Structure mirrors the existing Railway partner page (hero → stats → features → how-it-works → library fit → pricing → testimonials → FAQ → CTA), reusing the shared Card, Button, Collapsible, CodeBlock, and PartnerImage components — so it inherits the design system, dark mode, and analytics wiring.
Content
All facts sourced from coderabbit.ai:
SEO / AI search
UTM
Sponsor links use the existing CodeRabbit affiliate base coderabbit.link/tanstack?…&via=tanstack plus utm_medium=sponsor&utm_source=tanstack&utm_campaign=partner-page (matching the Railway pattern).
Verification
Reviewer notes
🤖 Generated with Claude Code
Summary by CodeRabbit