(v1) Terminal-forward homepage redesign with nautical motif#1161
(v1) Terminal-forward homepage redesign with nautical motif#1161yamcodes wants to merge 6 commits into
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Caution
This PR drops homepage <title> and <meta description> metadata and removes the theme toggle from all docs pages.
Reviewed changes — complete homepage redesign with terminal-forward CLI aesthetic, nautical/marine OKLCH design tokens, and a three-tab interactive workbench simulator.
- New
design.mddesign system — locked OKLCH palette, typography, spacing, motion, and microinteraction rules for the app. - Homepage rewrite — terminal header with
--docs/--githubnav flags, sonar/radar background animation, CTA copy-command chip, interactive workbench simulator with init/schema/validation tabs, and a dense monospace footer colophon. - Design token migration —
dark.cssandlight.cssmigrated to OKLCH colors with marine-cyan accent;AnnouncementBadgeandLogocomponents switched from hardcoded blue toprimaryCSS variables. - Theme toggle relocation — removed from global header in both
(home)/layout.tsxanddocs/layout.tsx, moved to homepage footer.
🚨 Homepage loses <title> and <meta description> metadata
The page was converted from a server component (which exported metadata: Metadata) to a client component ("use client"), removing the title ("ArkEnv") and description ("Environment variable validation from editor to runtime"). The root layout.tsx does not define a title or description override, so the homepage will have no meaningful <title> or <meta description> tags.
Technical details
# Homepage loses `<title>` and `<meta description>` metadata
## Affected sites
- `apps/www/app/(home)/page.tsx` line 81 — `"use client"` directive prevents `metadata` export
- `apps/www/app/(home)/page.tsx` lines 74–76 — removed `export const metadata: Metadata = { title: "ArkEnv", description: "..." }`
## Required outcome
- The homepage must render with a `<title>` and `<meta name="description">` tag.
- Either restore the page as a server component with `metadata` export, or use `generateMetadata` in a separate `layout.tsx` or co-located file.
## Suggested approach
- Move the client-interactive components (workbench simulator, copy button, etc.) into a child client component, keeping the page as a server component with `metadata` export intact.
- Alternatively, add a `title` and `description` to the root `layout.tsx` metadata object as a fallback.⚠️ Docs pages have no way to toggle themes
The ThemeToggle was removed from both the desktop header (actions array) and mobile menu (menuActions array) in apps/www/app/docs/layout.tsx. Unlike the homepage (which relocated the toggle to its footer), the docs layout has no fallback toggle, leaving docs pages without any theme-switching UI.
Technical details
# Docs pages have no way to toggle themes
## Affected sites
- `apps/www/app/docs/layout.tsx` lines 557–581 — `ThemeToggle` removed from `actions` (desktop header) and `menuActions` (mobile menu)
## Required outcome
- Docs pages must have a visible theme toggle, either in the header or sidebar.
- If the intent is to keep the global header toggle-free, add `ThemeToggle` to the docs sidebar or a similar persistent UI element.
## Suggested approach
- Restore `ThemeToggle` to the `actions` array in the docs layout header, or
- Add it as a sidebar footer element via Fumadocs' `sidebarFooter` configuration.ℹ️ Nitpicks
useCopyCommandinapps/www/hooks/use-copy-command.tsshows a toast on copy, butdesign.mdspecifies "silent success" for clipboard operations — the hook could be updated to match the design system's microinteraction stance.StarUsButton,QuickstartButton,CLICommand,HeroGradientOverlay, andHeroVisualare no longer imported anywhere in the app; their source files and tests can be cleaned up in a follow-up.
DeepSeek Pro (free via Pullfrog for OSS) | 𝕏
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — the second commit addresses both critical issues flagged in the prior review: restoring homepage metadata and re-adding a theme toggle to docs pages. Client code is cleanly extracted into a new file.
- Extracted
HomePageClientcomponent — moved the full workbench-simulator homepage intoapps/www/app/(home)/home-page-client.tsx, keepingpage.tsxas a server component that re-exportsmetadata: Metadata. - Restored
ThemeToggleto docs sidebar — added as a sidebarfooterelement inapps/www/app/docs/layout.tsx, with Fumadocs' built-inthemeSwitchdisabled to avoid a duplicate toggle. - Cleaned up unused import — removed the dangling
ThemeToggleimport fromapps/www/app/(home)/layout.tsx.
DeepSeek Pro (free via Pullfrog for OSS) | 𝕏
Co-authored-by: Cursor <cursoragent@cursor.com>
c5f9f86 to
83f4b90
Compare
Update homepage selectors for the new docs/GitHub CTAs and darken light primary (plus status colors) so WCAG AA contrast checks pass. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — incremental delta since the prior review: restored Playwright coverage for the redesigned homepage, added Hallmark design-trace artifacts, and fixed light-mode contrast for the OKLCH palette.
- Restored Playwright homepage coverage — updated
apps/playwright-www/tests/homepage.test.tsto match the new terminal-forward nav (--docslink and exact-name GitHub link selectors). - Added Hallmark design-trace files —
.hallmark/log.jsonand.hallmark/preflight.jsoncapture the Workbench macrostructure, theme axes, and preflight findings. - Fixed light-mode contrast — darkened
light.css--primary/--ringtooklch(42% ...)for WCAG AA, and adjusted success/error text inhome-page-client.tsxto readabletext-green-700/text-red-700in light mode.
Kimi K2 (free via Pullfrog for OSS) | 𝕏

Description
This PR implements a complete redesign of the website homepage using a terminal-forward, CLI-first utility style with a subtle nautical/sailing motif, aligning with Arkenv's brand.
Visual & Architectural Changes
design.mdutilizing OKLCH colors—anchored on a deep marine navy backdrop (oklch(13% 0.014 225)) and electric cyan accent (oklch(78% 0.16 210)).> arkenv --init) with navigation flags.npx arkenv init.env.tsusing ArkType.Verification
pnpm check.