# Guidelines

- Scripts must use `set -euo pipefail`

## Building

- The directory for built programs is specified with the `COMPILED_DIR` environment variable, falling back to `/compiled`
  - Built programs should be `.tar.zst` files placed in `$COMPILED_DIR/[package name]/`
- Programs should be built on Debian, unless there's a specific reason not to.
- There should be a `build` branch for building the program.

## Packaging

- The directory for built packages is specified with the `PACKAGES_DIR` environment variable, falling back to `/packages`
  - They should be placed in `$PACKAGES_DIR/[package name]/`
- Packages should be built on the distro they're for, unless there's a specific reason not to.
- There should be a branch named after a distro for each distro it's for, e.g. `fedora` for Fedora.