npm run dev- Start development server with hot reloadnpm run build- Build for productionnpm run preview- Preview production build locally
npm run check- Type check with svelte-check and syncnpm run check:watch- Watch mode for type checkingnpm run lint- Run Prettier and ESLintnpm run format- Auto-format with Prettier
npm run drizzle:generate- Generate database schemanpm run drizzle:migrate- Run database migrationsnpm run drizzle:seed- Seed database with test data
- Double quotes (
") - No trailing commas
- 70 character line width
- Svelte plugin enabled
- Strict mode enabled
- PascalCase for interfaces and types
- camelCase for variables and functions
- Explicit return types for exported functions
- PascalCase for component names (e.g.,
BasicButton.svelte) - Use Svelte 5
$props()syntax - TypeScript interfaces for component props
- Use
Snippettype for children/icon slots
$lib/for internal library imports- Relative imports for local files
- Group imports: external libs, then internal, then types
- Use
.jsextension in TypeScript imports (ES modules)
- Components: PascalCase
- Variables/Functions: camelCase
- Files: PascalCase for components, camelCase for utilities
- Directories: lowercase with hyphens if needed
- Use try/catch blocks for async operations
- Return early with descriptive error messages
- Use
fail()andmessage()from sveltekit-superforms
- Tailwind CSS with custom utilities
- Use
cn()utility for conditional classes - Dark mode support with
dark:prefixes - Responsive design with Tailwind breakpoints
- Drizzle ORM with PostgreSQL
- Use schema files for type safety
- Follow existing migration patterns