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.