Skip to main content

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;