cuenv_workspaces/core/mod.rs
1//! Core abstractions for workspace and dependency resolution.
2//!
3//! This module provides the fundamental traits and types for working with workspaces
4//! across different package managers. The architecture is built around:
5//!
6//! - **Traits** - Define the interface for discovery, parsing, and resolution
7//! - **Types** - Provide data structures for representing workspaces and dependencies
8//!
9//! # Trait-Based Architecture
10//!
11//! The trait-based design allows for clean separation of concerns and makes it easy
12//! to add support for new package managers by implementing the core traits:
13//!
14//! - [`WorkspaceDiscovery`] - How to find and validate workspace members
15//! - [`LockfileParser`] - How to parse package manager-specific lockfiles
16//! - [`DependencyResolver`] - How to build dependency graphs from workspace data
17
18pub mod traits;
19pub mod types;
20
21// Re-export all public items from submodules
22pub use traits::{DependencyResolver, LockfileParser, WorkspaceDiscovery};
23pub use types::{
24 DependencyRef, DependencySource, DependencySpec, LockfileEntry, PackageManager, Url, Version,
25 VersionReq, Workspace, WorkspaceMember,
26};