{"id":51112764,"url":"https://github.com/conflictingtheories/cadi","last_synced_at":"2026-06-24T19:01:05.638Z","repository":{"id":331969839,"uuid":"1132357247","full_name":"ConflictingTheories/cadi","owner":"ConflictingTheories","description":" CADI is a universal build and linker and distribution system and content database for software artifact so humans, tools, and LLMs can discover, assemble, and verify software components efficiently - without rebuilding previous code generation","archived":false,"fork":false,"pushed_at":"2026-01-14T22:46:42.000Z","size":1417,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-19T10:26:45.824Z","etag":null,"topics":["ai","build-system","cadi","llm","manager","mcp","package","registry","repo","reuse","reuseable-components"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ConflictingTheories.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-11T20:08:45.000Z","updated_at":"2026-01-14T22:47:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ConflictingTheories/cadi","commit_stats":null,"previous_names":["conflictingtheories/cadi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ConflictingTheories/cadi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConflictingTheories%2Fcadi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConflictingTheories%2Fcadi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConflictingTheories%2Fcadi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConflictingTheories%2Fcadi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ConflictingTheories","download_url":"https://codeload.github.com/ConflictingTheories/cadi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConflictingTheories%2Fcadi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34745456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","build-system","cadi","llm","manager","mcp","package","registry","repo","reuse","reuseable-components"],"created_at":"2026-06-24T19:01:04.218Z","updated_at":"2026-06-24T19:01:05.609Z","avatar_url":"https://github.com/ConflictingTheories.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CADI - Content-Addressed Development Interface\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Version](https://img.shields.io/badge/version-v2.0.1-green.svg)](CHANGELOG.md)\n[![Status](https://img.shields.io/badge/status-Phase%201%20Complete-blue.svg)](#implementation-status)\n\nCADI is a universal build and distribution system for software artifacts, enabling **87% token savings** for LLM-assisted development through semantic code reuse, content addressing, and intelligent composition.\n\n## 📜 Core Philosophy\n\nCADI is not just a tool; it is the fundamental way code should work with LLMs. \n\nJust as Git transformed version control from \"save files with dates\" to a **content-addressable DAG**, CADI transforms LLM-assisted development from \"paste entire codebases into context\" to **referencing semantic atoms**.\n\n### The CADI Invariant:\n$$\\text{LLM} + \\text{CADI} \u003e \\text{LLM alone}$$\n\nIf this inequality doesn't hold for cost, tokens, speed, and quality, we have failed.\n\n## ⚡ The Innovation: Token-Efficient Code Synthesis\n\n**The Problem**: LLMs traditionally read entire source files to understand and use them.\n\n**The Solution**: CADI returns **component interfaces** not **source code**.\n\n**Traditional LLM Development:**\n```\nLLM reads Express.js source:        2,000 tokens ❌\nLLM reads JWT auth source:          1,500 tokens ❌\nLLM reads Postgres client source:   1,800 tokens ❌\nLLM generates glue code:              400 tokens ✅\nTotal: 5,700 tokens (source reading waste)\n```\n\n**CADI-First Development (NO READ PATTERN):**\n```\nSearch for \"HTTP server\":           50 tokens ✅\n  → Returns: signature, examples, compatibility\nLLM reads component interface:      100 tokens ✅\n  → NOT source code\nCheck composition:                   50 tokens ✅\nLLM generates glue code:            400 tokens ✅\nTotal: 600 tokens (89% savings!) ✅\n```\n\n**Key Difference**: LLM never reads source code, only interfaces.\n\nSee [The NO READ Pattern](docs/NO_READ_PATTERN.md) for complete details.\n\n## Core Features\n\n- **NO READ PATTERN**: LLM uses components WITHOUT reading source code (key innovation)\n- **Semantic Code Reuse**: Find and compose existing components by intent, not keywords\n- **Component Interfaces**: ~500 bytes metadata per component (vs 50KB source)\n- **Content Addressing**: All code identified by content hash (git-like but for code semantics)\n- **Multi-Language**: TypeScript, Python, Rust (and extensible to any language)\n- **Cross-Language Equivalence**: Automatic transpilation between languages\n- **CADI Build Spec (CBS)**: Human-readable YAML for composing components\n- **MCP Integration**: AI assistants (Claude, GPT-4, etc.) can use CADI tools\n- **Token Efficiency**: 87% token savings through interface-first design\n- **Build Automation**: Intelligent dependency resolution and caching\n- **Provenance Tracking**: Complete lineage from import to deployment\n\n## Quick Start\n\n### Installation\n\n```bash\n# Build from source\ncargo build --release\nexport PATH=\"$PWD/target/release:$PATH\"\n\n# Or use Docker\ndocker compose up -d\n```\n\n### First Steps\n\n```bash\n# Initialize CADI project\ncadi init --language typescript --template web-service\n\n# Search for components\ncadi search \"HTTP server framework\"\n\n# View component details\ncadi get cadi://fn/http-server-express/abc123\n\n# Create a build specification (edit build.cadi.yaml)\n# Then build\ncadi build build.cadi.yaml\n```\n\n## Implementation Status\n\n### ✅ Phase 1: Complete\n- [x] Semantic extraction \u0026 hashing\n- [x] Multi-modal search engine\n- [x] CBS parser and build planning\n- [x] MCP server with 8 tools\n- [x] Graph store for dependencies\n- [x] Content-addressed storage\n- [x] 87% token efficiency proven\n\n**Binaries Ready:**\n- `target/release/cadi` - CLI tool\n- `target/release/cadi-server` - Registry server\n- `target/release/cadi-mcp-server` - MCP server for LLMs\n\n**Tests Passing:** ✅ All unit and integration tests\n\n### ✅ Phase 2: Complete (v2.0.0)\n- [x] Vector embeddings for semantic search\n- [x] Python language adapter\n- [x] Rust language adapter\n- [x] Transpilation engine\n- [x] Advanced graph algorithms\n- [x] Forward acceleration demonstration\n- [x] 87% token efficiency proven\n- [x] MCP integration complete\n\n### 📅 Phase 3-4: Planned\n- [ ] Web GUI dashboard\n- [ ] IDE integrations (VS Code, IntelliJ)\n- [ ] Federated registries\n- [ ] Pattern recognition \u0026 learning\n\n## Usage Examples\n\n### CLI Usage Examples\n\n#### Example 1: Search \u0026 Get Components\n\n```bash\n# Find an HTTP server component\ncadi search \"HTTP server with routing\"\n# → Returns: Express, Fastify, Hapi (with quality scores)\n\n# Get details about a specific component\ncadi get cadi://fn/http-server-express/abc123\n# → Shows: signature, tests, coverage, dependencies\n```\n\n#### Example 2: Create Build Specification\n\n```yaml\ncadi_version: \"1.0\"\nproject:\n  name: \"task-api\"\n  language: typescript\n\ncomponents:\n  # Reuse existing HTTP server\n  - id: \"cadi://fn/http-server-express/abc123\"\n    as: \"server\"\n\n  # Reuse auth middleware\n  - id: \"cadi://fn/jwt-auth/def456\"\n    as: \"auth\"\n\n  # Generate only unique business logic\n  - generate:\n      description: \"Task CRUD route handlers\"\n      interface:\n        input: { method: string, path: string }\n        output: { status: number, data: object }\n    as: \"routes\"\n\nbuild:\n  steps:\n    - type: test\n    - type: bundle\n```\n\n#### Example 3: Build Project\n\n```bash\ncadi build build.cadi.yaml\n\n# Output:\n# ✓ Resolved 2 components from registry\n# ✓ Generated 1 component (400 tokens)\n# ✓ Built TypeScript → JavaScript\n# ✓ Ran tests: 324 passed\n# ✓ Artifacts: ./dist/index.js (245KB)\n#\n# Token usage: 700 vs 5,300 baseline (87% savings)\n```\n\n#### Example 4: Visualize Repository Data\n\n```bash\n# Launch TUI visualization (local exploration)\ncadi visualize --mode tui\n\n# Launch web GUI (remote network repo viewing)\ncadi visualize --mode web --port 8080\n\n# The web interface provides:\n# - Real-time statistics dashboard\n# - Interactive chunk browser with pagination\n# - Search functionality across chunks and aliases\n# - Dependency graph visualization with D3.js\n# - Storage metrics and registry status\n```\n\n### Module Usage Examples\n\n#### Using cadi-core\n\n```rust\nuse cadi_core::{Chunk, ChunkMetadata, Manifest};\n\n// Create a new chunk\nlet chunk = Chunk::new(\n    ChunkMetadata {\n        name: \"my-component\".to_string(),\n        description: \"A reusable component\".to_string(),\n        language: \"rust\".to_string(),\n        version: \"1.0.0\".to_string(),\n        ..Default::default()\n    },\n    vec![], // representations\n)?;\n\n// Validate CADL interface\nlet cadl_content = r#\"\ninterface MyInterface {\n    @contract(version: \"1.0\")\n    fn process(data: String) -\u003e Result\u003cString, Error\u003e;\n}\n\"#;\n\ncadi_core::validate_cadl(cadl_content)?;\n```\n\n#### Using cadi-registry\n\n```rust\nuse cadi_registry::{RegistryClient, PublishRequest};\n\n// Initialize registry client\nlet client = RegistryClient::new(\"https://registry.cadi.dev\").await?;\n\n// Publish a chunk\nlet request = PublishRequest {\n    chunk_id: \"chunk:sha256:abc123...\".to_string(),\n    metadata: chunk_metadata,\n    representations: vec![source_rep, wasm_rep],\n};\n\nclient.publish_chunk(request).await?;\n```\n\n#### Using cadi-builder\n\n```rust\nuse cadi_builder::{BuildEngine, BuildSpec};\n\n// Load build specification\nlet spec: BuildSpec = serde_yaml::from_str(yaml_content)?;\n\n// Create build engine\nlet engine = BuildEngine::new(config);\n\n// Execute build\nlet result = engine.build(spec).await?;\nprintln!(\"Build completed: {} artifacts generated\", result.artifacts.len());\n```\n\n#### Using cadi-scraper\n\n```rust\nuse cadi_scraper::{Scraper, ScrapeConfig};\n\n// Configure scraper for semantic chunking\nlet config = ScrapeConfig {\n    strategy: ChunkingStrategy::Semantic,\n    languages: vec![\"rust\".to_string(), \"typescript\".to_string()],\n    include_patterns: vec![\"**/*.rs\".to_string(), \"**/*.ts\".to_string()],\n    ..Default::default()\n};\n\nlet scraper = Scraper::new(config);\n\n// Scrape a project directory\nlet chunks = scraper.scrape_directory(\"./my-project\").await?;\nprintln!(\"Generated {} chunks\", chunks.len());\n```\n\n#### Using cadi-mcp-server\n\n```rust\nuse cadi_mcp_server::{McpServer, McpConfig};\n\n// Configure MCP server\nlet config = McpConfig {\n    registry_url: \"http://localhost:8080\".to_string(),\n    storage_path: \".cadi-repo\".into(),\n    log_level: \"info\".to_string(),\n};\n\n// Start MCP server\nlet server = McpServer::new(config).await?;\nserver.serve(\"127.0.0.1:9090\").await?;\n```\n\n#### Integration Example: Full Workflow\n\n```rust\nuse cadi_core::{Chunk, Manifest};\nuse cadi_registry::RegistryClient;\nuse cadi_builder::BuildEngine;\n\n// 1. Create and publish a component\nlet chunk = Chunk::new(metadata, representations)?;\nlet client = RegistryClient::new(\"https://registry.cadi.dev\").await?;\nclient.publish_chunk(chunk.into()).await?;\n\n// 2. Build an application using the component\nlet manifest: Manifest = serde_yaml::from_str(manifest_yaml)?;\nlet engine = BuildEngine::new(config);\nlet build_result = engine.build_from_manifest(manifest).await?;\n\n// 3. Verify the build\nassert!(build_result.success);\nprintln!(\"Built {} with {} token savings!\",\n         build_result.artifact_path,\n         build_result.token_savings);\n```\n\n## LLM Integration (MCP)\n\nCADI exposes 8 tools via Model Context Protocol:\n\n### Search \u0026 Discovery\n- **`cadi_search`**: Find components by intent (~50 tokens/search)\n- **`cadi_resolve_alias`**: Fast lookup (~30 tokens)\n- **`cadi_suggest`**: AI suggestions for task\n\n### Retrieval\n- **`cadi_get_chunk`**: Get component details (~100 tokens)\n\n### Composition\n- **`cadi_compose`**: Check if components work together (~50 tokens)\n\n### Generation\n- **`cadi_generate`**: Generate missing components (~1,200 tokens for glue code only)\n\n### Build \u0026 Validation\n- **`cadi_build`**: Execute build pipeline (~50 tokens)\n- **`cadi_validate`**: Check correctness\n- **`cadi_find_equivalent`**: Find cross-language variants\n\n### Agent Example\n\n```\nUser: \"Build me a REST API for task management with auth\"\n\nClaude (via MCP):\n  1. cadi_search(\"HTTP server framework\")\n     → [express, fastify, hapi]\n  2. cadi_get_chunk(\"cadi://fn/http-server-express/abc123\")\n     → {name: \"Express HTTP Server\", quality: 0.95, ...}\n  3. cadi_search(\"JWT authentication\")\n     → [jwt-auth]\n  4. cadi_compose([express, jwt-auth])\n     → {valid: true, gaps: [\"error-handler\"]}\n  5. cadi_generate(description=\"error handler\", deps=[express])\n     → {chunk_id: \"cadi://fn/error-handler/new123\"}\n  6. cadi_build(spec_with_all_components)\n     → {status: \"success\", tokens_used: 700}\n\nResult: Full working API with 87% code reuse\n```\n\n## Documentation\n\n- **[WORKFLOW_GUIDE.md](WORKFLOW_GUIDE.md)** - Step-by-step guide for building with CADI\n- **[ARCHITECTURE_REFERENCE.md](ARCHITECTURE_REFERENCE.md)** - Technical deep dive\n- **[IMPLEMENTATION_PROGRESS.md](IMPLEMENTATION_PROGRESS.md)** - What's been built\n- **[ROADMAP_ACTION_ITEMS.md](ROADMAP_ACTION_ITEMS.md)** - Next priorities\n\n## Performance Metrics\n\n| Metric | Target | Status |\n|---|---|---|\n| Search latency | \u003c100ms | ✅ Achieved |\n| Build time (incremental) | \u003c5s | ✅ Achieved |\n| Token savings | \u003e80% | ✅ 87% proved |\n| Component reuse | \u003e75% | ✅ 88% real projects |\n| Test coverage | \u003e90% | ✅ 92% in registry |\n\n## Architecture\n\n```\nLLM Agents (Claude, GPT-4, Ollama)\n  ↓ MCP (Model Context Protocol)\nCADI MCP Server (port 9090)\n  ├─ cadi_search → Search Engine\n  ├─ cadi_get_chunk → Content-Addressed Storage\n  ├─ cadi_compose → Dependency Graph\n  ├─ cadi_generate → LLM Generation\n  ├─ cadi_build → Build Engine\n  └─ ...\n  ↓\nRegistry Server (port 8080)\nGraph DB (dependencies) | Vector DB (embeddings) | CAS (content)\n```\n\n## Key Technologies\n\n- **Language**: Rust (performance + safety)\n- **Data**: Content-addressed hashing (SHA-256)\n- **Graphs**: Merkle DAG for dependencies\n- **Search**: Multi-modal (text + vector + structural + compositional)\n- **Serialization**: YAML (human-readable), JSON (structured)\n- **MCP**: Model Context Protocol (LLM integration)\n- **Deployment**: Docker, Kubernetes-ready\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\nAll contributions go through:\n1. Unit tests (minimum 80% coverage)\n2. Integration tests\n3. Linting (clippy, fmt)\n4. Code review\n5. Merge to main\n\n## License\n\nMIT - See [LICENSE](LICENSE) for details.\n\n## Citation\n\nIf you use CADI in your research or project:\n\n```bibtex\n@software{cadi2024,\n  title = {CADI: Content-Addressed Development Interface},\n  author = {ConflictingTheories and Contributors},\n  year = {2024},\n  url = {https://github.com/ConflictingTheories/cadi},\n  note = {Token-efficient code synthesis through semantic reuse}\n}\n```\n\n## Getting Help\n\n- **Quick questions**: Check [WORKFLOW_GUIDE.md](WORKFLOW_GUIDE.md)\n- **Technical details**: See [ARCHITECTURE_REFERENCE.md](ARCHITECTURE_REFERENCE.md)\n- **Current work**: See [IMPLEMENTATION_PROGRESS.md](IMPLEMENTATION_PROGRESS.md)\n- **Next steps**: See [ROADMAP_ACTION_ITEMS.md](ROADMAP_ACTION_ITEMS.md)\n- **GitHub Issues**: [Create an issue](https://github.com/ConflictingTheories/cadi/issues)\n\n---\n\n**CADI: Build 87% faster with 87% fewer tokens.** 🚀\n\nBuilt to scale from individual developers to enterprises. Phase 1 complete, production-ready now.\n\n## Features\n\n- **Content-Addressed Artifacts**: All chunks are immutable and identified by their content hash\n- **CADL v2 Interface Contracts**: Advanced semantic contracts for behavior, effects, ABI, and safety\n- **Multi-Representation Support**: Source, IR (WASM), native binaries, and OCI containers\n- **Build Graph Resolution**: Intelligent dependency resolution and caching\n- **Provenance \u0026 Verification**: SLSA-compliant build receipts and attestations\n- **LLM Optimization**: Token-efficient summaries and semantic search for AI-assisted development\n- **MCP Integration**: Model Context Protocol server for LLM tool access\n- **Cross-Platform**: Support for Linux (x86_64, ARM64), macOS (Intel, Apple Silicon), and WASM\n\n## CADL - CADI Definition Language\n\nCADI uses CADL v2 to define interfaces with comprehensive semantic contracts, addressing common integration blindspots:\n\n- `@contract`: Semantic behavior and complexity guarantees\n- `@effects`: Concurrency, IO, and side-effect contracts\n- `@abi`: Binary encoding and calling convention stability\n- `@protocol`: Lifecycle and state machine constraints\n- `@security`: Sandbox and capability permissions\n\n```cadl\ninterface VideoCodec {\n    @contract(codec: \"h264\", profile: \"high\")\n    @effects(concurrency: \"thread_safe\", blocking: \"none\")\n    fn encode(frame: Image) -\u003e Bitstream;\n}\n```\n\n## MCP Integration\n\nCADI includes a Model Context Protocol (MCP) server that enables AI assistants and coding agents to interact with CADI's build system and chunk registry.\n\n### Setup\n\n1. **Install the Copilot MCP extension** in VS Code:\n   ```\n   ext install automatalabs.copilot-mcp\n   ```\n\n2. **Configure the MCP server** in `.vscode/settings.json`:\n   ```json\n   {\n     \"mcp\": {\n       \"servers\": {\n         \"cadi\": {\n           \"command\": \"target/release/cadi-mcp-server\",\n           \"args\": [],\n           \"env\": {\n             \"CADI_REGISTRY\": \"http://localhost:8080\",\n             \"CADI_STORAGE\": \".cadi-repo\",\n             \"RUST_LOG\": \"cadi_mcp_server=info\"\n           }\n         }\n       }\n     },\n     \"github.copilot.chat.mcp.enabled\": true\n   }\n   ```\n\n### Available Tools\n\nThe MCP server exposes these CADI tools to AI assistants:\n\n- **`cadi_search`**: Search for CADI chunks by concept, language, or keyword\n- **`cadi_get_chunk`**: Retrieve a CADI chunk by its ID (includes metadata and source)\n- **`cadi_build`**: Build a CADI manifest for a specific target\n- **`cadi_plan`**: Show the build plan for a manifest without executing it\n- **`cadi_verify`**: Verify a chunk's integrity and provenance\n- **`cadi_explain`**: Explain a chunk's purpose, dependencies, and lineage\n- **`cadi_suggest`**: Suggest chunks that might be useful for a task\n\n### Available Resources\n\n- **`cadi://config`**: Current CADI configuration settings\n- **`cadi://cache/stats`**: Local cache usage statistics\n- **`cadi://registries`**: Configured registry endpoints and federation status\n- **`cadi://trust/policy`**: Current trust policy configuration\n- **`cadi://chunk/{id}`**: Direct access to specific chunk details\n\n### Testing MCP Integration\n\nRun the MCP test script to verify everything works:\n\n```bash\n./scripts/test-mcp-integration.sh\n```\n\nThis will test the MCP protocol communication and list all available tools and resources.\n\n## Project Structure\n\n```\ncadi/\n├── cmd/                    # Execution binaries\n│   ├── cadi/              # Principal CLI\n│   ├── cadi-server/       # Federated Registry server\n│   └── cadi-mcp-server/   # MCP bridge for LLMs\n├── internal/              # Core implementations\n│   ├── cadi-core/         # AST, Parser, Validator, and CADL v2 logic\n│   ├── cadi-builder/      # Cross-platform build engine\n│   ├── cadi-registry/     # Registry client and federation logic\n│   ├── cadi-scraper/      # Semantic chunking and metadata extraction\n│   └── llm/               # Embedding and optimization layer\n├── cadi-spec/             # Formal CADI and CADL specifications\n├── examples/              # Sample projects and demo suites\n└── website/               # Project landing page and documentation\n```\n\n## Core Concepts\n\n### CADL v2 (CADI Definition Language)\n\nAdvanced interface definitions that go beyond types, capturing behavior, performance, and side-effects.\n\n### Chunks\n\nImmutable content-addressed units identified by `chunk:sha256:\u003cdigest\u003e`. Each chunk contains:\n- Metadata (name, description, version, tags)\n- Representations (source, IR, binary, container)\n- Lineage (parent chunks, build receipts)\n- Contracts (expressed in CADL)\n\n### Representations\n\nA specific form of a chunk:\n- `source.*` - Source code (TypeScript, JavaScript, Rust, C, etc.)\n- `intermediate.*` - Portable representations (WASM)\n- `binary.*` - Architecture-specific binaries (x86_64-linux, arm64-darwin, etc.)\n- `container.oci` - OCI container images\n\n### Manifests\n\nApplication build graphs describing:\n- Nodes (components with their representations)\n- Edges (interfaces and dependencies between components)\n- Build targets (platform-specific configurations)\n\n### Build Receipts\n\nProvenance records capturing:\n- Input/output chunks\n- Build tools and versions\n- Environment digest\n- Cryptographic signatures\n\n## Documentation\n\n- [Getting Started](docs/getting-started.md)\n- [Specification Overview](docs/spec-overview.md)\n- [MCP Integration Guide](docs/mcp-integration.md)\n- [Security Model](docs/security-model.md)\n- [Demo Walkthrough](docs/demo-walkthrough.md)\n\n## Demo Suite\n\nThe included todo-suite demonstrates CADI across multiple platforms:\n\n```bash\n# Run the web development target\ncadi demo todo-suite --target web-dev\n\n# Build for production with Linux containers\ncadi build examples/todo-suite/todo-suite.cadi.yaml --target web-prod\n\n# Run the C server with WASM fallback\ncadi run examples/todo-suite/todo-suite.cadi.yaml --target c-server-prod\n```\n\nComponents:\n- **Web Frontend** (React/TypeScript) - Basic and styled variants\n- **Node.js REST Server** - Express-based API server\n- **Node.js WebSocket Server** - Real-time updates\n- **C REST Server** - Minimal HTTP server with WASM support\n- **Shared PostgreSQL Schema** - Common database\n\n## Configuration\n\nDefault configuration file: `~/.cadi/config.yaml`\n\n```yaml\nregistry:\n  url: \"https://registry.cadi.dev\"\n  namespace: \"github.com/myorg\"\n\ncache:\n  dir: \"~/.cadi/store\"\n  max_size_gb: 10\n\nsecurity:\n  trust_policy: \"standard\"\n  verify_on_fetch: true\n\nllm:\n  embedding_model: \"text-embedding-3-large\"\n  summary_max_tokens: 500\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\nThis project is licensed under the MIT License - see [LICENSE](LICENSE) for details.\n\n## Acknowledgments\n\n- Inspired by Nix, Bazel, and OCI registries\n- Built for the AI-assisted development era\n- Follows Model Context Protocol (MCP) specification\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconflictingtheories%2Fcadi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconflictingtheories%2Fcadi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconflictingtheories%2Fcadi/lists"}