cadi-core
Core types and utilities for the CADI (Content-Addressed Development Interface) system.
About CADI
CADI is a universal build and distribution system that treats all artifacts as content-addressed chunks. It enables:
- Multi-representation support: Source code → WASM IR → binaries → containers
- Content addressing: All artifacts identified by SHA256 hashes
- Registry federation: Distribute chunks across multiple registries with trust policies
- Provenance tracking: Security attestations and build receipts
- LLM optimization: Hierarchical summaries and semantic embeddings
cadi-core
This crate provides the foundational types and utilities used throughout the CADI ecosystem:
Core Types
- Chunk: Base unit of content-addressed data with metadata
- ChunkId: SHA256-based content identifiers
- Manifest: Collection metadata and dependency graphs
- ChunkMetadata: Title, description, keywords, author, license
- BuildReceipt: Build provenance and attestation
- SecurityAttestation: Signature and verification metadata
Features
- Serialization/deserialization with serde (JSON, YAML)
- UUID generation for tracking
- Timestamp handling with chrono
- Hash computation with SHA2
- Error handling with thiserror
Installation
Add this to your Cargo.toml:
[]
= "1.0"
Basic Usage
use ;
use HashMap;
// Create chunk metadata
let metadata = ChunkMetadata ;
// Create a chunk
let chunk = Chunk ;
Integration with Other CADI Crates
- cadi-builder: Build chunks from source code
- cadi-registry: Publish and retrieve chunks from registries
- cadi-scraper: Automatically scrape projects into chunks
Documentation
Full API documentation available at docs.rs/cadi-core
License
MIT License - See LICENSE file in the repository