Skip to main content

Configuration Reference

Configuration Reference

Namespace Index

Use the project-owned tool.custy namespace and follow links to every generated or actively supported property.

Command.config/custy/config.toml

Category

Reference

Quick Command

[tool.custy.NAMESPACE]

TOMLCLI -> config -> defaultproject-owned

Minimal Shape​

.config/custy/config.toml
toml
[tool.custy.project]
project_source = "auto"

[tool.custy.cli.versioning]
strategy = "semver"
bump = "auto"

[tool.custy.logging]
level = "INFO"

[tool.custy.git]
default_remote = "origin"

Root Namespaces

Configuration Map

tool.custy.projectSelect the validated project source directory. Details.
tool.custy.releaseStore release metadata while accounting for the documented active-loader shape mismatch. Details.
tool.custy.initializationSet default replacement and prompt behavior for custy init. Details.
tool.custy.editorChoose environment, platform, and container editor precedence. Details.
tool.custy.commit.validationSelect built-in, automatic, Commitizen, or basic Git message validation. Details.
tool.custy.cliConfigure versioning, paths, templates, execution, push, cleanup, changelog, and experimental workflow defaults. Details.
tool.custy.loggingConfigure Rich console and rotating file logging. Details.
tool.custy.changelogControl collection, cleaning, release behavior, links, mappings, rendering, and advanced loaded settings. Details.
tool.custy.gitConfigure remote groups and service-level push selection. Details.

Resolution Contract

The primary ConfigLoader.resolve() contract is:

  1. Use a non-None CLI value.
  2. Otherwise use the nested configuration value.
  3. Otherwise use the resolver's built-in default.
  4. Raise ConfigurationError when the caller marks the value required and no value can be resolved.

Individual resolvers may normalize values, invert a negative flag, or apply command-specific validation after this general sequence. Always use the detailed property page when exact fallback behavior matters.


Lifecycle and Cache Boundary

  • custy init copies the packaged app/templates/config.toml resource into the current project's .config/custy/config.toml path.
  • After creation, the project copy belongs to the user and may be edited.
  • ConfigLoader extracts only the [tool.custy] subtree.
  • The shared get_config() loader caches one instance per process. Editing the file during a running Custy process does not refresh that instance.
  • Relative paths are interpreted from the process working directory unless a specific resolver documents a different boundary.
  • Changelog configuration is mapped into dedicated typed dataclasses by ChangelogConfigResolver.


Continue