Crate rsenv

Crate rsenv 

Source
Expand description

rsenv: Unified development environment manager

This library provides the core functionality for rsenv, consolidating:

  • Hierarchical environment variable management (rsenv v1)
  • File guarding with symlinks (confguard)
  • File swap-in/out (rplc)

§Architecture

The crate follows clean architecture with layered error types:

  • domain: Core entities and business rules
  • application: Services orchestrating domain logic
  • infrastructure: I/O implementations and DI container
  • cli: Command-line interface

§Example

use rsenv::config::Settings;
use rsenv::infrastructure::di::ServiceContainer;

let settings = Settings::load(None).unwrap();
let container = ServiceContainer::new(settings);

Re-exports§

pub use config::Settings;
pub use domain::EnvFile;
pub use domain::GuardedFile;
pub use domain::Project;
pub use domain::SwapFile;
pub use domain::SwapState;
pub use domain::Vault;
pub use infrastructure::di::ServiceContainer;

Modules§

application
Application layer: services and use cases
cli
CLI layer: argument parsing and command dispatch
config
Configuration management with layered loading
domain
Domain layer: entities and business logic
exitcode
Standard exit codes (BSD sysexits.h compatible)
infrastructure
Infrastructure layer: I/O implementations and DI container