SvelteKit project structure

SvelteKit project structure

Explorer

  • .huskynew
  • pre-commitnew
  • commit-msgnew
  • .svelte-kit…, not committed
  • .vscode
  • extensions.json
  • settings.jsonnew
  • launch.jsonnew
  • build…new, not committed
  • drizzlenew
  • 0000_initial.sqlnew
  • meta…new
  • messagesnew
  • en.jsonnew
  • ur.jsonnew
  • node_modules…, not committed
  • playwright-report…new, not committed
  • project.inlangnew
  • settings.jsonnew
  • cache…new, not committed
  • scriptsnew
  • seed.tsnew
  • src
  • app.d.ts
  • app.html
  • app.cssnew
  • env.tsnew
  • hooks.server.tsnew
  • hooks.tsnew
  • params.tsnew
  • static
  • robots.txt
  • og-image.pngnew
  • test-results…new, not committed
  • .envnew, not committed
  • .env.examplenew
  • .gitignore
  • .npmrc
  • .prettierignore
  • .prettierrc
  • AGENTS.md
  • commitlint.config.jsnew
  • compose.yamlnew
  • drizzle.config.tsnew
  • eslint.config.js
  • package-lock.json
  • package.json
  • playwright.config.ts
  • README.md
  • tsconfig.json
  • vite.config.ts
  1. # Create the project with TypeScript, Prettier, ESLint, Vitest, Playwright and the Node adapter

    npx sv create my-app --template minimal --types ts --add prettier eslint vitest="usages:unit,component" playwright sveltekit-adapter="adapter:node" --install npm
  2. # Start the dev server on localhost:5173

    cd my-app && npm run dev
  3. # Add the database, auth, translations and Tailwind (each add-on asks a few questions)

    npx sv add drizzle better-auth paraglide tailwindcss
  4. # Start Postgres and push the first schema

    npm run db:start && npm run db:generate && npm run db:migrate
  5. # Add commit hooks

    npm install -D husky lint-staged @commitlint/cli @commitlint/config-conventional && npx husky init