Skip to content

feat(site): split the showcase website out of the app - #244

Merged
ackness merged 2 commits into
mainfrom
claude/project-thread-wkennd
Oct 11, 2026
Merged

ackness merged 2 commits into
mainfrom
claude/project-thread-wkennd

Conversation

@ackness

@ackness ackness commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Requested by yy · project thread

Summary / 摘要

Before: / in the web app was a marketing page (scroll-driven pipeline story, plugin bento, demo video). It shipped inside the desktop package with ~2 MB of media, and the Covel logo in the app led back to it, so desktop players landed on a page written for visitors, in a style that did not match the app's panels. Its copy read as framework documentation.

After: the app opens on the world list at / (a redirect to /session), and the logo leads there too. The world list already is the app's start screen: continue a session, create a world with AI, set up models. The showcase is a separate static site in apps/site (@covel/site, no workspace dependencies, never built into Web or desktop) with new sections (hero with demo video, getting started, the four bundled worlds, what Covel does that a chatbot doesn't, plugins with a PLUGIN.md example, closing download), a light and a dark theme, and rewritten English and Chinese copy in apps/site/src/copy.ts (the Chinese table is typed against the English one).

How: the landing components, their tests, use-active-step, the home.* / nav.getStarted catalog keys and the landing-only images are removed from apps/web; the demo media and build-media script (with its test) move to apps/site. The header's landing-only language select and "Get Started" button go with the page. TanStack Router devtools were only rendered off the session/debug routes, i.e. only on the old page, so the devtools, their dev dependency and VITE_ROUTER_DEVTOOLS are removed. E2E specs that started on / now start on /session and find the nav / theme toggle in either the top bar or the nav rail; the language-switch specs use the phone menu, where the select still is.

Type of change / 变更类型

  • New feature / 新功能 (feat)
  • Refactor / 重构 (refactor)
  • Tests / 测试 (test)
  • Documentation / 文档 (docs)

Verification / 验证方式

  • pnpm check (Node 26.11.1)
  • Tests of the changed packages: pnpm --filter @covel/site test, pnpm --filter @covel/web test
  • pnpm test (all 44 Turbo test tasks passed)
  • pnpm e2e: full-flow.spec.ts, i18n.spec.ts, onboarding.spec.ts (16 passed) against the preinstalled Chromium
  • Manual check / 手动验证: Chromium screenshots of the site (zh dark, en light, 390px phone) and of the app's /, which lands on the world list; pnpm --filter @covel/site build produces apps/site/dist/

Not verified / 未验证: the rest of the Playwright suite (CI runs it); the desktop package was not built; the site has no deployment target yet (any static host can serve apps/site/dist/); Windows is not verified.

Related issue / context / 关联

Project thread request: the home page looked dated, the copy was weak, and the marketing page did not belong inside the packaged app.

Docs sync / 文档同步

  • docs/reference/: n/a (no contract change)
  • Guides: docs/CONTRIBUTING.md + docs/CONTRIBUTING.en.md (demo media now under apps/site), docs/guide/commands.md, docs/architecture/packages.md, docs/guide/env-registry.md (removed VITE_ROUTER_DEVTOOLS), .env.example, new apps/site/README.md
  • Changelog fragment docs/changelog.d/showcase-site.md
  • AGENTS.md Monorepo Structure lists apps/site

🤖 Generated with Claude Code

https://claude.ai/code/session_015KrxfUjX95MqfRqtcWDnnU


Generated by Claude Code

The web app and desktop shell now open on the world list at `/`, and the
logo leads there. The old showcase page, its video and images leave the
app bundle. The showcase moves to `apps/site`, a static site with new
sections, a light and a dark theme, and rewritten English and Chinese
copy. The demo media script moves with it. The router devtools, which
only showed on the old page, and `VITE_ROUTER_DEVTOOLS` are removed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KrxfUjX95MqfRqtcWDnnU
@ackness ackness self-assigned this Oct 11, 2026
The site asks the GitHub API for the latest release and links the macOS
dmg or the Windows installer, with the Windows portable build beside it.
Anything else, or a failed request, keeps the release page link.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KrxfUjX95MqfRqtcWDnnU
@ackness
ackness merged commit 37f9045 into main Oct 11, 2026
6 checks passed
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.

2 participants