Skip to main content

cli/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2//! Heddle: An AI-native version control system
3//!
4//! Heddle provides content-addressed storage, immutable history with stable change
5//! identifiers, and explicit agent attribution for AI-augmented development.
6
7#[cfg(not(any(feature = "git-overlay", feature = "native")))]
8compile_error!(
9    "At least one of the `git-overlay` or `native` features must be enabled. \
10     The OSS CLI ships as git-overlay-only, native-only, or both."
11);
12
13pub(crate) mod attribution;
14pub mod bench;
15pub mod cli;
16pub mod client;
17pub mod exit;
18pub mod extensions;
19pub mod harness;
20pub mod operation_id;
21pub mod perf;
22#[cfg(feature = "semantic")]
23pub mod semantic;
24pub mod ts_codegen;
25pub mod util;
26
27// Shared types now live in cli-shared (so heddle-client can depend on
28// them without a cli ↔ heddle-client cycle). Re-export under the
29// historical paths so internal code keeps working.
30pub use cli_shared::{
31    LogFormat, LoggingConfig, LoggingGuard, OutputMode, config, init_logging, init_logging_default,
32    is_enabled, log_operation, log_repo_event, logging, remote,
33};
34pub use objects::{
35    error::{HeddleError, HeddleError as StoreError},
36    store::ObjectStore,
37};
38pub use repo::Repository;
39pub type StoreResult<T> = objects::error::Result<T>;
40
41#[cfg(test)]
42mod object_graph_tests;