Config
Every Servest project depends on a servest.config.json file.
This file defines the project’s structure, environment, and enabled features.
It is created automatically when you initialize a project:
Loading code snippet…
All addons and later commands rely on this file. If it is missing or incomplete, Servest cannot continue.
Example
Loading code snippet…
Project Options
Defines the main project setup:
- framework – backend framework (e.g. express, django, fastapi, laravel)
- language – programming language used (js, ts, py, php)
- architecture – project structure (basic, mvc, modular, apps-based, laravel-mvc)
- srcDir – whether the project uses a /src directory
Environment Options
Specifies runtime environment:
- runtime – runtime environment (node, bun, python, php)
- nodeVersion – Node.js version (only if runtime is node)
- bunVersion – Bun version (only if runtime is bun)
Features
Tracks enabled addons:
- Populated when you run npx servest@latest add <feature>
- Keeps addon state consistent across commands
Meta
Additional metadata:
- servestVersion – version of Servest used to generate this file
- createdAt – timestamp when the config was created
Why This Config Matters
- Every command in Servest depends on servest.config.json
- Ensures consistent project setup across environments
- Allows addons and features to integrate smoothly
- Acts as the single source of truth for your project settings