Expand description
§bonds-core
Core library for creating and managing bonds (symlink-based directory links) backed by SQLite persistence.
§Quick example
use bonds_core::{BondError, BondManager};
use std::path::PathBuf;
// `BondManager::new(None)` uses ~/.bonds/bonds.db by default.
let manager = BondManager::new(None)?;
let source = PathBuf::from("/path/to/source");
let target = PathBuf::from("/path/to/target-link");
// This creates a symlink on disk and persists the record in SQLite.
let _bond = manager.create_bond(source, target, Some("my-bond".to_string()))?;Re-exports§
pub use bond::Bond;pub use config::BondsConfig;pub use error::BondError;pub use error::ErrorKind;pub use events::BondBrokenReason;pub use events::BondEvent;pub use events::BondEventHook;pub use events::BondEventKind;pub use events::BondEventPayload;pub use manager::BondManager;pub use query::BondQuery;pub use query::MetadataFilter;
Modules§
- bond
- Bond domain model types (for example,
Bond). - config
- User configuration loading/saving (
~/.bonds/config.toml). - error
- Public error types returned by this crate.
- events
- Event and hook types for lifecycle notifications.
- manager
- High-level manager for bond lifecycle operations.
- query
- Query builder types for filtering bonds.