Personal website and blog monorepo powered by SvelteKit.
This project is organized as a monorepo using pnpm workspaces:
apps/web: Main SvelteKit applicationcore: Core services and utilitiesdomain: Domain-specific business logiclibs: Reusable librariestools: Development and build toolsui: UI components and theme
- Node.js (LTS recommended)
- pnpm
pnpm@10.6.1
# Install dependencies
pnpm installCreate a .env file in the root directory. Check .env.example for expected variables.
Run the environment setup tool to create symlinks:
pnpm symlink-envThis will create symlinks to the root .env file in all required project directories.
# Start development server
pnpm dev
# Lint code
pnpm lint
# Run tests
pnpm testThe project uses Neon (serverless Postgres) with Drizzle ORM. Make sure you have the database URL set in your .env file:
DATABASE_URL=postgresql://username:password@your-neon-db-url/dbname
Available commands:
# Push schema changes to the database
pnpm db:push
# Open Drizzle Studio to manage data
pnpm db:studio# Build for production
pnpm build