README.md

# FileWatch 👀

Automatically run your commands each time you save a file.

Because TDD with [mix test.watch](https://github.com/lpil/mix-test.watch) is awesome🎉

- https://hex.pm/packages/file_watch
- https://hexdocs.pm/file_watch/FileWatch.html

## Usage

### Prerequisites

- On Linux you may need to install [`inotify-tools`](https://github.com/inotify-tools/inotify-tools).
- On Windows you need to install [`inotifywait.exe`](https://github.com/thekid/inotify-win).

### Installation

```
# clone this repo
$ git clone https://github.com/pojiro/file_watch.git
$ cd file_watch
$ mix do escript.build, escript.install

# or
$ mix escript.install github pojiro/file_watch
# or
$ mix escript.install hex file_watch

# if you use asdf, after both of above don't forget to do
$ asdf reshim
```

### Get config template

config template, .fwatch.exs, will be generated under CWD.
configuration details are described in it.

    $ fwatch --config-template

### Start watch

    $ fwatch

## Acknowledgment

FileWatch uses or refs the following OSS and so on,

- uses [FileSystem](https://github.com/falood/file_system) for detecting file has been touched
- refs [mix test.watch](https://github.com/lpil/mix-test.watch) for architecture
- refs [Phoenix live-reload](https://github.com/phoenixframework/phoenix_live_reload) for debounce

## Other Info

I didn't know about `fswatch` until I developed FileWatch.
If FileWatch doesn't fit your needs, please check out [`fswatch`](https://github.com/emcrisostomo/fswatch).

---

Copyright © 2022 Ryota Kinukawa