Warning
Experimental software: This project is currently experimental and not yet considered production-hardened.
Use caution when running against real or sensitive data, and validate plans carefully before applying changes.
A CLI for managing Umbraco Compose environments with an IaC-style workflow.
It helps teams:
- scaffold and organize local Compose project files
- validate local configuration before API calls
- preview remote changes with
plan - apply changes safely in CI/CD
- keep environment identity stable across renames
- Create or clone a Compose project.
- Edit local files in source control.
- Run
validateandplan. - Run
applyin a guarded pipeline.
node dist/index.js init --dir ./compose --project <project-alias> --env dev
cd ./compose
node ../dist/index.js validate --strict
node ../dist/index.js plannode dist/index.js clone --dir ./compose --project <project-alias> --allEnvs
cd ./compose
node ../dist/index.js validate --strict
node ../dist/index.js planIf you cloned a subset of environments and later need another:
node ../dist/index.js env add-remote <env-alias> --pull
# or
node ../dist/index.js pull --env <env-alias> --adoptMissingCommands that call the management API require OAuth client credentials.
Required:
COMPOSE_MGMT_CLIENT_IDCOMPOSE_MGMT_CLIENT_SECRET
Optional:
COMPOSE_MGMT_SCOPECOMPOSE_MGMT_AUDIENCE
You can also pass --clientId, --clientSecret, --scope, and --audience on commands that support them.
compose initcompose clonecompose generate <entity> <alias>compose validatecompose pullcompose statuscompose plancompose applycompose env rename <from> <to>compose env add <alias>compose env list-remotecompose env add-remote <alias>
Directory defaults:
- Local-state commands default
--dirto current directory (.). - Bootstrap commands (
init,clone) default--dirto./compose. cloneandpulldefault--envtoproductionwhen omitted.env renamemoves./env/<from>to./env/<to>by default (--no-moveDirto opt out).
- PR CI:
build,test,validate,plan - Deploy workflow: guarded
apply(manual/protected branch + environment approvals)
See:
docs/commands.mddocs/workflow.mddocs/ci.mddocs/testing.mddocs/release-v1-checklist.md