aimdb-codegen 0.1.0

Code generation library for AimDB architecture agent — reads state.toml and emits Mermaid diagrams and Rust source
Documentation

AimDB Codegen — architecture state to Mermaid and Rust source

This library reads .aimdb/state.toml (the architecture agent's decision record) and emits two artefacts:

  • Mermaid diagram.aimdb/architecture.mermaid, a read-only graph projection of the architecture (see [generate_mermaid])
  • Rust sourcesrc/generated_schema.rs, compilable AimDB schema using the actual 0.5.x API (see [generate_rust])

Usage

use aimdb_codegen::{ArchitectureState, generate_mermaid, generate_rust, validate};

let toml = r#"
[meta]
aimdb_version = "0.5.0"
created_at = "2026-02-22T14:00:00Z"
last_modified = "2026-02-22T14:00:00Z"

[[records]]
name = "Temperature"
buffer = "SpmcRing"
capacity = 128
key_prefix = "sensor."
key_variants = ["room1"]
producers = ["sensor_task"]
consumers = ["dashboard"]

[[records.fields]]
name = "celsius"
type = "f64"
description = "Temperature in Celsius"
"#;

let state = ArchitectureState::from_toml(toml).unwrap();

let errors = validate(&state);
assert!(errors.iter().all(|e| e.severity != validate::Severity::Error));

let mermaid = generate_mermaid(&state);
assert!(mermaid.contains("flowchart LR"));

let rust = generate_rust(&state);
assert!(rust.contains("pub struct TemperatureValue"));