Guardian watches over your files and runs assigned tasks.
brew tap f/guardian brew install guardian
Guardian is availabe as a package from the Arch User Repository called guardian-git
git clone https://github.com/f/guardian.git && cd guardian crystal build src/guardian.cr --release
Guardian works seamless with Crystal Projects. It automatically binds itself to library you use.
$ crystal init lib yourlib $ cd yourlib $ guardian --init Created guardian.yml of ./src/yourlib.cr
You can use Guardian for other projects.
$ guardian --init Created guardian.yml
$ guardian --init
It will create a
guardian.yml file to use by Guardian.
guardian.yml is a simple YAML file.
Simply it has YAML documents with seperated by
--- line and each document has
files key needs a glob pattern, and
run is a shell command what to run.
files: ./**/*.cr run: crystal build ./src/guardian.cr --- files: ./shard.yml run: shards install
%file% variable in commands with the changed file.
files: ./**/*.txt run: echo "%file% is changed"
Think you have a
hello.txt in your directory, and Guardian will run
echo "hello.txt is changed" command when it's changed.
$ guardian 💂 Guardian is on duty!