Minimalist cli tool for building many similar components in a monorepo. Calculates a hash of the file content of a component and checks for existing artifacts with that hash to determine whether to build the component.
Example configurations can be found in examples/, .knega.root.yml should be at project root and .component.yml should exist for every component you want to include in an action.
Download fom releases, unpack and execute. Linux example:
KNEGA_VERSION=0.1.0
curl -LO https://github.com/kristofferlind/knega/releases/download/v${KNEGA_VERSION}/knega_${KNEGA_VERSION}_Linux_x86_64.tar.gz
tar -zxvf knega_${KNEGA_VERSION}_Linux_x86_64.tar.gz
rm knega_${KNEGA_VERSION}_Linux_x86_64.tar.gz
# use as ./knega or mv ./knega some-bin-dir according to taste
knega changed/all <action>
where action is a set of commands defined in configuration. It will execute those commands for all or changed components with that action defined.
If you have direnv and nix package manager installed. You should be able to just start using commands found in Makefile. If you don't want those you can look at shell.nix to see what's needed.