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 binaries for all target platforms via GoReleaser:
| Platform | Binary Name |
|---|---|
Linux amd64 |
|
Linux arm64 |
|
macOS amd64 |
|
macOS arm64 (Apple Silicon) |
|
Windows amd64 |
|
Installation
# Direct download (example for Linux amd64) curl -L https://github.com/docToolchain/Bausteinsicht/releases/latest/download/bausteinsicht-linux-amd64 -o bausteinsicht chmod +x 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.