One code - 4 sites

November 2025. Need multiple sites:

  • dev.typus.dev - development
  • demo.typus.dev - demo for clients
  • typus.dev - main site
  • lite.typus.dev - light version

Copy code 4 times? No.

Architecture

typus-lite/
├── @typus-core/          # shared core
│   ├── backend/
│   ├── frontend/
│   └── shared/
├── dev.typus.dev/
│   └── custom/           # customization for dev
├── demo.typus.dev/
│   └── custom/
├── typus.dev/
│   └── custom/
└── lite.typus.dev/
    └── custom/

How it works

@typus-core - npm package. Installed in each site.

custom/ - overrides. Custom pages, styles, configs.

Core is one. Customization is different.

What's in custom

  • Themes and styles
  • Landing pages
  • Config (.env)
  • Specific plugins

Updates

Updated @typus-core - all sites updated. No need to patch each separately.

If something breaks - roll back core version.

Downsides

Harder to debug. Code in node_modules, not in project.

Versions need to stay synchronized. Otherwise "works on dev, crashes on prod".

But for my case pros outweigh. One fix - works everywhere.

← Back to blog