Getting started with minimal
Welcome! Follow the steps below to setup Minimal in one of your repositories.
Install minimal
Using our install script
shell
curl --proto '=https' --tlsv1.2 -sSf https://storage.googleapis.com/minimal-shim/install.sh | shFrom source using Cargo
shell
git clone https://github.com/gominimal/minimal && cd minimal
# install deps
sudo apt-get install build-essential openssl pkg-config \
libssl-dev git protobuf-compiler
# Build minimal
cargo build --release # Output in `target/release/minimal`Create an initial minimal.toml
Create the below minimal.toml file in the root of your repository.
toml
[upstream] # The software supply chain
repo = "https://github.com/gominimal/pkgs"
branch = "main"
[harness] # Wires Minimal to build a pnpm project
use = "pnpm"toml
[upstream] # The software supply chain
repo = "https://github.com/gominimal/pkgs"
branch = "main"
[harness] # Wires Minimal to build a go binary
use = "go"toml
[upstream] # The software supply chain
repo = "https://github.com/gominimal/pkgs"
branch = "main"
[harness] # Wires Minimal to build a rust workspace
use = "rust"Run minimal update
Run minimal update to fetch the necessary tools and packages from the minimal public registry.
shell
$ minimal update
Upstream https://github.com/gominimal/pkgs:main updated from <unpinned> to 9d36aa3d0fec09658fe3bbc676beeae49a89c53d
$Build your code
At this stage, minimal is fully configured to consistently & reproducibly build your code. You can check in the minimal.toml file, and building is as simple as:
shell
$ minimal build
