Sandbox
@bstaruk/starbase

Claude Code front-end starter for Vite and React

Starbase is a front-end launchpad that bundles Vite, React, TypeScript, Tailwind CSS, TanStack Router, and React Query with Claude Code-friendly project conventions. It uses `CLAUDE.md`, reference components, lint rules, and custom commands to keep generated code aligned with the starter’s structure.

84 stars12 forksTypeScriptUpdated 4mo ago
Who it's for

Builders who want to start a new front-end app with Claude Code and a fixed set of project conventions.

What it delivers

You can start a new app with a ready-made structure that keeps Claude-generated code closer to your own patterns.

What it does

Claude-first project guidance

A top-level `CLAUDE.md` describes conventions, architecture, accessibility, imports, and writing style for Claude Code.

Custom Claude commands

`.claude/commands` includes `/audit`, `/review`, and `/update-deps` for checking drift, reviewing changes, and classifying dependency updates.

Atomic design structure

`src/ui` is organized into atoms, molecules, organisms, and templates so components follow a shared layout.

Path alias based imports

The starter uses path aliases for imports instead of deep relative paths, which keeps modules easier to move and read.

Reference implementation app

The `template/` directory contains the actual starter app files, including `template/src`, `template/public`, and Vite and TypeScript config files.

Tooling and enforcement

Husky hooks, ESLint, Prettier, and editor settings are included to keep formatting and code checks consistent.

How to get it

  1. 1Starbase is an opinionated front-end starter kit built on Vite, TypeScript, React, and…
    npm create starbase@latest my-project
    cd my-project
    npm install
    npm run dev

README

Starbase

A Claude-first front-end launchpad.

Starbase is an opinionated front-end starter kit built on Vite, TypeScript, React, and Tailwind CSS. Claude Code sits in the co-pilot seat by design. Every convention, component, and architectural decision is shaped to make Claude generate code that actually looks like yours.

Liftoff

npm create starbase@latest my-project
cd my-project
npm install
npm run dev

Open http://localhost:3000. You're in orbit.

The Mission

Getting a dev server running is the easy part. Maintaining consistency as your codebase grows? That's where things get interesting, especially when AI tooling is writing a significant chunk of your code.

Starbase puts CLAUDE.md at the center of everything. It encodes your preferences, conventions, and architectural decisions into a format that Claude Code can pattern-match against. The baseline components double as reference implementations. Teaching artifacts. When Claude generates new code in a Starbase project, it reads the flight manual and follows the plan.

The result: an accelerator, not an autopilot. AI-assisted development where the output actually feels like your codebase, not a generic suggestion from the void of space.

Payload

ToolRole
ViteBuild tooling and dev server
TypeScriptType safety
ReactUI library
Tailwind CSSUtility-first styling with a semantic sb- color token system
TanStack RouterFile-based routing
TanStack React QueryServer state and data fetching
MotionAnimation
ESLintLinting (with react-x, react-dom, and jsx-a11y plugins)
PrettierFormatting

See template/package.json for the full manifest.

The value lives in how these tools are wired together. CLAUDE.md documents the conventions. The reference components demonstrate them. ESLint enforces them mechanically. The /audit and /review skills catch the architectural stuff a linter can't reach. It's a closed loop: Claude reads the conventions, generates code that follows them, and the toolchain validates the output.

The ESLint setup is a good example of this philosophy in action. The config goes well beyond recommended defaults, pulling in nine plugins: React best practices (react-x, react-dom, react-hooks), accessibility (jsx-a11y), TanStack Router and Query patterns, Vite-aware refresh boundaries, and import ordering that understands the project's path alias structure. Atoms sort before molecules. External deps sort before internal ones. React always floats to the top. The linter knows the architecture, so it can enforce it without you thinking about it.

Star Chart

Components follow Atomic Design:

  • Atoms: The smallest building blocks. Buttons, inputs, links, icons.
  • Molecules: Small groups of atoms functioning as a unit. A dark mode toggle, a page header.
  • Organisms: Larger sections composed of molecules and atoms. Full-width layouts, distinct page sections.
  • Templates: Page-level layout structures that define where things go and how they relate.

Everything else is organized by concern:

src/
  lib/
    queries/    # React Query options, organized by API domain
    theme/      # Tailwind CSS and theme config
    utils/      # Utility functions (cn, darkMode, etc.)
  ui/
    atoms/      # Button, Link, Code, StarbaseLogo
    molecules/  # DarkModeToggle, PageHeader, Stargazers
    organisms/
    templates/
  routes/       # TanStack Router file-based routes

Imports use path aliases everywhere: from 'atoms/Button' instead of from '../../ui/atoms/Button'. If you're reaching for a relative path, that's a sign a new alias is needed.

Mission Control

CLAUDE.md is the north star of this project. It's a living document that maps your development preferences directly to codebase patterns: accessibility standards, import conventions, component architecture, color tokens, writing style, and more.

Think of it as a working contract between you and Claude. Here's how I like things done, and here are the reference implementations to prove it. When Claude generates code in a Starbase project, it builds on these conventions instead of guessing.

Read it. Evolve it. It's designed to grow with your project.

Comms

Starbase ships with custom Claude Code skills that go beyond what a linter can catch:

  • /audit: Scans the codebase for drift against CLAUDE.md conventions. Raw color values, misleveled components, accessibility gaps, import violations. Architecture enforcement, automated.
  • /review: Reviews the current branch's changes against CLAUDE.md. Like a code review from someone who actually read the style guide.
  • /update-deps: Categorizes dependency updates into safe, Vite-aligned, and major-breaking tiers. Bumps what's safe, holds what isn't, and verifies with build + lint.

The goal: a suite of tools that handle the mechanical parts of consistency so you can focus on building cool stuff.

Learn More

History

Starbase is built and maintained by Brian Staruk, a Boston-based web developer who's been nerding out in public for over 20 years. Go Sox.

This project has been actively maintained since 2017, through four major versions. Each one reflected whatever felt like the right way to build for the web at the time. PostCSS, Webpack, TypeScript, Tailwind: tools got picked up as they matured and dropped when something better came along.

v5 is the biggest shift yet. The build tool era is over. The new frontier is encoding taste and standards so that AI tooling can extend your work faithfully. That's the mission now.

License

MIT

Files in the repo

Repository payload16 top-level entries
  • .claude
  • .husky
  • .vscode
  • src
  • template
  • .editorconfig
  • .gitignore
  • .nvmrc
  • .prettierignore
  • .prettierrc.json
  • CLAUDE.md
  • commitlint.config.js
  • package-lock.json
  • package.json
  • README.md
  • tsconfig.json

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More templates

CopilotKit/
OpenBot

Open-source AI coworkers that each get a computer of their own: a browser, files and tools, with every action decided before it happens and recorded after. Bring any AG-UI agent.

4.6k
Donchitos/
Claude-Code-Game-Studios

Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.

25k

A self-organizing Obsidian vault that gives AI coding agents persistent memory. Claude Code, Codex CLI, Gemini CLI.

4.6k
idavidov13/
agentic-playwright

Production-grade Playwright + TypeScript Scaffold for Agentic Testing. Harness for all major AI coding agents baked in.

163
gavishap/
omnia-vault

Omnia Vault - the all-in-one project brain: an Obsidian LLM wiki, Graphify code graphs, a living plan that triages new videos against itself, and a Claude Code ⇄ Codex relay. Everything your project knows, in one clonable vault.

60

🎬 Tạo video "so sánh kiến thức" ngắn tự động — HyperFrames + AI voice, 1 template nhiều chủ đề.

169