Proper configuration is the foundation of a reliable project. This guide walks you through creating a config file, setting environment variables, choosing the right options for your environment, and verifying that everything is correct before you run the project.Documentation Index
Fetch the complete documentation index at: https://docs.jacobpevans.com/llms.txt
Use this file to discover all available pages before exploring further.
Setup process
Create your config file
Copy the example config file provided in the repository root and rename it for your environment:Open
config.yaml in your editor and fill in the values for your environment. The file uses YAML syntax; see the annotated example below.Set environment variables
Sensitive values such as API keys and database credentials should be provided through environment variables rather than stored in the config file. Create a Then open
.env file at the project root:.env and populate the required values. The application reads these automatically on startup.Configure for your environment
Set the For production deployments, set
environment field in config.yaml to match where you are running the project. Accepted values are development, staging, and production. Each value adjusts defaults for logging verbosity, error reporting, and caching behavior.environment: production. This enables JSON log formatting, raises the default log level to info, and turns on caching automatically.Validate your configuration
Run the built-in validation command to check that all required fields are present and that values are within accepted ranges:The command prints a summary of each checked field and exits with a non-zero status code if any problems are found, making it safe to use in CI pipelines.
Common configuration options
| Option | Description | Default |
|---|---|---|
environment | Runtime environment (development, staging, production) | development |
server.port | Port the server binds to | 3000 |
logging.level | Minimum log level to emit | info |
logging.format | Log output format (pretty or json) | pretty |
cache.enabled | Enable response caching | false |
cache.ttl_seconds | Cache entry lifetime in seconds | 300 |
paths.output_dir | Directory for build output | ./dist |
Overriding config values at runtime
You can override any config file value by setting a corresponding environment variable using theAPP_ prefix and uppercase key path. For example, to override server.port: