build-configs is an easy-to-use, standardised configuration generator built to ease development overhead when bootstrapping and updating configuration in ALT-F4 projects.
It was built primarily to solve problems within ALT-F4, but was chosen to be an open source project in order to demonstrate how the issue of type-standard configuration updates in a polyrepo environment could be implemented.
Installing build-configs can be done via Nix or by Go binary install:
$ nix profile install 'github:ALT-F4-LLC/build-configs#default' # with nix
$ go install github.com/ALT-F4-LLC/build-configs@latest # with goTo generate configuration with build-configs, you can use the generate
subcommand in a directory with a build-configs.yaml or build-configs.json
file present. See Examples for help with this.
$ build-configs generateIt is also possible to configure build-configs to leave otherwise templated be,
similarly to the .gitignore file in a Git repository. The file used is called
.bcignore, and takes a direct list of paths (globs are currently unsupported)
to skip templating:
# ignore the flake, we customize it further.
flake.nixgo-cobra-cli scaffolds a Cobra CLI tool with Go that can be used to build out
internal tooling. This is the template this CLI uses.
go-lambda scaffolds an lambda setup in Go.
To use it, you need to run the generator and then run go mod init and
go mod tidy, then update your vendorHash.
Some example configurations for our template types exist in the
examples directory of the repo.
While this is an internal project at ALT-F4, we still welcome contributions from the community in case you can spot an improvement or a suggestion!
Feel free to raise PRs and issues against this repository, but also understand that as this is an internal piece of tooling, some opinionations in templates and/or logic will be present and we may be stubborn with them!
build-configs is licensed under the Apache License version 2.0.