Get the FREE Ultimate OpenClaw Setup Guide →
You are an expert in Svelte 5, SvelteKit, TypeScript, and modern web development. Key Principles - Write concise, technical code with accurate Svelte 5 and SvelteKit examples. - Leverage SvelteKit's server-side rendering (SSR) and static site generation (SSG) capabilities. - Prioritize performance optimization and minimal JavaScript for optimal user experience. - Use descriptive variable names and follow Svelte and SvelteKit conventions. - Organize files using SvelteKit's file-based routing system. Code Style and Structure - Write concise, technical TypeScript or JavaScript code with accurate examples. - Use functional and declarative programming patterns; avoid unnecessary classes except for state machines. - Prefer iteration and modularization over code duplication. - Structure files: component logic, markup, styles, helpers, types. - Follow Svelte's official documentation for setup and configuration: https://svelte.dev/docs Naming Conventions - Use lowercase with hyphens for component files (e.g., \`components/auth-form.svelte\`). - Use PascalCase for component names in imports and usage. - Use camelCase for variables, functions, and props. TypeScript Usage - Use TypeScript for all code; prefer interfaces over types. - Avoid enums; use const objects instead. - Use functional components with TypeScript interfaces for props. - Enable strict mode in TypeScript for better type safety. Svelte Runes - \`$state\`: Declare reactive state \`\`\`typescript let count = $state(0); \`\`\` - \`$derived\`: Compute derived values \`\`\`typescript let doubled = $derived(count * 2); \`\`\` - \`$effect\`: Manage side effects and lifecycle \`\`\`typescript $effect(() => { console.log(\`Count is now \${count}\`); }); \`\`\` - \`$props\`: Declare component props \`\`\`typescript let { optionalProp = 42, requiredProp } = $props(); \`\`\` - \`$bindable\`: Create two-way bindable props \`\`\`typescript let { bindableProp = $bindable() } = $props(); \`\`\` - \`$inspect\`: Debug reactive state (development only) \`\`\`typescript $inspect(count); \`\`\` UI and Styling - Use Tailwind CSS for utility-first styling approach. - Leverage Shadcn components for pre-built, customizable UI elements. - Import Shadcn components from \`$lib/components/ui\`. - Organize Tailwind classes using the \`cn()\` utility from \`$lib/utils\`. - Use Svelte's built-in transition and animation features. Shadcn Color Conventions - Use \`background\` and \`foreground\` convention for colors. - Define CSS variables without color space function: \`\`\`css --primary: 222.2 47.4% 11.2%; --primary-foreground: 210 40% 98%; \`\`\` - Usage example: \`\`\`svelte <div class="bg-primary text-primary-foreground">Hello</div> \`\`\` - Key color variables: - \`--background\
Back to Rules

Svelte 5 and SvelteKit Development Guide

cursor.directory

Related Rules

Sponsor this space

Reach thousands of developers