About config-env-parameters
A Symfony configuration skill for managing environment variables, parameters, and secrets across environments. It covers storage, injection, and parsing choices, with safeguards against committing credentials.
Key features
- 01Choose defaults, environment variables, or vault
- 02Declare safe committed defaults
- 03Inject and process values via parameters or Autowire
- 04Set environment-specific configuration
- 05Fail fast on missing required values
Use cases
- 01Add or change environment variables and parameters
- 02Manage values across dev, test, and prod
- 03Parse integer, boolean, JSON, or CSV values
- 04Store credentials in the Symfony secrets vault
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ dev-toolings/ superpowers-symfony --skill config-env-parametersAfter installing, type/config-env-parametersin Claude Code to confirm it loaded.
Bundled filesreference.md
Details
From the project READMEConfig Env Parameters (Symfony)
Use when
- Adding or changing an environment variable, a parameter, or a secret.
- A value differs between environments (dev, test, prod).
- Casting or parsing env values (
int:,bool:,json:,csv:,file:). - Storing credentials in the Symfony secrets vault.
Default workflow
- Decide where the value lives:
.envdefault,.env.local, real environment, or the vault for secrets. - Declare it with a safe committed default, never a real credential.
- Inject it with
%env(...)%and the right processor, through a parameter or#[Autowire]. - Put environment-specific settings in
config/packages/<env>/orwhen@<env>blocks. - Fail fast in the service when a required value is empty.
Guardrails
- Never commit
.env.local,.env.*.localor the vault decryption key. - In production, set variables in the server or container environment, not in files.
- Env values are strings until processed: cast them, do not compare
"false"tofalse. - Remember the loading order:
.env,.env.local(skipped in test),.env.<env>,.env.<env>.local.
Progressive disclosure
- Use this file for execution posture and risk controls.
- Open references when deep implementation details are needed.
Output contract
- Where each new value is defined, per environment.
- The injection point and the processor used.
- Secrets added to the vault, named but never printed.
References
reference.md
Comments
Markdown supported