accessibility.cool Monorepo

Monorepo Tooling

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.

Repository Structure

.
├── apps/
│   ├── blog/
│   └── ghost/
├── packages/
│   ├── data/
│   ├── eslint-config/
│   ├── typescript-config/
│   ├── ui/
│   └── utils/
├── pnpm-workspace.yaml
├── turbo.json
└── ...

Apps

  • 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).
  • apps/ghost
    (Currently empty/reserved for future use or integration with Ghost CMS.)

Packages

  • 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.

Development

  • 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
    

Deployment

  • Blog app is deployed on Netlify:
    The production build and deployment for the blog app is managed by Netlify.
    See the Netlify dashboard and apps/blog/netlify.toml for configuration.

Top categories

Loading Svelte Themes