1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//! Sync command implementation with provider-based architecture.
//!
//! This module provides a trait-based system for syncing different types of
//! generated files from CUE configuration:
//! - Cube-generated files
//! - CI workflow files
//! - Rules files (ignore, editorconfig, codeowners via .rules.cue)
//!
//! # Architecture
//!
//! The sync system uses a provider pattern where each type of sync operation
//! implements the `SyncProvider` trait. Providers are registered with a
//! `SyncRegistry` which handles collective operations like `cuenv sync -A`.
//!
//! # Example
//!
//! ```rust,ignore
//! use cuenv::commands::sync::{default_registry, SyncOptions};
//!
//! let registry = default_registry();
//! let options = SyncOptions::default();
//!
//! // Sync all providers
//! registry.sync_all(&path, "cuenv", &options, true, &executor).await?;
//!
//! // Sync specific provider
//! registry.sync_provider("codegen", &path, "cuenv", &options, true, &executor).await?;
//! ```
// Re-export formatter functions for use by the fmt command
pub use ;
// Re-export for external use (e.g., tests)
pub use ;
pub use ;
pub use default_registry;
// Re-export for extensibility
pub use ;
pub use SyncRegistry;