feat(landing): use-case-specific /for/ pages with collapsible code tabs#1134
Conversation
- Replace alternating two-column section grid on /for/<useCase> pages with a single "What ships" section showing 4-5 collapsed tab cards (lobu.config.ts / Connectors / Memory / Watchers / Skills). Clicking a card reveals a full-width code panel below. First tab preselected. - Per-use-case snippet generation: gen-landing-snippets.ts now emits agentConfig/reaction/skill snippets per example dir; sections with no source file (e.g. legal has no reaction or skill) hide cleanly instead of falling back to sales. - Architecture diagram entity rows + Connectors column derived from landingUseCases[slug].memory.highlights / .howItWorks.connect.chips, so /for/legal shows "Redwood NDA / contract" and "File upload / Drive / Research" instead of generic "Customer A / company". - Hero: replace "View on GitHub" secondary CTA with "Talk to the founder" reusing the existing cal.com modal. - Homepage Browse Examples: curated 6 cards routing to /for/<slug> plus a single "Browse all on GitHub" link. - CodeBlock gains maxHeight prop to bound long snippets. - Pull shared GitHub URLs into packages/landing/src/lib/urls.ts.
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Warning Review limit reached
More reviews will be available in 15 minutes and 23 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR modernizes the landing page to be driven by use-case configurations and skills. It centralizes GitHub URLs, extends the snippet generator to capture agent configurations and optional reaction/skill modules, refactors the architecture diagram to be data-driven, and redesigns the landing page with featured use-case examples, per-use-case architecture visualization, and a new "Talk to the founder" call-to-action. ChangesLanding Page Use-Case-Driven Modernization
Sequence Diagram(s)sequenceDiagram
participant ArchitectureDiagram
participant getArchitectureEntityRows
participant getArchitectureConnectorChips
participant DiagramBoard
participant DesktopBoard
participant EntitiesTable
ArchitectureDiagram->>getArchitectureEntityRows: fetch(slug)
getArchitectureEntityRows-->>ArchitectureDiagram: rows | null
ArchitectureDiagram->>getArchitectureConnectorChips: fetch(slug)
getArchitectureConnectorChips-->>ArchitectureDiagram: connectorRows | null
ArchitectureDiagram->>DiagramBoard: pass rows and connectorRows
DiagramBoard->>DesktopBoard: wire props
DesktopBoard->>EntitiesTable: pass rows
EntitiesTable-->>DesktopBoard: render entity rows
sequenceDiagram
participant LandingPage
participant snippets
participant getArchitectureEntityRows
participant UseCaseShowcaseSection
participant ArchitectureDiagram
LandingPage->>snippets: load use case data
snippets-->>LandingPage: useCases with agentConfig/reaction/skill
LandingPage->>getArchitectureEntityRows: fetch for active slug
getArchitectureEntityRows-->>LandingPage: entity rows
LandingPage->>ArchitectureDiagram: pass slug
ArchitectureDiagram-->>LandingPage: rendered diagram
LandingPage->>UseCaseShowcaseSection: pass config/connector/memory/skill snippets
UseCaseShowcaseSection-->>LandingPage: tabbed showcase view
LandingPage-->>User: use-case focused layout with featured examples
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsGit: Failed to clone repository. Please run the 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 |
|
bug_free 88, simplicity 82, slop 12, bugs 0, 0 blockers Script-run typecheck, unit, and integration suites passed. Also ran cd packages/landing && bun run build -> OK, 90 pages built; only a non-fatal existing CSS @import-order warning appeared. Did not run browser interaction tests. Suggested fixes
Full verdict JSON{
"bug_free_confidence": 88,
"bugs": 0,
"slop": 12,
"simplicity": 82,
"blockers": [],
"change_type": "feat",
"behavior_change_risk": "medium",
"tests_adequate": true,
"suggested_fixes": [
{
"file": "packages/landing/src/components/LandingPage.tsx",
"line": 560,
"change": "Delete the now-unused ProductGrid helper."
},
{
"file": "packages/landing/src/components/LandingPage.tsx",
"line": 588,
"change": "Delete the now-unused FeatureList helper."
}
],
"notes": "Script-run typecheck, unit, and integration suites passed. Also ran cd packages/landing && bun run build -> OK, 90 pages built; only a non-fatal existing CSS @import-order warning appeared. Did not run browser interaction tests.",
"categories": {
"src": 882,
"tests": 0,
"docs": 0,
"config": 0,
"deps": 0,
"migrations": 0,
"ci": 0,
"generated": 103
}
}Local review gate — branch protection can require the |
Summary
/for/<useCase>pages with a single What ships section: 4–5 compact tab cards (lobu.config.ts / Connectors / Memory / Watchers / Skills). First tab preselected; clicking another opens its code panel below at full width; clicking the active one collapses.examples/<slug>/dir now contributes its ownagentConfig/reaction/skill(where present). Sections without a source file hide cleanly instead of falling back to the sales example.landingUseCases[slug].memory.highlightsand.howItWorks.connect.chips, so/for/legalshows "Redwood NDA / contract" + "File upload / Drive / Research" instead of generic "Customer A / company"./for/<slug>+ one "Browse all on GitHub" link.CodeBlockgains amaxHeightprop. Shared GitHub URLs pulled intopackages/landing/src/lib/urls.ts.Test plan
bunx tsc --noEmitclean of new errors (pre-existing astro:content errors unchanged)/for/legal: architecture diagram shows legal-specific entities and connectors; tabs default to lobu.config.ts open; clicking Connectors swaps in the DocuSign connector code with the chip wall below/for/sales(the one with all 5 tabs incl. Skills)/for/finance//for/marketfor entity-row fitNeed help on this PR? Tag
@codesmithwith what you need. Autofix is disabled.Summary by CodeRabbit
New Features
Refactor