/crow

Run commands when files change.

Primary LanguageGoMIT LicenseMIT

Crow

crow is a simple command-line utility that lets you run arbitrary commands when certain files change.

Crow Banner

Demo

A demonstration of crow being used to re-execute tests every time a file is saved. Also, see other use cases.

Crow Demo

Installation

Install with go install

go install github.com/maaslalani/crow@latest

Install from source

Clone this repository and cd into it.

git clone git@github.com:maaslalani/crow.git && cd crow

Install crow with go install.

go install

Ensure ~/go/bin is in your PATH.

Usage

crow [--watch path] [--ext extensions] command

or pipe in a list of filenames to watch from stdin from fd, find, ls, echo, etc...

filenames | crow command

Use cases

Use crow to run tests once you save main.go.

crow -w main.go go test ./...
echo main.go | crow go test ./...

Automatically restart your server on changes (watches all files in the current directory).

crow go run main.go

Live preview markdown in your terminal with glow.

crow -w README.md glow README.md
fd .md | crow glow README.md

Use crow with !! to watch files and run the last command.

crow !!

Alternatives

Contributing

Pull requests are welcome.

License

MIT