Skip to main content

intentional_core/
lib.rs

1// ---
2// relationships:
3//   implements: intent-driven-polyglot-release
4// ---
5
6//! Core model and release operations for `intentional`.
7
8pub mod adapters;
9pub mod apply;
10pub mod check;
11pub mod config;
12pub mod error;
13pub mod init;
14pub mod intent;
15pub mod model;
16pub mod plan;
17pub mod stamp;
18pub mod status;
19pub mod tag;
20pub mod version;
21
22pub use apply::{ApplyResult, FileWrite};
23pub use check::check_workspace;
24pub use config::{
25    Config, DiscoveryConfig, ExcludedPathReceipt, ManagedPathReceipt, Projection,
26    ReleaseUnitConfig, Settings, TagConfig, WorkspaceTagConfig, CONFIG_PATH, CURRENT_CONTRACT,
27};
28pub use error::{Error, Result};
29pub use init::{
30    discover_config, initialize, CandidateProjectionSuggestion, CandidateResolution,
31    CandidateTagSuggestion, ConvertedIntent, DiscoveryCandidate, ExtractionDiagnostic,
32    InitDiagnostic, InitPlan, InitResult, InitState, ParityReleaseUnit, ParityResult,
33    RawVersionEvidence, SourceEvidence, INIT_PLAN_PATH,
34};
35pub use intent::{Intent, IntentDraft, IntentWrite, INTENTS_PATH};
36pub use model::{
37    Adapter, Bump, Pre1BumpMapping, ProjectionMode, ReleaseUnitDisposition, TagPhase, TagRole,
38};
39pub use plan::{
40    canonical_json, render_changelog_section, sha256_digest, ChangelogEntry, Generator,
41    PlanReleaseUnit, PlanTag, ReleasePlan,
42};
43pub use stamp::StampResult;
44pub use status::{
45    Drift, ReleaseUnitStatus, WorkspaceStatus, MISSING_BASELINE_CODE, MISSING_BASELINE_NEXT_ACTION,
46};
47pub use tag::{tag_record_issues, PlannedTag, TagResult};
48pub use version::{
49    aggregate_bumps, bump_version, bump_version_with_mapping, effective_bumps, resolve_versions,
50    ReleaseUnitVersion, VersionRepository,
51};
52
53/// Version of the core release model.
54pub const VERSION: &str = env!("CARGO_PKG_VERSION");