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.
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 |
|---|---|
|
The compiled binary, distributed via GitHub Releases for Linux, macOS, Windows (amd64 + arm64) |
|
Compiled into the same binary. No separate deployment. |
JSON Schema |
Published to GitHub (raw URL) and referenced via |
Template |
Bundled as a Go embed resource in the binary for |
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 |
|
Linux arm64 |
|
Linux arm (v7) |
|
macOS amd64 |
|
macOS arm64 (Apple Silicon) |
|
Windows amd64 |
|
Windows arm64 |
|
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.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.