Skip to content

fix: update hero terminal to show CLI install command#5

Open
sidneyswift wants to merge 1 commit intomainfrom
fix/hero-cli-install
Open

fix: update hero terminal to show CLI install command#5
sidneyswift wants to merge 1 commit intomainfrom
fix/hero-cli-install

Conversation

@sidneyswift
Copy link
Copy Markdown
Contributor

@sidneyswift sidneyswift commented Apr 6, 2026

Summary

Updates the hero terminal code block on the marketing homepage.

Before: Outdated curl example with wrong auth header format
After: npm install -g @recoupable/cli + real research commands

# Install the CLI
npm install -g @recoupable/cli

# Research an artist
recoup research "Gatsby Grace"
recoup research metrics "Gatsby Grace" --source spotify
recoup research similar "Gatsby Grace" --json

Made with Cursor


Summary by cubic

Update the marketing homepage hero terminal to show the CLI install and real research commands. Replaces the outdated curl example and fixes incorrect auth guidance.

  • Bug Fixes
    • Hero code block now shows npm install -g @recoupable/cli and sample recoup research commands.
    • Removed incorrect curl auth header example to prevent onboarding errors.

Written for commit 2479872. Summary will update on new commits.

Summary by CodeRabbit

  • New Features
    • Added a comprehensive landing page featuring a hero section, capabilities showcase, social proof statistics, step-by-step guide, customer testimonials, and call-to-action elements to highlight product value and encourage user engagement.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 6, 2026

📝 Walkthrough

Walkthrough

A new Next.js page component HomePage was added to app/page.tsx that renders a marketing landing page. The component defines static data arrays for capabilities and code lines, then uses them to populate multiple sections including hero, terminal display, capabilities grid, social proof, process steps, features, testimonials, and call-to-action areas with no complex runtime logic beyond array mapping and conditional rendering.

Changes

Cohort / File(s) Summary
New Landing Page Component
app/page.tsx
Added 238-line HomePage component containing a marketing page with hero section, capabilities grid, terminal code block, how-it-works steps, feature sections, testimonials, and CTA elements using static data and Next.js components (next/image, next/link).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 Hop along to the landing page so bright,
Where capabilities dance in the light,
Code samples gleam in their terminal frame,
And testimonials sing of our name—
A marketing masterpiece, built just right!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'fix: update hero terminal to show CLI install command' is highly specific and directly related to the main change in the PR, which updates the hero terminal code block with npm CLI install and research commands.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/hero-cli-install

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.

❤️ Share

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

Copy link
Copy Markdown

@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

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@app/page.tsx`:
- Around line 5-20: The CAPABILITIES and CODE_LINES arrays in app/page.tsx are
hardcoded page/brand copy; extract these into the canonical locations by moving
capability entries into lib/copy/ (e.g., export a capabilities array or JSON)
and CLI/example lines into lib/config.ts or lib/copy/ as appropriate, then
import those exports into app/page.tsx and replace the inline constants
(CAPABILITIES, CODE_LINES) with the imported references; ensure
filenames/exports are named clearly (e.g., capabilities, exampleCliLines) and
update any component usage in app/page.tsx to use the new imports.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5839d93a-9b6a-42d0-9e03-8330dc533e97

📥 Commits

Reviewing files that changed from the base of the PR and between 20bb12a and 2479872.

📒 Files selected for processing (1)
  • app/page.tsx

Comment on lines +5 to +20
const CAPABILITIES = [
{ name: "Research", desc: "Artist profiles, audience data, competitor analysis, chart tracking" },
{ name: "Content", desc: "Videos, images, captions, social posts — from artist context, not templates" },
{ name: "Catalog", desc: "Ingest, normalize, and manage music catalogs at scale" },
{ name: "Distribution", desc: "Post to socials, pitch to playlists, schedule releases" },
];

const CODE_LINES = [
{ dim: true, text: "# Install the CLI" },
{ dim: false, text: "npm install -g @recoupable/cli" },
{ dim: true, text: "" },
{ dim: true, text: "# Research an artist" },
{ dim: false, text: "recoup research \"Gatsby Grace\"" },
{ dim: false, text: "recoup research metrics \"Gatsby Grace\" --source spotify" },
{ dim: false, text: "recoup research similar \"Gatsby Grace\" --json" },
];
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Move hardcoded page copy and brand text out of app/page.tsx.

This file hardcodes marketing copy and brand strings in the component (for example, Line 53 and Line 179), which breaks the repo rule for copy/config ownership.

Proposed refactor direction
 import Link from "next/link";
 import Image from "next/image";
 import { siteConfig } from "@/lib/config";
+import { homePageCopy } from "@/lib/copy/home";

-const CAPABILITIES = [
-  { name: "Research", desc: "Artist profiles, audience data, competitor analysis, chart tracking" },
-  ...
-];
-
-const CODE_LINES = [
-  { dim: true, text: "# Install the CLI" },
-  ...
-];
+const { capabilities: CAPABILITIES, codeLines: CODE_LINES } = homePageCopy;

 ...
-<p className="text-lg sm:text-xl ...">
-  Research. Content. Catalog. Distribution. 40+ endpoints, MCP-native, CLI-ready.
-  ...
-</p>
+<p className="text-lg sm:text-xl ...">{homePageCopy.hero.subtext}</p>

 ...
-<h2 className="font-display text-section text-center mb-4">Why teams build on Recoupable</h2>
+<h2 className="font-display text-section text-center mb-4">
+  {homePageCopy.sections.whyTeamsBuildOn.replace("{brand}", siteConfig.name)}
+</h2>

As per coding guidelines: "Edit brand values and page copy only in lib/config.ts and lib/copy/ respectively—never hardcode brand values in components".

Also applies to: 22-236

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@app/page.tsx` around lines 5 - 20, The CAPABILITIES and CODE_LINES arrays in
app/page.tsx are hardcoded page/brand copy; extract these into the canonical
locations by moving capability entries into lib/copy/ (e.g., export a
capabilities array or JSON) and CLI/example lines into lib/config.ts or
lib/copy/ as appropriate, then import those exports into app/page.tsx and
replace the inline constants (CAPABILITIES, CODE_LINES) with the imported
references; ensure filenames/exports are named clearly (e.g., capabilities,
exampleCliLines) and update any component usage in app/page.tsx to use the new
imports.

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 1 file

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="app/page.tsx">

<violation number="1" location="app/page.tsx:22">
P1: Custom agent: **Enforce Clear Code Style and Maintainability Practices**

Rule 1 violation: this file exceeds the 100-line limit (238 lines) and packs multiple page sections into one component, reducing maintainability. Split `HomePage` into smaller section components and keep this file as a composition layer.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review, or fix all with cubic.

{ dim: false, text: "recoup research similar \"Gatsby Grace\" --json" },
];

export default function HomePage() {
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot Apr 6, 2026

Choose a reason for hiding this comment

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

P1: Custom agent: Enforce Clear Code Style and Maintainability Practices

Rule 1 violation: this file exceeds the 100-line limit (238 lines) and packs multiple page sections into one component, reducing maintainability. Split HomePage into smaller section components and keep this file as a composition layer.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At app/page.tsx, line 22:

<comment>Rule 1 violation: this file exceeds the 100-line limit (238 lines) and packs multiple page sections into one component, reducing maintainability. Split `HomePage` into smaller section components and keep this file as a composition layer.</comment>

<file context>
@@ -0,0 +1,238 @@
+  { dim: false, text: "recoup research similar \"Gatsby Grace\" --json" },
+];
+
+export default function HomePage() {
+  return (
+    <>
</file context>
Fix with Cubic

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.

1 participant