Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
π Oak C4 Model
Semantic Modeling for Modern Architecture β A high-performance, incremental C4 model semantic model built on the Oak framework. Optimized for architectural analysis, documentation generators, and intelligent software modeling tools.
π― Project Vision
The C4 model is a lean graphical notation technique for modelling the architecture of software systems. oak-c4 provides the semantic backbone for representing C4 models within the Oak ecosystem. Unlike simple parsers, oak-c4 focuses on the semantic relationships and structural integrity of the architecture model itself. By utilizing Oak's incremental capabilities, it enables real-time architectural validation and intelligent documentation updates. Whether you are building automated architecture compliance tools or sophisticated design-time analyzers, oak-c4 provides the robust semantic foundation you need.
β¨ Core Features
- β‘ Blazing Fast: Leverages Rust's performance for sub-millisecond semantic analysis.
- π Incremental by Nature: Built-in support for partial model updatesβre-validate only what has changed.
- π³ Semantic Tree: Generates a high-fidelity representation of the C4 hierarchy:
- Software Systems & People: First-class representation of top-level architectural elements.
- Containers & Components: Precise mapping of the internal structure of systems.
- Relationships: Deep tracking of semantic dependencies and interactions.
- π‘οΈ Robust Validation: Engineered to identify architectural inconsistencies and provide clear, actionable feedback.
- π§© Deep Ecosystem Integration: Seamlessly works with
oak-structurizrand other Oak modeling projects.
ποΈ Architecture
The model follows the Green/Red Tree architecture (inspired by Roslyn), which allows for:
- Efficient Immutability: Share nodes across different versions of the model without copying.
- Lossless Representation: Retains all semantic metadata and relationships.
- Type Safety: Strongly-typed "Red" nodes provide a convenient and safe API for model traversal and analysis.
π€ Contributing
We welcome contributions of all kinds! If you find a bug, have a feature request, or want to contribute code, please check our issues or submit a pull request.