Skip to main content

logicaffeine_cli/project/
mod.rs

1//! Phase 36/37/39: Project Module System
2//!
3//! Infrastructure for managing LOGOS projects.
4//!
5//! This module provides the foundational types for working with LOGOS projects,
6//! from manifest parsing through build orchestration to registry publishing.
7//!
8//! # Submodules
9//!
10//! | Module | Purpose |
11//! |--------|---------|
12//! | [`manifest`] | Parse and serialize `Largo.toml` manifests |
13//! | [`build`][mod@build] | Compile and run LOGOS projects |
14//! | [`credentials`] | Store and retrieve API tokens |
15//! | [`registry`] | Communicate with the package registry |
16//!
17//! # Re-exports
18//!
19//! This module re-exports common types for convenience:
20//!
21//! - **Manifest**: [`Manifest`], [`ManifestError`]
22//! - **Build**: [`build()`], [`run`], [`find_project_root`], [`BuildConfig`], [`BuildResult`], [`BuildError`]
23//! - **Credentials**: [`Credentials`], [`get_registry_token`]
24//! - **Registry**: [`RegistryClient`], [`create_tarball`], [`is_git_dirty`]
25//!
26//! # Module Loading
27//!
28//! The [`Loader`] and [`ModuleSource`] types are re-exported from the compile
29//! crate for loading LOGOS modules from various URI schemes.
30
31// Re-export Loader from compile crate (basic file/logos: schemes)
32pub use logicaffeine_compile::loader::{Loader, ModuleSource};
33
34// CLI-specific project modules
35pub mod manifest;
36pub mod build;
37pub mod credentials;
38pub mod registry;
39
40pub use manifest::{Manifest, ManifestError};
41pub use build::{build, find_project_root, run, BuildConfig, BuildError, BuildResult};
42pub use credentials::{Credentials, get_token as get_registry_token};
43pub use registry::{RegistryClient, create_tarball, is_git_dirty};