feat(case-study): Cursor Success Story (Jul 20, 2026 10:06 AM ET preview) - #155
Conversation
✅ Deploy Preview for masterpoint ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
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:
WalkthroughAdds immersive case-study styling, interactive chart carousels, phase cards, enhanced comparison metrics, print behavior, authoring documentation, and a complete Cursor infrastructure case study. ChangesCase study experience
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant CursorPage as Cursor case-study page
participant csiCarousel as csi-carousel shortcode
participant CarouselJS as Carousel JavaScript
participant Scroller as Carousel scroller
CursorPage->>csiCarousel: provide slide blocks
csiCarousel->>Scroller: render slide figures and controls
CarouselJS->>Scroller: track scroll position
Scroller->>CarouselJS: report active slide
CarouselJS->>Scroller: scroll to selected slide
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🧹 Nitpick comments (3)
assets/css/case-studies.scss (2)
2371-2417: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win
__after--plainoverriding__afterrelies on source order, not specificity.
.csi-compare__after--plainand.csi-compare__afterare separate top-level selectors of equal specificity (both single classes via&__concatenation);--plainonly wins today because it's declared after__afterin the stylesheet. A future reorder (or a new override rule inserted between them) would silently break the "neutral" plain-color rendering with no compile-time signal.♻️ Suggested fix: compound selector instead of relying on cascade order
- &__after--plain { + &__after.csi-compare__after--plain { color: $csi-ink; background: none;🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@assets/css/case-studies.scss` around lines 2371 - 2417, Update the neutral modifier styling around __after--plain to use a compound selector with __after, increasing specificity so plain neutral rendering does not depend on declaration order. Preserve the existing color, background, clipping, and text-fill overrides.
83-87: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winStylelint blank-line-before violations throughout this file.
Static analysis flags repeated
scss/double-slash-comment-empty-line-before/declaration-empty-line-beforeviolations across this diff (lines 83, 111, 132, 143, 1243, 1274, 1851, 1865, 1873, 1925, 1936, 1941, 1946, 2371, 2382, 2397, 2413, 2465, 2760, 2806, 2825, 2834, 2880, 2905). These are Trunk/stylelint-enforced formatting rules for.scssfiles.As per coding guidelines,
**/*.{md,yaml,yml,json,scss,js,html,toml}files should "Use Trunk for linting and formatting, including markdownlint, yamllint, prettier, checkov, gitleaks, oxipng, and svgo where applicable." Runningtrunk fmt/trunk checkon this file should auto-fix these.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@assets/css/case-studies.scss` around lines 83 - 87, Run Trunk formatting and linting on the SCSS file, targeting the reported scss/double-slash-comment-empty-line-before and declaration-empty-line-before violations throughout the diff. Apply the formatter’s blank-line adjustments while preserving the existing styles and declarations, then verify the file passes trunk check.Sources: Coding guidelines, Linters/SAST tools
layouts/shortcodes/csi-phase.html (1)
10-20: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueIndent inner elements under
<article>for readability.The child
<div>s and shortcode logic have no indentation, unlike the consistently indentedcsi-phase.html. Aligning indentation would improve maintainability.♻️ Proposed indentation fix
<article class="cursor-phase" data-aos="fade-up" data-aos-duration="600"> -<div class="cursor-phase__rail" aria-hidden="true"> -<span class="cursor-phase__marker"></span> -</div> -<div class="cursor-phase__card"> -{{- with $title }}<h3 class="cursor-phase__title">{{ . | safeHTML }}</h3>{{ end -}} -<div class="cursor-phase__body csi-prose"> -{{ .Inner | $.Page.RenderString (dict "display" "block") }} -</div> -</div> + <div class="cursor-phase__rail" aria-hidden="true"> + <span class="cursor-phase__marker"></span> + </div> + <div class="cursor-phase__card"> + {{- with $title }}<h3 class="cursor-phase__title">{{ . | safeHTML }}</h3>{{ end -}} + <div class="cursor-phase__body csi-prose"> + {{ .Inner | $.Page.RenderString (dict "display" "block") }} + </div> + </div> </article>🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@layouts/shortcodes/csi-phase.html` around lines 10 - 20, Reformat the csi-phase shortcode markup so the child elements and their template logic are consistently indented beneath the containing article structure, without changing the rendered HTML or shortcode behavior.
🤖 Prompt for all review comments with AI agents
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 `@content/case-studies/cursor.md`:
- Line 84: Correct the three compound modifiers in the document: change “10
minute outage” to “10-minute outage,” “mid 2026” to “mid-2026,” and
“product/domain scoped” to “product/domain-scoped.”
- Line 28: Update the body prose module-count references at the affected
locations to use “141+” instead of “100+”, keeping the wording and all other
document content unchanged so the metric matches the front matter and image alt
text.
In `@docs/case-studies.md`:
- Around line 242-245: Update the shortcode reference table in case-studies.md:
add the supported neutral: flag to the csi-compare attributes, and add a
dedicated cursor-phase row documenting its purpose, placement, and attributes
based on its usage in cursor.md. Keep the existing csi-phases/csi-phase
documentation unchanged.
In `@layouts/shortcodes/cursor-phase.html`:
- Line 15: Update the phase title rendering in the title block to remove the
safeHTML filter and output title as normal escaped text. Keep the existing
conditional rendering and cursor-phase__title markup unchanged.
---
Nitpick comments:
In `@assets/css/case-studies.scss`:
- Around line 2371-2417: Update the neutral modifier styling around
__after--plain to use a compound selector with __after, increasing specificity
so plain neutral rendering does not depend on declaration order. Preserve the
existing color, background, clipping, and text-fill overrides.
- Around line 83-87: Run Trunk formatting and linting on the SCSS file,
targeting the reported scss/double-slash-comment-empty-line-before and
declaration-empty-line-before violations throughout the diff. Apply the
formatter’s blank-line adjustments while preserving the existing styles and
declarations, then verify the file passes trunk check.
In `@layouts/shortcodes/csi-phase.html`:
- Around line 10-20: Reformat the csi-phase shortcode markup so the child
elements and their template logic are consistently indented beneath the
containing article structure, without changing the rendered HTML or shortcode
behavior.
🪄 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: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: a94689a5-1f85-4e72-a66c-010551fad0fe
⛔ Files ignored due to path filters (5)
static/img/case-studies/cursor/cursor-lockup-white.svgis excluded by!**/*.svgstatic/img/case-studies/cursor/dependency-graph.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/deployment-frequency-stat.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/plan-time-column-compare.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/tf-workspaces.pngis excluded by!**/*.png
📒 Files selected for processing (12)
assets/css/case-studies.scsscontent/case-studies/cursor.mddocs/case-studies.mdlayouts/case-studies/immersive.htmllayouts/case-studies/single.htmllayouts/shortcodes/csi-compare.htmllayouts/shortcodes/csi-figure.htmllayouts/shortcodes/csi-phase.htmllayouts/shortcodes/csi-phases.htmllayouts/shortcodes/csi-scale.htmllayouts/shortcodes/cursor-phase.htmlstatic/img/case-studies/cursor/cursor-team-photo.webp
e83fe86 to
7814b04
Compare
39edce3 to
b8f5de6
Compare
b8f5de6 to
95b6e98
Compare
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 Prompt for all review comments with AI agents
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 `@assets/css/case-studies.scss`:
- Line 1189: Run Trunk formatting on assets/css/case-studies.scss, applying the
required blank lines before comments and declarations at the reported locations
without changing styling behavior.
- Around line 1896-1905: Include the csi-section--gradient selector alongside
the existing dark-face selectors in each affected override, including the
heading/link rule near csi-section--pine, the phase metadata rule, and the scale
copy rule. Ensure all three gradient variants receive the same light text and
background styling as the corresponding pine and pine-deep sections.
- Line 3509: Update the print pagination rules for the .csi-phase__head element
so its heading remains attached to the corresponding phase body, not merely
unsplit itself. Apply the existing avoid-break behavior to the containing phase
section or heading-plus-body wrapper, preserving the current styling for
non-print layouts.
- Around line 2330-2336: Update the print styling for .csi-compare__after so the
__after--plain variant retains its neutral $csi-ink color, background, and text
fill instead of being overridden by the mint !important rule. Add a sufficiently
specific print override near the existing print rule while preserving mint
styling for non-plain comparisons.
In `@content/case-studies/cursor.md`:
- Around line 8-16: Update the hero image rendering in the case-study templates
to use the front matter hero_aside_alt value instead of hardcoding alt=""; apply
this consistently in both immersive.html and single.html, preserving an empty
alt only when no descriptive value is provided. Alternatively, remove
hero_aside_alt from the Cursor case study if the image is intentionally
decorative.
🪄 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: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 1efc04b4-f815-4454-99ff-d7b9bbd43de8
⛔ Files ignored due to path filters (5)
static/img/case-studies/cursor/cursor-lockup-white.svgis excluded by!**/*.svgstatic/img/case-studies/cursor/dependency-graph.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/deployment-frequency-stat.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/plan-time-column-compare.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/tf-workspaces.pngis excluded by!**/*.png
📒 Files selected for processing (10)
assets/css/case-studies.scsscontent/case-studies/cursor.mddocs/case-studies.mdlayouts/shortcodes/csi-compare.htmllayouts/shortcodes/csi-figure.htmllayouts/shortcodes/csi-phase.htmllayouts/shortcodes/csi-phases.htmllayouts/shortcodes/csi-scale.htmllayouts/shortcodes/cursor-phase.htmlstatic/img/case-studies/cursor/cursor-team-photo.webp
🚧 Files skipped from review as they are similar to previous changes (1)
- layouts/shortcodes/csi-compare.html
5a6b5f2 to
d3bb046
Compare
d3bb046 to
d738451
Compare
d738451 to
eebf9d0
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
layouts/shortcodes/csi-carousel.html (1)
70-71: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winConsider
Page.Storeinstead ofPage.Scratch.
Page.Scratchhas been soft-deprecated since Hugo v0.138.0 in favor ofPage.Store(currently just aliased, but flagged for eventual removal).♻️ Proposed rename
-{{- if not (.Page.Scratch.Get "csiCarouselJS") -}} - {{- .Page.Scratch.Set "csiCarouselJS" true -}} +{{- if not (.Page.Store.Get "csiCarouselJS") -}} + {{- .Page.Store.Set "csiCarouselJS" true -}}Please confirm this matches the Hugo version pinned for this project before applying (soft deprecation, no forced timeline).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@layouts/shortcodes/csi-carousel.html` around lines 70 - 71, Confirm the project’s pinned Hugo version supports Page.Store, then update the csiCarouselJS state check and assignment in the carousel template from Page.Scratch to Page.Store, preserving the existing key and boolean behavior.
🤖 Prompt for all review comments with AI agents
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 `@content/case-studies/cursor.md`:
- Line 2: Update the case study headline and its corresponding hero_title from
“2x More Deployments” to “2.6x More Deployments” so they match the stat_bar,
results table, and narrative metrics.
In `@layouts/shortcodes/csi-carousel.html`:
- Line 84: Refresh the carousel’s `base` value whenever the resize handler runs,
before invoking `sync()`, so it reflects the updated `slides[0].offsetLeft`
after breakpoint-driven padding changes. Apply the same update to the related
`base` references used by `current()` and `goTo()` while preserving their
existing behavior.
---
Nitpick comments:
In `@layouts/shortcodes/csi-carousel.html`:
- Around line 70-71: Confirm the project’s pinned Hugo version supports
Page.Store, then update the csiCarouselJS state check and assignment in the
carousel template from Page.Scratch to Page.Store, preserving the existing key
and boolean behavior.
🪄 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: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 438f4309-f8ba-4147-afaf-aa5cdb8dc1fa
⛔ Files ignored due to path filters (6)
static/img/case-studies/cursor/cursor-lockup-white.svgis excluded by!**/*.svgstatic/img/case-studies/cursor/cursor-masterpoint.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/dependency-graph.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/deployment-frequency-stat.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/plan-time-column-compare.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/tf-workspaces.pngis excluded by!**/*.png
📒 Files selected for processing (7)
assets/css/case-studies.scsscontent/case-studies/cursor.mddocs/case-studies.mdlayouts/shortcodes/csi-carousel.htmllayouts/shortcodes/csi-compare.htmllayouts/shortcodes/csi-phase.htmlstatic/img/case-studies/cursor/cursor-team-photo.webp
🚧 Files skipped from review as they are similar to previous changes (1)
- layouts/shortcodes/csi-compare.html
eebf9d0 to
9c057d5
Compare
9c057d5 to
d4ae827
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
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 `@assets/css/case-studies.scss`:
- Around line 2616-2620: Update the .csi-compare__after .csi-compare__tag rule
to add -webkit-text-fill-color using $csi-link, alongside the existing color
declaration, so the mobile After label overrides the transparent fill inherited
from .csi-compare__after.
🪄 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: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: ff902c5d-fe68-4b0b-a02e-151c1aaffdc4
⛔ Files ignored due to path filters (6)
static/img/case-studies/cursor/cursor-lockup-white.svgis excluded by!**/*.svgstatic/img/case-studies/cursor/cursor-masterpoint.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/dependency-graph.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/deployment-frequency-stat.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/plan-time-column-compare.pngis excluded by!**/*.pngstatic/img/case-studies/cursor/tf-workspaces.pngis excluded by!**/*.png
📒 Files selected for processing (7)
assets/css/case-studies.scsscontent/case-studies/cursor.mddocs/case-studies.mdlayouts/shortcodes/csi-carousel.htmllayouts/shortcodes/csi-compare.htmllayouts/shortcodes/csi-phase.htmlstatic/img/case-studies/cursor/cursor-team-photo.webp
🚧 Files skipped from review as they are similar to previous changes (1)
- layouts/shortcodes/csi-compare.html
d4ae827 to
bb1cbda
Compare
b355d76 to
561f64b
Compare
38903d9 to
cdcd7f9
Compare
cdcd7f9 to
7f14964
Compare
7f14964 to
3fe012a
Compare
3fe012a to
9d56dad
Compare
9d56dad to
e5af238
Compare
cc654e3 to
2897426
Compare
749c8b1 to
36ff8a1
Compare
Publish the Cursor + Masterpoint case study on the immersive layout (preview snapshot).
36ff8a1 to
3be81ac
Compare


** Cursor x Masterpoint ** Case Study Success Story
https://deploy-preview-155--masterpoint.netlify.app/case-studies/cursor/
