Skip to main content
Every Compozy project is configured through a compozy.yaml file in the project root directory. This file defines your project’s structure, dependencies, settings, and deployment configurations.

Project Structure

After you run compozy init, your project will have the following structure:
This structure helps organize your project’s components and configurations in a clean, maintainable way.

Configuration File Structure

The compozy.yaml file is automatically created when you initialize a new project with compozy init. Below are examples of basic and advanced configurations:
The basic configuration includes essential settings to get started, while the advanced configuration demonstrates the full range of available options. Choose the configuration that best suits your project’s needs.

CLI Commands for Configuration

Manage your configuration using these CLI commands:

Environment Variables

Compozy automatically loads environment variables from the following .env files in your project directory (in order of precedence):
  • .env.local - Local overrides (ignored by git)
  • .env.development, .env.test, .env.production - Environment-specific variables
  • .env - Default values
You can reference these environment variables in your configuration using the ${ENV_VAR} syntax:

Configuration Options

string
required
The name of your project
string
required
Project version (semver format)
string
Brief project description
string
Project maintainer
string
Project license
object
Project dependencies by type
object
Environment-specific configurations
object
Workflow execution settings
object
Security and access control settings
object
Resource limits and scaling configuration

Best Practices

Version Control Best Practices

  • Include compozy.yaml in version control
  • Use environment variables for sensitive data
  • Create example configuration files for new contributors
  • Keep configuration versioned with your code

Environment Management

  • Define all required environments explicitly
  • Use consistent naming conventions
  • Document environment-specific requirements
  • Test configuration changes in staging first

Security Guidelines

  • Never commit API keys or secrets
  • Use environment variables for sensitive data
  • Implement proper access controls
  • Regularly rotate security credentials

Resource Planning

  • Set appropriate resource limits
  • Configure scaling based on usage patterns
  • Monitor resource utilization
  • Plan for peak load scenarios

Need Help?