Skip to content

Repository files navigation

Knega

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

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.

Installation

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

Usage

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.

Development

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.

About

Minimalist cli tool for building 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 execute action for the component.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages