Configuration Reference
Configuration Reference
Map the shipped Reflow configuration to the commands and boundaries that consume it.
.config/reflow/config.tomlCategory
Quick Command
[tool.reflow.*]Resolution and ownership
When a setting has a matching CLI option, Reflow resolves it in this order:
- Explicit CLI argument
.config/reflow/config.toml- Internal default
The file created by reflow init belongs to the target project. Review it
before committing it, and do not place credentials or tokens in repository
URLs or image names.
Repository and Git
Target settings
| Property | Type | Description | Default | Required |
|---|---|---|---|---|
| path | Existing local directory. Relative values resolve from the invocation directory. | . | No |
| Git URL | Remote repository materialized in a managed temporary clone. Do not embed credentials. | unset | No |
| string | Remote name used for remote tag replacement and release-recovery pushes. | origin | No |
| Command | path target | url target | Persistent scope |
|---|---|---|---|
reflow init | Supported | Rejected | Project configuration files |
reflow tags convert local | Supported | Rejected | Local tag refs only |
reflow tags convert remote | Uses the checkout's remote | Uses a temporary clone | Guarded atomic remote push |
reflow releases recover | Uses the checkout's remote | Uses a temporary clone | Delete and re-push selected remote tags |
reflow dockerize | Uses the checkout as source | Uses a temporary clone as source | Docker and registry operations |
Registry values such as github.image and gitlab.image never select the Git
repository.
Shared CLI Execution
[tool.reflow.cli.execution]
| Property | Type | Description | Default | Required |
|---|---|---|---|---|
| boolean | Enable detailed diagnostic output when the CLI flag is omitted. | false | No |
| boolean | Simulate persistent local, remote, Docker, and registry mutations while allowing discovery and validation. | false | No |
[tool.reflow.cli.progress]
| Property | Type | Description | Default | Required |
|---|---|---|---|---|
| boolean | Show Rich spinners and progress bars. This changes presentation, not live or dry-run behavior. | true | No |
Initialization
[tool.reflow.initialization]
| Property | Type | Description | Default | Required |
|---|---|---|---|---|
| boolean | Default overwrite behavior for reflow init when --force/--no-force is omitted. | false | No |
| boolean | Prompt before supported creation or replacement decisions when --ask is omitted. | false | No |
These settings are consumed only by reflow init. The active command accepts
the all and config modes and requires a persistent local target.
Tag Conversion
[tool.reflow.cli.tags.convert]
| Property | Type | Description | Default | Required |
|---|---|---|---|---|
| semver | pep440 | Destination format shared by local and remote tag conversion when --to is omitted. | semver | No |
| boolean | Bypass the live replacement confirmation after the full plan is displayed. Dry-run never prompts. | false | No |
The same defaults feed reflow tags convert local and
reflow tags convert remote; the selected subcommand still controls whether
local or remote refs can change.
Release Recovery and the Deprecated Alias
[tool.reflow.cli.releases.recover]
| Property | Type | Description | Default | Required |
|---|---|---|---|---|
| integer >= 0 | Seconds between selected remote tag re-push operations. | 2 | No |
| boolean | Exclude prerelease tags when selecting releases to recover. | false | No |
| integer >= 1 | unset | Maximum number of selected missing-release tags. | unlimited | No |
--yes for reflow releases recover is intentionally CLI-only. Recovery
checks GitHub releases, then deletes and re-pushes selected remote tags to
retrigger tag-based CI/CD; it does not create release records through an API.[tool.reflow.cli.tags.replay] (deprecated)
Property Type Description Default Required delayinteger >= 0 Legacy fallback when the canonical recovery delay is not configured. 2 No only_stableboolean Legacy fallback for the canonical stable-only filter. false No limitinteger >= 1 | unset Legacy fallback for the canonical recovery limit. unlimited No
Keep legacy values only while migrating existing configuration. New
configuration and automation should use [tool.reflow.cli.releases.recover]
and reflow releases recover.
Docker and Registry Images
Container publishing
| Property | Type | Description | Default | Required |
|---|---|---|---|---|
| github | gitlab | both | Select which configured registry destinations reflow dockerize publishes to. | github | No |
| boolean | Keep all built tag images locally instead of removing non-latest images after push. | false | No |
| image name | GHCR destination, for example ghcr.io/acme/project. Required for github or both. | template placeholder | No |
| image name | GitLab Container Registry destination. Required for gitlab or both. | template placeholder | No |
reflow dockerize has no command-specific provider or image flags in Reflow
1.0.2; configure these values in TOML. Live mode builds and pushes one image
per repository tag, tags the latest ordered tag as latest, and may remove
non-latest local images.
Console and File Logging
[tool.reflow.logging]
| Property | Type | Description | Default | Required |
|---|---|---|---|---|
| log level | Console logging threshold; --log-level overrides it. | INFO | No |
| boolean | Enable Rich markup in console logging. | true | No |
| boolean | Enable Rich traceback rendering. | true | No |
| boolean | Show timestamps in console log records. | false | No |
| boolean | Show severity labels in console log records. | false | No |
| format string | Python logging format used for console records. | %(message)s | No |
[tool.reflow.logging.file]
| Property | Type | Description | Default | Required |
|---|---|---|---|---|
| log level | File logging threshold. | DEBUG | No |
| path | Directory for persistent logs. | logs | No |
| filename | Active log filename. | reflow.log | No |
| size | Rotate the log after this approximate size. | 10MB | No |
| integer | Number of rotated log files retained. | 5 | No |
| format string | Python logging format used for file records. | timestamp | level | logger | message | No |
Never include credentials, tokens, or secret-bearing URLs in configuration or diagnostic output.
Minimal Target Examples
[tool.reflow.repository]
path = "../project"
[tool.reflow.cli.tags.convert]
target_format = "semver"
yes = false[tool.reflow.repository]
url = "https://github.com/acme/project.git"
[tool.reflow.git]
default_remote = "origin"Do not combine the path and url examples in one active configuration.