This repository has been archived on 2026-10-08. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
maestro/crates/maestro-config/Cargo.toml
T
naps62-yolo bc9279b7ae feat(maestro): add maestro-config crate with unified TOML schema (NAP-233)
Introduces the shared on-disk schema that all binaries (CLI, daemon,
registry) will load from `~/.config/maestro/config.toml`. Sections:

  [shared]    registry_url, token  — consumed by 2+ binaries
  [cli]       cookie
  [daemon]    daemon_id, hostname, daemon_url, bind_addr, state_dir, worktree_root
  [registry]  bind_addr

Exposes:
- MaestroConfigFile { shared, cli, daemon, registry } with strict load,
  load-or-default, atomic save, and per-section empty-table suppression.
- default_config_path() / resolve_config_path() honoring MAESTRO_CONFIG.
- derive_daemon_ws_url() for the daemon's scheme-swap + /daemon suffix
  off the shared http(s):// base URL.
- ConfigError::MissingFile with a hard-cutover message pointing the user
  at `maestrod configure` (legacy paths are no longer read).

Consumers wired in follow-up commits.
2026-05-26 09:21:41 +00:00

17 lines
318 B
TOML

[package]
name = "maestro-config"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
publish.workspace = true
[dependencies]
dirs.workspace = true
serde.workspace = true
thiserror.workspace = true
toml.workspace = true
[dev-dependencies]
tempfile.workspace = true