Commands
devhelm validate
Validate a configuration file offline. No API calls are made — this checks YAML syntax and schema validity. The file argument is optional and defaults todevhelm.yml.
Use this in CI as an early check before running
plan or deploy. Pair with --strict in pre-merge checks to surface drift you’d otherwise only catch at deploy time.
devhelm plan
Preview what would change without applying anything. Equivalent todeploy --dry-run.
devhelm deploy
Apply configuration changes.Flags
Multiple config files
Pass-f multiple times to deploy from multiple files:
Pruning
By default,deploy only creates and updates resources defined in your config. Resources not in the file are left untouched. Three pruning scopes, from safest to most destructive:
--prunedeletes resources tracked in this config’s.devhelm/state.jsonthat are no longer in the YAML. Safe in multi-config orgs — it never touches CLI-managed resources owned by other configs.--prune-org-cliwidens--pruneto all CLI-managed resources in the org, even those created from other config files. Use with caution in shared workspaces.--prune-alldeletes all resources not in the config, including those created via the dashboard, Terraform, or the API.
Dry-run with exit codes
Combine--dry-run and --detailed-exitcode for CI gating:
Deploy locking
Only one deploy can run at a time per organization. If a lock is held by another process, the CLI fails immediately by default. Use--lock-timeout to wait:
--no-lock to skip locking entirely (not recommended for shared environments):
devhelm deploy force-unlock
Release a stuck deploy lock manually.Next steps
Monitoring as Code
Full YAML format and workflow guide.
GitHub Actions
Automate deploys from CI.
CI/CD pipeline guide
End-to-end CI/CD setup.