A multilingual starter for a simple, fast public website.
Quick Start · Customize · Deploy
TanStarter Lite is the lightweight, open-source edition of TanStarter: a deliberately small starter for a multilingual public website. It includes a complete localized landing page, light/dark/system themes, SEO endpoints, tests, and Cloudflare Workers deployment—without the operational surface of a SaaS starter.
It intentionally does not include authentication, payments, persistence, storage, cache, transactional email, newsletters, or an admin surface. Add those only when they match the product you are building.
- Multilingual by default — English at
/and Simplified Chinese at/zh, with typed Paraglide messages and a language menu that keeps the current section anchor. - A focused landing page — responsive navigation, hero, stack, architecture, template, FAQ, and closing sections.
- Theme choices — light, dark, and system themes; the selection persists in local storage.
- Search-ready public surface — localized canonical and alternate links,
Open Graph and Twitter metadata, JSON-LD,
robots.txt,sitemap.xml, andmanifest.webmanifest. - No required services — the default Worker has no D1, R2, KV, or secret
bindings and deploys to
workers.dev.
- React 19 and TypeScript
- TanStack Start and TanStack Router
- Tailwind CSS
- Paraglide for type-safe localization
- Cloudflare Workers and Wrangler
- Vitest and Playwright
git clone https://github.com/MkFastHQ/mkfast-lite.git
cd mkfast-lite
pnpm install
pnpm devOpen http://localhost:3000 for English or http://localhost:3000/zh for
Simplified Chinese.
| Command | Description |
|---|---|
pnpm dev |
Start the Vite development server on 127.0.0.1:3000 |
pnpm check |
Run Biome checks, locale parity checks, unit tests, and TypeScript |
pnpm test |
Run the Vitest unit suite |
pnpm build |
Create a production build and type-check it |
pnpm e2e |
Run Playwright desktop and mobile coverage |
pnpm locale:compile |
Regenerate the Paraglide runtime after locale edits |
pnpm locale:check |
Check English and Chinese message-key parity |
pnpm cf-typegen |
Regenerate Worker environment types after Wrangler changes |
pnpm deploy |
Build and deploy the Worker |
pnpm e2e covers both locales, language switching, theme persistence,
responsive navigation, FAQ behavior, machine-readable SEO endpoints, and the
intentionally absent application routes.
- Update the site name, canonical URL, repository URL, default theme, and
navigation in
src/config/website.ts. - Edit English and Simplified Chinese copy in
project.inlang/messages/en.jsonandproject.inlang/messages/zh.json. - Replace
public/favicon.svgand the Open Graph image inpublic/. - Reorder or remove homepage sections in
src/components/home/home-page.tsx; adjust visual tokens insrc/styles.csswhen needed. - Add routes under
src/routes/with TanStack Router's file-route convention. Add matching English and/zhroutes, localized metadata, and messages when a page needs localized content.
Locale JSON files are the source of truth. Never edit
src/locale/paraglide/ by hand; regenerate it after changing copy:
pnpm locale:compile
pnpm locale:checkDo not edit generated src/routeTree.gen.ts or worker-configuration.d.ts
by hand either; regenerate them with the relevant tooling. Set
websiteConfig.url to the production origin before launch. Until then, the
SEO metadata uses the incoming request origin, keeping local development and
deployment previews valid.
Authenticate Wrangler once, then deploy:
pnpm exec wrangler login
pnpm deployThe committed wrangler.jsonc keeps workers_dev enabled and contains no
account ID, custom domain, resource bindings, or application secrets. The
first deployment publishes to your Cloudflare account's workers.dev
subdomain.
To attach a hostname without making it the template default:
pnpm exec wrangler deploy --domain your-site.example.comDo not commit personal account IDs, tokens, or secrets to a project created from this template.
src/routes/— the English and Chinese home pages, 404 handling, and machine-readable endpoints.src/components/— layout, language/theme controls, UI primitives, and landing-page sections.src/config/— product-owned site identity, repository link, and navigation.src/lib/— locale routing, SEO, and utility contracts.src/styles.css— shared theme tokens and global styles.project.inlang/messages/— authoritative English and Simplified Chinese copy.scripts/— locale validation.tests/— Vitest unit contracts and Playwright acceptance tests.wrangler.jsonc— the Workers entry point and committed deployment default.
Contributions are welcome. Fork the repository, make a focused change, update tests and documentation when behavior changes, and run the relevant checks before opening a pull request:
pnpm check
pnpm build
pnpm e2e
git diff --checkOpenFox is an independent developer building products and developer tools. His products include:
- TanStarter — Ship Faster with TanStack, Cost Less with Cloudflare.
- MkSaaS — Make Your AI SaaS Product in a Weekend.
- MkImage — Make Any Images Possible.
- MkAgent — A local-first, Pi-powered AI agent workspace for Desktop, WebUI, and CLI.
- MkExt — An open-source browser extension starter for SaaS applications.
- Mkdirs — Launch AI-powered directory in 30 minutes.
- MkDollar — The all-in-one platform to help you make first dollar online.
Licensed under the MIT License.
