Skip to content

paradigm-ehb/Blueprint

Repository files navigation

Blueprint

Blueprint is a configuration generator written in Go.
Its purpose is to define configuration once, in a structured and type-safe way, and generate concrete config files for multiple targets (formats, environments, machines) in a repeatable and auditable manner.

This project is currently unstarted. This README describes the intended scope, design constraints, and direction.


Problem Statement

Configuration sprawl typically results in:

  • Duplicated config files across environments
  • Drift between “almost identical” configs
  • Ad-hoc templating with weak validation
  • Runtime errors caused by malformed or partial configs

Blueprint aims to treat configuration as compiled output, not hand-written artifacts.


Goals

  • Single source of truth
  • Deterministic output
  • Static validation
  • Minimal magic
  • Explicit over implicit

Blueprint should feel closer to a compiler than a template engine.

High-Level Concept

  1. User defines a Blueprint (structured input)
  2. Blueprint is validated
  3. One or more concrete configuration files are generated

Blueprint Definition
↓
Validation
↓
Target Generators
↓
config.toml / config.yaml / config.json / …


Intended Features

Core

  • Typed configuration model (Go structs)
  • Strong validation with clear error reporting
  • Deterministic output (same input → same output)
  • Explicit environment layering (base → override)

Generators

  • TOML
  • YAML
  • JSON
  • INI (optional)
  • Custom generators via interfaces

CLI

  • blueprint validate
  • blueprint generate

About

config generator in go

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors