Skip to main content

Crate governor_core

Crate governor_core 

Source
Expand description

§cargo-governor core library

This library provides the core domain and application logic for cargo-governor, a Machine-First, LLM-Ready, CI/CD-Native release automation tool for Rust crates.

§Architecture

The library follows Clean Architecture principles with four layers:

  1. Domain Layer - Pure business entities and value objects
  2. Traits - Core abstractions for external dependencies
  3. Application Layer - Workflow engine, version analysis, changelog generation
  4. Infrastructure - Adapters for Git, Registry, etc. (separate crates)

§Modules

  • domain - Core domain entities (Version, Crate, Commit, Release, etc.)
  • traits - Core traits for external dependencies

Re-exports§

pub use domain::changelog::Changelog;
pub use domain::changelog::ChangelogEntry;
pub use domain::changelog::ChangelogSection;
pub use domain::commit::Commit;
pub use domain::commit::CommitHistory;
pub use domain::commit::CommitType;
pub use domain::release::Release;
pub use domain::release::ReleasePlan;
pub use domain::release::ReleaseStatus;
pub use domain::version::BumpType;
pub use domain::version::SemanticVersion;
pub use domain::version::VersionRecommendation;
pub use domain::workspace::WorkingTreeStatus;
pub use domain::workspace::WorkspaceMetadata;
pub use traits::checkpoint_store::Checkpoint;
pub use traits::checkpoint_store::CheckpointStore;
pub use traits::checkpoint_store::WorkflowState;
pub use traits::registry::Registry;
pub use traits::registry::RegistryError;
pub use traits::source_control::ScmError;
pub use traits::source_control::SourceControl;
pub use traits::version_strategy::AnalysisContext;
pub use traits::version_strategy::VersionStrategy;
pub use traits::workflow_step::ErrorHandlingStrategy;
pub use traits::workflow_step::WorkflowContext;
pub use traits::workflow_step::WorkflowMetrics;
pub use traits::workflow_step::WorkflowStep;

Modules§

domain
Domain entities for cargo-governor
traits
Core traits for cargo-governor

Enums§

Error
Main error type

Constants§

VERSION
Library version

Type Aliases§

Result
Result type alias