docs: brand and theme refresh#168
Conversation
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, 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 have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (20)
📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe documentation site configuration is updated to use the "sequoia" theme with a revised color palette, new typography settings with custom font loading, and explicit light/dark mode styling. Additionally, a SIL Open Font License is added for the Instrument Serif font asset. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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.
🧹 Nitpick comments (1)
docs.json (1)
3-9: Brand palette aligns with the achromatic design system — LGTM.
theme: sequoiaplus primary#0a0a0a/ light#ededed/ dark#0a0a0amatches the documented Recoup brand direction. Note: the repo coding guidelines still mention#345A5Dfrom Recoup-Chat's tailwind config; consider updatingAGENTS.md/coding guidelines in a follow-up so the guideline reflects the current achromatic palette and stops contradictingdocs.json.Based on learnings: "The primary brand color is
#0a0a0a(achromatic design system), NOT#345A5D. … The theme is 'sequoia'."🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs.json` around lines 3 - 9, Update the repository documentation to reflect the new achromatic brand palette declared in docs.json (theme: "sequoia", colors.primary: "#0a0a0a", colors.light: "#ededed", colors.dark: "#0a0a0a") by removing or replacing references to the old Recoup-Chat color "#345A5D" in the coding guidelines; specifically edit AGENTS.md and any coding-guidelines or style-guide docs to state the primary brand color is `#0a0a0a` and the theme is "sequoia" so the docs no longer contradict docs.json.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@docs.json`:
- Around line 3-9: Update the repository documentation to reflect the new
achromatic brand palette declared in docs.json (theme: "sequoia",
colors.primary: "#0a0a0a", colors.light: "#ededed", colors.dark: "#0a0a0a") by
removing or replacing references to the old Recoup-Chat color "#345A5D" in the
coding guidelines; specifically edit AGENTS.md and any coding-guidelines or
style-guide docs to state the primary brand color is `#0a0a0a` and the theme is
"sequoia" so the docs no longer contradict docs.json.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 4cc50152-0543-4bb8-b036-1635550ebe20
⛔ Files ignored due to path filters (19)
fonts/Geist/Geist-Variable.woff2is excluded by!**/*.woff2fonts/Geist/Geist-VariableItalic.woff2is excluded by!**/*.woff2fonts/GeistMono/GeistMono-Variable.woff2is excluded by!**/*.woff2fonts/GeistMono/GeistMono-VariableItalic.woff2is excluded by!**/*.woff2fonts/GeistPixel/GeistPixel-Circle.woff2is excluded by!**/*.woff2fonts/GeistPixel/GeistPixel-Grid.woff2is excluded by!**/*.woff2fonts/GeistPixel/GeistPixel-Line.woff2is excluded by!**/*.woff2fonts/GeistPixel/GeistPixel-Square.woff2is excluded by!**/*.woff2fonts/GeistPixel/GeistPixel-Triangle.woff2is excluded by!**/*.woff2fonts/InstrumentSerif/InstrumentSerif-Italic.ttfis excluded by!**/*.ttffonts/InstrumentSerif/InstrumentSerif-Regular.ttfis excluded by!**/*.ttffonts/PlusJakartaSans/PlusJakartaSans-Variable.ttfis excluded by!**/*.ttffonts/PlusJakartaSans/PlusJakartaSans-VariableItalic.ttfis excluded by!**/*.ttflogo/dark.pngis excluded by!**/*.pnglogo/icon-darkmode.svgis excluded by!**/*.svglogo/icon-lightmode.svgis excluded by!**/*.svglogo/light.svgis excluded by!**/*.svglogo/wordmark-darkmode.svgis excluded by!**/*.svglogo/wordmark-lightmode.svgis excluded by!**/*.svg
📒 Files selected for processing (2)
docs.jsonfonts/InstrumentSerif/OFL.txt
Pure visual update — no content or navigation changes. - theme: mint → sequoia - colors: green palette → achromatic (primary #0a0a0a, light #ededed) - background: light #f3f3f3 / dark #171717 (matches Mintlify's gray-50 / gray-900 chrome so the page bg blends with the tab bar) - fonts: Geist (body), Geist Pixel Square (headings); also adds GeistMono, Instrument Serif, Plus Jakarta Sans for use in MDX - appearance: default system (respects OS dark/light pref) - styling: eyebrows as breadcrumbs, codeblocks dark by default - icons: lucide library - logo: replace dark.png + light.svg with wordmark-lightmode.svg / wordmark-darkmode.svg (full wordmark) plus icon-only variants Adds the woff2/ttf font files in fonts/ and the new SVG logos in logo/. Removes the old PNG/SVG logos. navigation, navbar, footer, and metatags are byte-identical to main — this PR intentionally does not change content surface or info architecture. Those land in subsequent stack PRs. Made-with: Cursor
c79b78a to
2ceca9c
Compare
The favicon was still pointing at the legacy default favicon.ico
(15KB, dated April 18) — never updated when the rest of the brand
was. This PR's docs.json kept the same `favicon: "/favicon.ico"`
reference as main.
Three fixes:
1. Replace the bloated logo/icon-lightmode.svg (457KB — was a
base64-embedded raster) with a clean 871-byte vector. The path
data comes from icon-darkmode.svg with the fill swapped from
white to #0a0a0a (the brand primary).
2. Switch docs.json to Mintlify's theme-aware favicon syntax so
light-mode browsers use the dark-colored icon and dark-mode
browsers use the white-on-transparent variant:
"favicon": {
"light": "/logo/icon-lightmode.svg",
"dark": "/logo/icon-darkmode.svg"
}
3. Delete the now-unused root favicon.ico. Mintlify auto-generates
/favicons/favicon-16x16.png, /favicon-32x32.png,
/apple-touch-icon.png, and /favicon.ico from whatever's in the
docs.json favicon config — keeping a stale .ico at the root just
creates confusion.
Verified by curl-ing the dev server's auto-generated favicon
endpoints — sizes changed (15406 → 33310 bytes for favicon.ico),
confirming the new SVG is the source.
Made-with: Cursor
Triaged all 22 line-level comments (cubic-dev-ai + coderabbit). 7 implemented, 10 rejected with reason, 5 already-resolved by earlier PR commits. Implemented: #4 (skills/music-industry-research.mdx) — corrected `/research/*` to `/api/research/*` so the path matches the rest of the docs. #5 / #8 (api-reference/openapi/content.json:619) — POST /api/content/create description said "Returns `{run_id}`" but the 202 response and schema return `runIds` (an array). Brought the description into sync with the response shape so generated clients and readers stop targeting the wrong field name. #6 (authentication.mdx) — Bearer-token guidance was scoped to Privy JWTs only, but MCP clients also pass an API key as a Bearer token (per /mcp). Broadened the guidance and the comparison table row to cover both cases. #7 (agents.mdx Authenticate section) — auth steps walked through the email-verification flow as if it applied universally, but the documented throwaway agent+...@recoupable.com path returns the API key immediately on signup with no code. Added an explicit note up front and inline in step 1 that the agent+ path skips steps 2 and 3. #9 (api-reference/openapi/content.json POST /api/content/video description) — the description listed `prompt` as a mode for "create a video from a text description", but the ContentCreateVideoRequest schema requires `image_url` and explicitly says "text-only prompt mode is not supported." Rewrote the description to lead with the image_url requirement and updated each mode's gloss to reflect what the model actually does (uses the image as first frame / style ref / etc.). #15 (quickstart.mdx) — `jq -r .api_key` silently returns "null" on error responses (invalid code, expired code, rate limit) and exports RECOUP_API_KEY=null, which fails confusingly downstream. Switched to `jq -er '.api_key'` so the pipeline exits non-zero when the field is missing or null. #21 (credits.mdx Check your tier section) — documented `GET /api/subscription/status` and an `isPro` field. Verified live: endpoint returns 404 on api.recoupable.com AND on chat.recoupable.com, and isPro doesn't appear in any OpenAPI spec. The handler exists in chat/app/api/subscription/status/route.ts but isn't reachable as documented. Replaced the curl block with guidance to check the chat dashboard, with a note that a programmatic status endpoint is on the roadmap. Rejected with reason (10 comments): - #1, #3 (mcp.mdx, agents.mdx > 100 lines): an arbitrary lint rule that doesn't apply to docs pages whose value is enumeration (tool catalogs, decision trees) - #10 (releases.json profileUrls schema): real engineering question about whether to encode constraints in the schema; not a docs-only fix - #11 (docs.json primary color #0a0a0a): intentional brand refresh per merged PR #168 - #13 (docs.json primary CTA /keys subpath): matches the "Get API Key" CTA copy, not a generic app entrypoint - #16-#20 (kebab-case skill titles): explicit user choice; titles match URL slugs and the npx-skills `--skill <name>` install command Already resolved by earlier PR commits (5 comments): - #2, #12 (Instagram nav entries): removed in 318a555 - #14 (MCP host vs REST host): resolved in 1634ba6 — both on api.recoupable.com now - #22 (credits.mdx host): resolved in 1634ba6 — bot's recommended direction would have been backwards
Summary
Pure visual refresh of the docs site — no content or navigation changes. This is the first of a 7-PR stack splitting the original combined design overhaul (#145) into focused, reviewable units.
Changes
mint→sequoiaprimary: #0a0a0a,light: #ededed)#f3f3f3/ dark#171717(matches Mintlify's gray-50 / gray-900 chrome so the page background blends with the tab bar)wordmark-lightmode.svg,wordmark-darkmode.svg) plus icon-only variants; removes the olddark.pngandlight.svgWhat this PR does NOT change
navigation,navbar,contextual,footer, andmetatagsare byte-identical tomain. Confirmed via:```bash
diff <(jq .navigation docs.json) <(git show origin/main:docs.json | jq .navigation)
(no output — identical)
```
Content reorganization, Skills tab, agent-onboarding overhaul, and CLI/MCP page rewrites all land in subsequent stack PRs.
Reviewability
fonts/andlogo/(binary assets)docs.json) — pure brand fieldsShould be reviewable by screenshot — either you like the new look or you don't.
Stack
This is PR 1 of 7. Replaces #145 (combined). Other PRs in the stack:
Each is independent and reviewable on its own.
Test plan
Made with Cursor
Summary by CodeRabbit
New Features
Style