Overlook: A commandline app that will watch your folder and monitor any changes

Overlook

A commandline app that will watch your folder and monitor any changes. When a change occurs, Overlook will execute (or restart) a command you specify. Overlook is platform independent and will work with anything from writing a README file, to developing a service.


Quick Start

$ overlook watch -t /folder/to/watch -e /script/to/execute

Table of Contents


Requirements

  • Swift 3.0 or up.

Installation

Homebrew

brew install wess/repo/overlook --HEAD

Via Script

curl -sL wess.io/overlook/install.sh | bash

Build It Yourself

git clone https://github.com/wess/overlook.git
cd overlook
make release
ln -s .build/release/overlook /usr/local/bin/overlook

Usage

There are 2 ways to use Overlook. You can either use it completely on the command line, or setup a .overlook config file.

.overlook

The .overlook file is a configuration file that defines environment variables, what to ignore, what to watch and what to excute on change. To create a .overlook file in your current directory, simply run:

$ overlook init

This will generate the following file:

{
  "ignore" : [
    ".git",
    ".gitignore",
    ".overlook"
  ],
  "env" : {
    "example" : "variable"
  },
  "execute" : "ls -la",
  "directories" : [
    "build",
    "tests"
  ]
}

Available

  • ignore : A list of files or folders that Overlook should ignore changes on.

  • env : Environment variables overlook can set for you when running/restarting.

  • execute : A list of commands for overlook to run when a change has been observed.

  • directories : Directories that should be watched for changes.


Commandline

Overlook can run without a .overlook file. You can run overlook help for a list of available commands

The main command you will use with overlook will be watch. This command is what tells overlook what to watch for changes and what to execute.

The required flags for overlook watch are:

  • e, execute What is executed when targets are changed.

  • h, help Show help information for this command.

  • i, ignore Comma separated list of files or directories to ignore.

  • t, target Comma separated list of directory or files to monitor.

Example:

$ overlook watch -t /folder/to/watch -e /script/to/execute

To Do

  • Parallel observations/executions
  • Task running

Contributing

Contributions are welcome, just make a pull request. If you are including new functionality, please write a usage example, and include any information that will impact installation and/or setup.

License

Overlook is released under the MIT license. See LICENSE for details.

Get in touch

  • Any questions, comments, concerns? Hit me up on twitter: @wesscope

GitHub

https://github.com/wess/overlook