A somewhat opinionated starter template with SvelteKit (client-only), Convex backend, shadcn-svelte UI components, and auth. The ideal starting point for vibe coding prototypes, with enough patterns that an LLM can pick up on to build somewhat maintainable code.
Get up and running in 3 commands:
# 1. Install dependencies
npm install
# 2. Start Convex database (in terminal 1)
npm run convex
# 3. Run tests to verify setup (in terminal 2)
npm test
Once the tests pass, you can run the dev server:
# Run development server
npm run dev
npm run quality
)CLAUDE.md
.cursor/rules
├── convex/ # Backend functions and schema
│ ├── auth.ts # Server-side auth logic
│ ├── messages.ts # Real-time messaging functions
│ └── schema.ts # Database schema
├── src/
│ ├── lib/
│ │ ├── components/ui/ # shadcn-svelte components
│ │ └── auth.svelte.ts # Client-side auth state management
│ └── routes/ # SvelteKit pages
├── e2e/ # Playwright E2E tests
└── package.json # Dependencies and scripts
Keep npm run convex
running in one terminal while using the other for tests or dev.
The test and dev environments share the same Convex backend database. This means you can run tests and the dev server simultaneously, and they'll interact with the same data - extremely useful for debugging.