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

Community

If you have questions or feedback, reach out to the community at Discord and
GitHub Discussions.