Skip to content

rtk-ai/rtk-ldp

Repository files navigation

rtk-landing

Landing site for RTK — Rust Token Killer. Built with Astro 5 + Starlight.

Live: www.rtk-ai.app


Stack

Layer Tech
Framework Astro 5
Docs Starlight
Styles CSS custom properties (dark-only design system)
Deploy GitHub Pages via GitHub Actions
Fonts DM Sans + JetBrains Mono (Google Fonts)

Site structure

Pages

Route Description
/ Main landing page
/vox/ Vox product page — local-first TTS for Claude Code
/icm/ ICM product page — persistent memory for AI agents
/guide/ Starlight documentation (generated from rtk repo)
/rss.xml RSS feed (releases + updates)

Homepage sections (/)

Section Component Description
Hero Hero.astro Headline, stats (89%, 3x, 30+), terminal demo, GitHub stars badge
Problem Problem.astro 3 problem cards: context pollution, short sessions, cost explosion
Demo DemoSlideshow.astro 11 before/after slides (cargo test, git status, grep, find…)
Proof Proof.astro Real rtk gain screenshots with token savings data
Tool Comparison ToolComparison.astro How RTK extends Claude Code, Cursor, Gemini CLI session limits
Cloud Waitlist CloudWaitlist.astro Email capture for RTK Cloud beta
Install Install.astro 3 install methods (curl, Homebrew, Cargo) + rtk init --global
Share Gain ShareGain.astro Paste rtk gain output, generate social share card
CTA Cta.astro Final call to action
FAQ index.astro 6 Q&A accordion — also exposes FAQPage JSON-LD schema
Starred by index.astro Scrolling carousel of companies whose devs starred RTK

Vox page sections (/vox/)

Section Description
Hero Give Claude Code a voice — stats: 3 backends, 8 MCP tools, 0 API calls
Features 6 feature cards: task notifications, spoken summaries, voice cloning, local, cross-platform, one-command setup
Backends say (macOS native), qwen (Apple Silicon neural), qwen-native (pure Rust, all platforms)
Demo CLI usage examples: basic TTS, voice cloning, configuration
Integration 4 init modes: mcp, cli, skill, all — 8 MCP tools listed
Install curl, Cargo, GPU variants — then vox init mcp
Platform defaults Table: macOS vs Linux/WSL backend selection

ICM page sections (/icm/)

Section Description
Hero Your AI forgets everything. Fix that. — stats: ∞ session memory, 22 MCP tools, 1 binary
Features Temporal decay, knowledge graphs, hybrid search (BM25 + vector), MCP native, 100% local
Memoirs Knowledge graph feature — typed relations (depends_on, contradicts, refines)
Search Hybrid BM25 (30%) + cosine similarity (70%) via sqlite-vec
Install curl + icm init — auto-configures 14 editors
Editor support Claude Code, Cursor, Windsurf, VS Code/Copilot, Gemini Code Assist, Zed, Amp, Amazon Q, Cline, and more

Documentation (/guide/)

Generated from the rtk repo at build time. Sections:

Route Content
/guide/ Overview
/guide/getting-started/installation/ Installation methods
/guide/getting-started/quick-start/ First steps
/guide/getting-started/supported-agents/ Compatible AI tools
/guide/configuration/ Config options
/guide/what-rtk-covers/ Supported commands
/guide/analytics/gain/ rtk gain analytics
/guide/troubleshooting/ Common issues

Local development

pnpm install

# Full dev server — docs included (recommended)
pnpm dev:full

# Landing only — /guide/* will return 404 (docs not generated)
pnpm dev

/guide/ returns 404? You're running pnpm dev without generating the docs first. Run pnpm dev:full instead — it runs prepare-docs.mjs + build-search-index.mjs before starting the dev server.

# Custom rtk repo path (default: ../rtk)
RTK_REPO_PATH=/path/to/rtk pnpm dev:full

# Or generate docs once, then use the faster pnpm dev
node scripts/prepare-docs.mjs
pnpm dev

Scripts

Command What it does
pnpm dev Dev server on port 4321 (landing only, no docs)
pnpm dev:full prepare-docs + build-search + dev server (full site)
pnpm build Full production build (prepare-docs + build-search + astro build)
pnpm build:guide Run prepare-docs.mjs only
pnpm build:search Run build-search-index.mjs only
pnpm preview Preview the production build locally

Docs pipeline

Docs pages come from the rtk repo. The pipeline:

rtk/docs/guide/**/*.md
        ↓ scripts/prepare-docs.mjs
src/content/docs/guide/          (gitignored — generated at build)
        ↓ Starlight autogenerate
/guide/**/ routes

In CI (deploy.yml), the rtk repo is cloned fresh at ./rtk-repo before each build.

To update docs locally after a change in the rtk repo:

node scripts/prepare-docs.mjs
# or with a specific path:
RTK_REPO_PATH=/path/to/rtk node scripts/prepare-docs.mjs

Key files

File Role
src/pages/index.astro Homepage — imports all landing sections, holds FAQ + JSON-LD schemas
src/pages/vox/index.astro Vox product page
src/pages/icm/index.astro ICM product page
src/layouts/Layout.astro Base HTML shell — meta tags, OG, WebPage schema auto-inject
src/components/landing/ All landing page section components
src/components/starlight/ Starlight overrides (Header, Footer, Head)
src/components/global/ Shared components (Header, SearchModal, I18nScript)
src/styles/landing.css All landing page styles
src/styles/starlight-overrides.css Docs page style overrides
src/data/rss-entries.ts Manual RSS entries — edit here on each release
src/data/docs-search-entries.ts Auto-generated search index for docs (do not edit)
src/data/docs-anchor-map.json Anchor map for cross-doc links (generated)
scripts/prepare-docs.mjs Docs pipeline: rtk repo → Starlight content
scripts/build-search-index.mjs Builds the Cmd+K search index
public/robots.txt Crawler config — explicit allow for GPTBot, PerplexityBot, ClaudeBot
astro.config.mjs Astro + Starlight config, redirects, sidebar
.github/workflows/deploy.yml CI/CD: build + deploy to GitHub Pages

SEO / GEO

The site is optimized for both traditional SEO and GEO (Generative Engine Optimization — visibility in AI search like ChatGPT, Perplexity, Claude).

Schema markup (JSON-LD):

  • Homepage: @graph with Organization, SoftwareApplication, FAQPage, HowTo, WebPage, SpeakableSpecification
  • /vox/ and /icm/: SoftwareApplication + WebPage
  • /guide/*: BreadcrumbList + TechArticle (via Starlight Head override)

GEO signals:

  • robots.txt explicitly allows GPTBot, PerplexityBot, ClaudeBot, Anthropic-ai, Google-Extended
  • Authoritative prose paragraphs with per-command measurements in body text
  • FAQPage with 6 Q&A — crawlable by AI engines

Images:

  • All illustrations converted to WebP (-40% average size)
  • width/height attributes on all images (CLS prevention)

RSS

The RSS feed at /rss.xml is sourced from src/data/rss-entries.ts.

After each release or significant update, add an entry at the top of rssEntries:

{
  type: 'release',           // release | new_page | new_doc | new_feature | performance
  title: 'RTK v0.35.0 released',
  date: 'Apr 10, 2026',
  description: '...',        // 1-3 sentences, no HTML
  link: 'https://www.rtk-ai.app/...',
}

Deploy

Pushes to main trigger the GitHub Actions workflow automatically.

The workflow:

  1. Clones the rtk repo at ./rtk-repo
  2. Runs prepare-docs.mjs to generate doc content
  3. Runs build-search-index.mjs
  4. Builds with astro build
  5. Deploys to GitHub Pages

DNS: www.rtk-ai.apprtk-ai.github.io (CNAME in public/CNAME)

About

Landing page for rtk — Rust Token Killer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors