Pipe-friendly output across all commands. When stdout is piped (not a TTY), commands now output minimal machine-readable text instead of verbose YAML. This makes scripting and piping natural without any extra flags:
# list secret names for grep/xargs
sigillo secrets | grep DATABASE
# capture new project ID in a variable
PROJECT_ID=$(sigillo projects create --org org_123 --name backend)
# capture new env ID
ENV_ID=$(sigillo environments create -p $PROJECT_ID --name staging --slug staging)
# set a secret and capture its ID
SECRET_ID=$(sigillo secrets set API_KEY my-value -c dev)Affected commands and their piped output:
sigillo secrets— one secret name per linesigillo secrets set— secret ID per environmentsigillo orgs create— new org IDsigillo projects create— new project IDsigillo environments create— new environment ID
TTY output is unchanged (same verbose YAML format as before).
--raw flag for secrets get. Force raw value output even when stdout is a TTY. When piped, raw mode is enabled automatically so values flow between commands without YAML wrapping:
# copy a secret between environments (piped stdout auto-enables raw mode)
sigillo secrets get DATABASE_URL -c dev | sigillo secrets set DATABASE_URL -c preview
# force raw output in a terminal
sigillo secrets get DATABASE_URL --rawPreviously, piping secrets get would store the full YAML output (with environment_id, name, value fields) as the secret value, corrupting it.
Install or update:
npm i -g sigillo@latest