Environment
Environment
Prepare the Python, Git, working-directory, terminal, editor, and optional tooling boundaries used by Custy.
custyCategory
Quick Command
project root + installed custy + Git repositoryRuntime Requirementsâ
Requirements
Python 3.14+
Git
pip or installed package
UTF-8-capable terminal
Configured Editor
Commitizen
Docker
Make
Working Directory
Run Custy from the project root that contains .config/custy/config.toml, the
configured project source, and the target Git repository. Relative
configuration, template, backup, log, version, and changelog paths are resolved
from the process working directory.custy --version
custy --no-banner validate
git status
Custy Theme Variables
The active application reads these environment variables only to customize
Rich colors and progress presentation:Color Overrides
CUSTY_PRIMARY / CUSTY_SECONDARY Primary accent and secondary text. CUSTY_INFO / CUSTY_WARNING / CUSTY_SUCCESS / CUSTY_ERROR Semantic output colors. CUSTY_DRY_RUN / CUSTY_POINTING Dry-run and pointer or hint colors. CUSTY_HELP_TITLE / CUSTY_HELP_TEXT / CUSTY_HELP_HINT Help heading, body, and hint styles. CUSTY_HELP_OPTION / CUSTY_HELP_EXAMPLE Help option and example styles. CUSTY_PROGRESS_TITLE / CUSTY_PROGRESS_STEP / CUSTY_PROGRESS_DONE Progress heading, active step, and completion styles.
Values must be valid Rich color or style-compatible color strings. These variables do not replace project configuration, command arguments, Git credentials, or file paths.
Editor Environment Variables
Custy does not define an editor environment variable automatically. It
inherits the variables supplied to its process and checks the following exact
names when tool.custy.editor.prefer_environment = true:Editor Runtime Variables
VISUAL Primary editor command. May contain a trusted executable and optional arguments, such as code --wait or micro. EDITOR Secondary editor command, checked after VISUAL, such as notepad, nano, vim, or nvim -f. PATH Indirectly controls executable discovery. PATH does not select an editor by itself. CUSTY_CONTAINER Selects container candidates when set to 1, true, yes, or on. The official image sets it; it is not an editor command.
Only VISUAL and EDITOR accept editor commands. Use the uppercase names
exactly for portable behavior. If either is empty, undefined, or names an
unavailable executable, Custy moves to the next candidate allowed by the
editor policy.# PowerShell
$env:VISUAL = "code --wait"
$env:EDITOR = "notepad"
# POSIX shell
export VISUAL="micro"
export EDITOR="nano"
# Docker
docker run --rm -it -e VISUAL=micro -e EDITOR=nano -v "${PWD}:/workspace" -w /workspace custy-prod:latest run release
The operating system, shell profile, IDE, Docker/Compose service, or CI job
must supply these values before Custy starts. Custy does not directly load a
.env file. It reads VISUAL and EDITOR when a workflow reaches commit or
tag message editing, so changing another terminal does not modify an existing
Custy process. See Editor Configuration for setup
examples, accepted commands, container behavior, and the complete
prefer_environment/allow_fallback matrix.
External Tools and Credentials
- Custy invokes
gitand relies on the normal Git executable lookup. - Remote authentication belongs to Git and the configured credential helper, SSH agent, CI secret setup, or container environment. Custy does not read a dedicated GitHub or GitLab token variable in the active core path.
- The editor launcher reads
VISUAL, thenEDITOR, when environment precedence is enabled. It then follows container or platform candidate lists fromtool.custy.editor. - Windows executable discovery resolves command shims such as
code.CMDbefore launch. A normal Linux container cannot open VS Code or Notepad from the host; use its bundled terminal editors and an interactive TTY. - Commitizen strategy behavior invokes
czas an external subprocess. - Docker bind mounts determine which host project appears as the container's working directory.