init: archlens — architecture diagram generator
Some checks failed
CI / Check / Test (push) Failing after 1m24s

Hex arch + DDD, tree-sitter parsing, Mermaid/ASCII output.
Supports Rust + Python. 92 tests. CI, diff, --check for staleness detection.
This commit is contained in:
2026-06-16 16:13:04 +02:00
commit 35f27d00b0
106 changed files with 6744 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
[package]
name = "archlens-stdout-writer"
version = "0.1.0"
edition = "2024"
publish = false
[dependencies]
archlens-domain.workspace = true
thiserror.workspace = true
tracing.workspace = true

View File

@@ -0,0 +1,3 @@
mod stdout_output_writer;
pub use stdout_output_writer::StdoutOutputWriter;

View File

@@ -0,0 +1,24 @@
use archlens_domain::{DomainError, RenderOutput, ports::OutputWriter};
pub struct StdoutOutputWriter;
impl Default for StdoutOutputWriter {
fn default() -> Self {
Self::new()
}
}
impl StdoutOutputWriter {
pub fn new() -> Self {
Self
}
}
impl OutputWriter for StdoutOutputWriter {
fn write(&self, output: &RenderOutput) -> Result<(), DomainError> {
for file in output.files() {
println!("{}", file.content());
}
Ok(())
}
}

View File

@@ -0,0 +1,12 @@
use archlens_domain::{RenderOutput, RenderedFile, ports::OutputWriter};
use archlens_stdout_writer::StdoutOutputWriter;
#[test]
fn writes_without_error() {
let writer = StdoutOutputWriter::new();
let file = RenderedFile::new("arch.mmd", "classDiagram").unwrap();
let output = RenderOutput::single(file);
let result = writer.write(&output);
assert!(result.is_ok());
}