This repository uses PNPM for fast, disk-efficient package management and TurboRepo for high-performance monorepo task orchestration.
-
Install dependencies:
pnpm install
-
Start development servers:
pnpm dev
This runs all app and package dev servers in parallel using TurboRepo.
.
├── apps/
│ ├── blog/
│ └── ghost/
├── packages/
│ ├── data/
│ ├── eslint-config/
│ ├── typescript-config/
│ ├── ui/
│ └── utils/
├── pnpm-workspace.yaml
├── turbo.json
└── ...
-
apps/blog
The main SvelteKit 5 blog application.- Local dev:
pnpm dev
(from root) - Production build:
pnpm build
- Hosted on Netlify (see
apps/blog/netlify.toml
for config).
- Local dev:
-
apps/ghost
(Currently empty/reserved for future use or integration with Ghost CMS.)
-
packages/data
Shared types and data utilities, including page/post types and default meta data. Used by the blog and UI packages. -
packages/ui
Shared Svelte UI components (Button, Header, Footer, Avatar, Navigation, Card, etc.) and styles for use across apps. -
packages/utils
General utility functions (e.g.,slugify
,formatDate
) for use across the monorepo. -
packages/eslint-config
Centralized ESLint configuration for consistent code quality and linting across all packages and apps. -
packages/typescript-config
Shared TypeScript configuration for consistent type checking and build settings.
-
Start all dev servers:
pnpm dev
This will start the development server for all apps (including the blog) using TurboRepo.
-
Lint, build, and check types:
pnpm lint pnpm build pnpm check-types
- Blog app is deployed on Netlify:
The production build and deployment for the blog app is managed by Netlify.
See the Netlify dashboard andapps/blog/netlify.toml
for configuration.