feat(site): migrate docs site to VitePress and redesign landing page#2701
Conversation
PR Summary by QodoDocs: migrate site from Svelte SPA to Docusaurus Description
Diagram
High-Level Assessment
Files changed (23)
|
Site previewPreview: https://7cb7e980-site.fullsend-ai.workers.dev Commit: |
c1b84e5 to
5f80b57
Compare
Code Review by Qodo
1. ESLint imports deleted docs
|
|
🤖 Review · ❌ Terminated · Started 7:56 PM UTC · Ended 7:57 PM UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
🤖 Finished Review · ❌ Failure · Started 7:56 PM UTC · Completed 7:57 PM UTC |
5f80b57 to
6d66d6b
Compare
|
🤖 Finished Review · ❌ Failure · Started 8:08 PM UTC · Completed 8:09 PM UTC |
|
🤖 Review · |
8b7260b to
c1aca03
Compare
|
🤖 Finished Review · ❌ Failure · Started 10:08 PM UTC · Completed 10:09 PM UTC |
|
🤖 Finished Review · ❌ Failure · Started 10:15 PM UTC · Completed 10:16 PM UTC |
228784b to
c8b5b6b
Compare
|
🤖 Finished Review · ❌ Failure · Started 10:30 PM UTC · Completed 10:31 PM UTC |
|
🤖 Finished Review · ❌ Failure · Started 10:40 PM UTC · Completed 10:41 PM UTC |
|
🤖 Finished Review · ✅ Success · Started 1:52 PM UTC · Completed 2:13 PM UTC |
Strip path traversal sequences and validate same-origin before redirecting legacy hash URLs. Anchor the Docs nav activeMatch regex to prevent both nav items highlighting on CLI pages. Assisted-by: Claude Signed-off-by: Wayne Sun <gsun@redhat.com>
|
🤖 Finished Review · ✅ Success · Started 2:32 PM UTC · Completed 2:47 PM UTC |
Darken light-theme accent from #65a30d to #4d7c0f for WCAG AA contrast compliance (4.68:1 vs 2.95:1). Add prefers-reduced-motion support to disable animations for users with vestibular sensitivity. Fix escapeLine multi-backtick inline code handling to correctly match CommonMark run lengths. Add responsive hamburger nav menu for mobile viewports. Remove inert Docusaurus slug frontmatter. Assisted-by: Claude Signed-off-by: Wayne Sun <gsun@redhat.com>
|
🤖 Finished Review · ✅ Success · Started 3:48 PM UTC · Completed 4:02 PM UTC |
| | Flag | Default | Description | | ||
| |------|---------|-------------| | ||
| | `--project` | | GCP project ID | | ||
| | `--region` | `global` | GCP region | |
There was a problem hiding this comment.
[medium] stale-doc
Documents a --region flag with default 'global' for 'inference provision', but the Go CLI code (internal/cli/inference.go) does not define this flag. The available flags are --project, --pool, --provider, and --dry-run. Users following these docs would get an 'unknown flag' error.
Suggested fix: Remove the --region row from the inference provision flags table, or add the flag to the Go CLI if it is intended to be configurable.
| ```bash | ||
| fullsend mint add-role <role> \ | ||
| --project "<GCP_PROJECT>" \ | ||
| --region "us-central1" \ |
There was a problem hiding this comment.
[medium] stale-doc
Documents 'mint add-role' with a --app-id flag, but the Go CLI code (internal/cli/mint_setup.go) defines --slug instead. The CLI looks up the app ID from the slug via the GitHub API. The documented example '--app-id ""' would produce an 'unknown flag' error.
Suggested fix: Replace --app-id with --slug in the example command and flags table. Note that the CLI discovers the app ID from the slug automatically.
Light-mode "Get Started" buttons had dark text (#0c1220) on the darkened accent background (#4d7c0f), producing poor contrast. Add --accent-contrast CSS variable (#fff light, #0c1220 dark) and apply it to .nav-cta and .btn-primary. Assisted-by: Claude Signed-off-by: Wayne Sun <gsun@redhat.com>
|
🤖 Finished Review · ✅ Success · Started 4:06 PM UTC · Completed 4:23 PM UTC |
Review findings addressed in latest commits — accessibility fixes, escapeLine multi-backtick handling, mobile nav, reduced-motion support.
|
🤖 Retro · ❌ Terminated · Started 4:19 PM UTC · Ended 4:29 PM UTC |
|
Review skipped — this PR is already merged. The Posted by fullsend post-review check |
|
🤖 Finished Retro · ❌ Failure · Started 4:19 PM UTC · Completed 4:29 PM UTC |
Why
The existing docs site is a custom Svelte 5 SPA (
web/docs/) that looks polished but lacks baseline documentation features users expect:Each of these would need to be built from scratch and maintained in a bespoke doc framework. VitePress provides all of them out of the box, with an active community maintaining accessibility, i18n, and edge-case handling.
The docs are also reorganized with a user-focused reading sequence: Getting Started → Agents → User Guides → Concepts → Reference → Infrastructure → Contributing.
Static HTML output means docs load instantly (no JS bundle to parse), are indexable by search engines, and can be read directly by tools and agents.
Summary
web/docs/) with VitePress static site generator (website/)web/public/index.html) with fullsend brand identity, interactive timeline, agent showcase, and full light/dark theme supportfullsend github,fullsend inference, andfullsend mintcommands<img>HTML tags to markdown image syntaxweb/docs/references ineslint.config.jsthat crash ESLint after the SPA deletion/docs/#/vision→/docs/vision)Details
Landing page (
web/public/index.html)VitePress setup (
website/){},{{}}, and non-HTML tags in code blocks)Lint tooling
web/docs/imports and globs fromeslint.config.js(ESLint crashed on deletedsvelte.config.js)web/admin/only (VitePress upstream uses Prettier, not ESLint)website/.vitepress/filesCLI Reference
docs/cli/README.md— overview with command groups and global flagsdocs/cli/github.md—fullsend githubsubcommands (setup, enroll, unenroll, set, status, sync-scaffold, uninstall)docs/cli/inference.md—fullsend inferencesubcommands (provision, deprovision, status)docs/cli/mint.md—fullsend mintsubcommands (deploy, add-role, remove-role, enroll, unenroll, status, token)Agent icon fix
<img src="icons/X.png">toin 5 agent pagesTest plan
/with theme toggle, timeline animation, and all sectionscd website && npm run build)/docs/#/vision,/docs/#/agents/triage::heading) redirect correctlynpm run lint)