Deployment View

Infrastructure Level 1

Bausteinsicht is a single-binary CLI tool that runs on the developer’s local machine. There is no server, no database, and no network communication at runtime.

deployment overview

Motivation

Bausteinsicht intentionally has the simplest possible deployment: one binary, no dependencies. This directly serves the Learnability quality goal — download, run, be productive.

Quality and Performance Features

Feature Description

Startup time

< 10ms (native Go binary, no runtime to load)

Sync time

< 100ms for models with up to 200 elements (in-memory XML/JSON processing)

Binary size

~10-15 MB (single statically linked binary)

Zero dependencies

No runtime, no package manager, no database, no network

Mapping of Building Blocks to Infrastructure

Building Block Deployment

cmd/bausteinsicht

The compiled binary, distributed via GitHub Releases for Linux, macOS, Windows (amd64 + arm64)

internal/*

Compiled into the same binary. No separate deployment.

JSON Schema

Published to GitHub (raw URL) and referenced via $schema in model files. Downloaded once by the IDE.

Template

Bundled as a Go embed resource in the binary for init command. Users can override with a local template.

Distribution

GitHub Releases

Each tagged version produces compressed archives for all target platforms via GoReleaser. Archives are named bausteinsicht_v2.6.7_{Os}_{Arch}.tar.gz for Linux and macOS, .zip for Windows:

Platform Archive

Linux amd64

bausteinsicht_v2.6.7_linux_amd64.tar.gz

Linux arm64

bausteinsicht_v2.6.7_linux_arm64.tar.gz

Linux arm (v7)

bausteinsicht_v2.6.7_linux_arm.tar.gz

macOS amd64

bausteinsicht_v2.6.7_darwin_amd64.tar.gz

macOS arm64 (Apple Silicon)

bausteinsicht_v2.6.7_darwin_arm64.tar.gz

Windows amd64

bausteinsicht_v2.6.7_windows_amd64.zip

Windows arm64

bausteinsicht_v2.6.7_windows_arm64.zip

The authoritative build matrix is .goreleaser.yml: goos: [linux, darwin, windows] × goarch: [amd64, arm64, arm] (with goarm: 7). GoReleaser produces one archive per combination Go actually supports, skipping the rest (e.g. darwin/arm); the table above lists the primary targets and is not exhaustive. Each archive also ships with an SBOM (SPDX-JSON and CycloneDX-JSON); a checksums.txt covers all artifacts.

Installation

# Pick the archive for your platform from the releases page:
#   https://github.com/docToolchain/Bausteinsicht/releases/latest
# then download, unpack, and install (example: Linux amd64, release v1.2.3)
curl -L https://github.com/docToolchain/Bausteinsicht/releases/download/v1.2.3/bausteinsicht_1.2.3_linux_amd64.tar.gz -o bausteinsicht.tar.gz
tar -xzf bausteinsicht.tar.gz
sudo install -m 0755 bausteinsicht /usr/local/bin/bausteinsicht

# Or via Go install
go install github.com/docToolchain/Bausteinsicht/cmd/bausteinsicht@latest

Embedded Resources

The init command needs a default template and sample model. These are embedded into the binary using Go’s embed package:

//go:embed templates/default.drawio
var defaultTemplate []byte

//go:embed templates/sample-model.jsonc
var sampleModel []byte

This eliminates the need to distribute additional files alongside the binary.