Use configuration inheritance with the extends field
mainYou can share common secret definitions across multiple projects or services using the extends field in the [project] section. This allows a project to inherit secret requirements from one or more base configuration files.
For example, a web-api project can inherit common database and authentication requirements from shared configuration files and then add its own service-specific secrets.
[project]
name = "web-api"
revision = "1.0"
extends = ["../shared/base", "../shared/auth"]
[profiles.default]
# Inherits DATABASE_URL, INTERNAL_API_KEY from base
# Inherits JWT_SECRET, SESSION_SECRET from auth
# Service-specific additions:
STRIPE_API_KEY = { description = "Stripe payment API", required = true }
REDIS_URL = { description = "Redis cache connection", required = true }
PORT = { description = "Server port", required = false, default = "3000" }