Crate ito_config

Crate ito_config 

Source
Expand description

Ito configuration loading and normalization.

ito-config owns the logic for reading configuration files (repo-local and global), applying precedence rules, and exposing a single resolved view to the rest of the workspace.

This crate is intentionally small: it does not perform domain operations. It only answers questions like “where is the Ito directory?” and “what are the effective settings for this run?”.

Modules§

defaults
Default config values and JSON serialization helpers. Default configuration constructors.
ito_dir
Resolve the Ito working directory name and path. Ito working directory discovery.
output
Console/UI behavior (color and interactivity) derived from CLI + env. UI-related option resolution.
schema
JSON schema generation for Ito configuration. JSON schema generation for Ito config.
types
Serde models for config.json. Serde models for Ito configuration.

Structs§

CascadingProjectConfig
Configuration loading and schema helpers. Merged project configuration along with provenance.
ConfigContext
Configuration loading and schema helpers. Process environment inputs for configuration resolution.
GlobalConfig
Configuration loading and schema helpers. Global (user-level) configuration.
ItoContext
Resolved context for a single invocation. Resolved configuration for a single invocation.
ProjectConfig
Configuration loading and schema helpers. Repo-local configuration.

Functions§

global_config_path
Configuration loading and schema helpers. Return the global configuration file path, if it can be determined.
ito_config_dir
Configuration loading and schema helpers. Return the global configuration directory (~/.config/ito or XDG equivalent).
load_cascading_project_config
Configuration loading and schema helpers. Load and merge project configuration sources in precedence order.
load_cascading_project_config_fs
Configuration loading and schema helpers. Like load_cascading_project_config, but uses an injected file-system.
load_global_config
Configuration loading and schema helpers. Load the global config file.
load_global_config_fs
Configuration loading and schema helpers. Like load_global_config, but uses an injected file-system.
load_project_config
Configuration loading and schema helpers. Load ito.json from project_root.
load_project_config_fs
Configuration loading and schema helpers. Like load_project_config, but uses an injected file-system.
load_repo_project_path_override
Configuration loading and schema helpers. Returns a repo-local projectPath override (Ito working directory name).
load_repo_project_path_override_fs
Configuration loading and schema helpers. Like load_repo_project_path_override, but uses an injected file-system.
project_config_paths
Configuration loading and schema helpers. Return the ordered list of configuration file paths consulted for a project.
resolve_coordination_branch_settings
Configuration loading and schema helpers. Resolve coordination branch settings from merged config JSON.

Type Aliases§

ResolvedConfig
Configuration loading and schema helpers. Alias used by consumers who only care about the resolved config output.