Skip to content
Public template

About

Arrow.js + Vite + Tailwind CSS v4 starter template with file-based routing, layouts, reactive state, composables, and a full testing setup

Topics

Resources

Contributing

Stars

5 stars

Watchers

0 watching

Forks

Repository files navigation

Quiver

Open in StackBlitz

An Arrow.js starter template with file-based routing, layouts, reactive state, composables, and a full testing setup — built for AI-assisted development, with context files and slash commands for Claude Code, Codex, and Copilot included.

Stack: Arrow.js · Vite · Tailwind CSS v4 · Vitest · Playwright


Getting started

Prerequisites: Bun 1.4+ (or Node.js 22.12+ with npm, without a lockfile)

bunx degit go4cas/quiver my-app
cd my-app
bun install
bun run dev

Open http://localhost:5173. You can also click Use this template on GitHub, or clone the repository directly.

Browser support: the router is built on the Navigation API — Chrome/Edge 102+, Safari 26.2+, Firefox 147+.


AI tooling

Quiver ships with context files and Claude Code slash commands that make AI assistants immediately productive in this codebase:

  • AGENTS.md — the single source of truth, read directly by Codex and GitHub Copilot: conventions, Arrow.js rules, composables, theming, folder structure
  • CLAUDE.md — loaded automatically by Claude Code; imports AGENTS.md so every tool shares one context
  • /add-page, /add-layout, /add-component, /add-state, /add-composable, /add-theme, /add-feature, /add-test — Claude Code slash commands for the most common tasks

See the AI Tooling guide for usage examples.


Scripts

Command Description
bun run dev Start the Vite dev server
bun run build Production build to dist/
bun run preview Preview the production build locally
bun run test Run unit tests once (Vitest)
bun run test:watch Run unit tests in watch mode
bun run test:e2e Run end-to-end tests (Playwright)
bun run typecheck Type-check src/ via JSDoc (tsc)
bun run docs:dev Start the documentation site locally
bun run docs:build Build the documentation site
bun run docs:preview Preview the built documentation site

Folder structure

src/
├── framework/       # Router, DI, store, app bootstrap — framework internals
├── pages/           # File-based routes — add your pages here
├── layouts/         # Page wrapper components — add your layouts here
├── components/      # Reusable UI components — add your components here
├── state/           # Global reactive state modules — add your stores here
├── composables/     # Reusable logic functions — add your composables here
├── utils/           # Pure helper functions
└── main.js          # App entry point

tests/
├── framework/       # Unit tests for framework utilities (Vitest)
├── composables/     # Unit tests for composables (Vitest)
└── e2e/             # End-to-end tests (Playwright)

Documentation

Developer guide

  • Getting started — what to add, what to leave alone
  • Why Quiver — an honest comparison with the alternatives
  • Feature workflow — step-by-step walkthrough for adding a feature
  • Getting started — install, scripts, folder structure, createApp
  • Components — component(), local state, built-in components
  • Routing — file-based routing, guards, useMeta, router API
  • Layouts — page layouts, DI keys, creating new layouts
  • State — reactive() stores, built-in state modules
  • Composables — useRoute, useRouter, useForm, useFetch, useToast, provide/inject
  • Testing — unit tests and E2E tests
  • Troubleshooting — common gotchas and their fixes

Contributing

Bug reports, fixes, and documentation improvements are welcome. Please read CONTRIBUTING.md before opening a PR.


Licence

MIT

About

Arrow.js + Vite + Tailwind CSS v4 starter template with file-based routing, layouts, reactive state, composables, and a full testing setup

Topics

Resources

Contributing

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages