ckm/lib.rs
1//! CKM Core — the Single Source of Truth for all CKM language SDKs.
2//!
3//! This crate contains ALL CKM algorithms: types, engine, migration,
4//! validation, and formatting. It has zero FFI concerns. Language
5//! wrappers (napi-rs, PyO3, CGo) depend on this crate.
6//!
7//! # Quick Start
8//!
9//! ```rust
10//! use ckm::CkmEngine;
11//! use serde_json::json;
12//!
13//! let data = json!({
14//! "$schema": "https://ckm.dev/schemas/v2.json",
15//! "version": "2.0.0",
16//! "meta": {
17//! "project": "my-tool",
18//! "language": "rust",
19//! "generator": "hand-authored",
20//! "generated": "2026-01-01T00:00:00.000Z"
21//! },
22//! "concepts": [],
23//! "operations": [],
24//! "constraints": [],
25//! "workflows": [],
26//! "configSchema": []
27//! });
28//!
29//! let engine = CkmEngine::new(data);
30//! let index = engine.topic_index("my-tool");
31//! println!("{}", index);
32//! ```
33
34pub mod builder;
35pub mod engine;
36pub mod format;
37pub mod migrate;
38pub mod types;
39pub mod validate;
40
41// Re-exports for convenience
42pub use engine::CkmEngine;
43pub use migrate::{detect_version, migrate_v1_to_v2};
44pub use types::{
45 CanonicalType, CkmConcept, CkmConfigEntry, CkmConstraint, CkmErrorResult, CkmInput,
46 CkmInspectResult, CkmManifest, CkmMeta, CkmOperation, CkmOutput, CkmProperty, CkmTopic,
47 CkmTopicIndex, CkmTopicIndexEntry, CkmTypeRef, CkmValidationError, CkmValidationResult,
48 CkmWorkflow, CkmWorkflowStep, TopicJsonResult,
49};
50pub use validate::validate_manifest;
51pub use builder::CkmManifestBuilder;