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

Overview

Overlook

Overlook

Swift Twitter Follow

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
You might also like...
The best command-line tool to install and switch between multiple versions of Xcode.
The best command-line tool to install and switch between multiple versions of Xcode.

The best command-line tool to install and switch between multiple versions of Xcode.

A way to build TUI apps with a layout system and API that's similar to SwiftUI.

terminal-ui A way to build TUI apps with a layout system and API that's similar to SwiftUI. We reimplemented parts of the SwiftUI layout system in the

A powerful command line tool for performing stoichiometry calculations on checmicals and chemical equations.

Stoichiometry Stoichiometry is a powerful command line tool for preforming stoichiometry chemicals and chemical equations. Its subcommands are listed

An extremely simple CLI tool that was created to diagnose and further understand an issue in DriverKit causing kIOHIDOptionsTypeSeizeDevice to behave incorrectly when used in DriverKit system extensions.

IOKitHIDKeyboardTester This tool is NOT useful to, or intended for general users. IOKitHIDKeyboardTester is an extremely simple (one-file!) CLI tool t

A command line tool to easily install and browse Xcode templates

🥾 XTrail A command line tool to easily install and browse Xcode templates. Usage The general invocation syntax for xtrail is as follows: xtrail subc

A library and CLI Utility to manage NVRAM Stuff, written in Swift.

NVRAMKit A Library and CLI Utility to manage NVRAM Stuff, written in Swift. Library Adding Library to Project Simply add this line to the dependencies

A command line tool to parse pricing from a pdf and generate an updated csv file for House Call Pro

A command line tool to parse pricing from a pdf and generate an updated csv file for House Call Pro

A command line profiling tool with stopwatch, cpu and memory usage
A command line profiling tool with stopwatch, cpu and memory usage

timeui A command line profiling tool with stopwatch, cpu and memory usage. Usage ./timeui path/to/app-to-profile runs the stopwatch and signpost regio

📋A hand-curated collection of useful and informative Swift Scripting materials.
📋A hand-curated collection of useful and informative Swift Scripting materials.

Articles • Videos Articles Creating iOS Application Icons with SwiftUI by Eneko Alonso An interesting way to use SwiftUI with CLI for icon generation.

Comments
  • Run in background

    Run in background

    Is there a way to run overlook in the background instead of having to dedicate a terminal tab to leave it running? I'm using it to watch files in a directory and then reload chrome when it senses changes. Right now I just leave it in a different window, but would love to have it run in the background if possible.

    opened by jdmcd 1
  • Make it work on Ubuntu

    Make it work on Ubuntu

    Cannot install it on Ubuntu 14.04: /vagrant/App/.overlook-tmp/overlook/Sources/signals/signals.swift:10:8: error: no such module 'Darwin'.

    Traceback - https://gist.github.com/voronianski/3d0cf453444a8fa725a4e4f594c51d32

    bug 
    opened by voronianski 0
  • Define multiple executions in .overlook file

    Define multiple executions in .overlook file

    It would be great if I could have multiple execution calls, like for example if I do overlook restart then it is restarting stuff on file change and overlook test would run my tests on file change.

    Nodemon (which is similar I guess) is having that feature and it is super helpful.

    enhancement 
    opened by skreutzberger 0
Releases(0.1.4)
Owner
Wess Cope
I suffer from Application Development Disorder
Wess Cope
Util for executing shell commands, and getting the results easily(data, string, and any decodable).

ShellExecutor Util for executing shell commands, and getting the results easily(data, string, and any decodable). Requirements Xcode 14.0+ Swift 5.7+

Yozone Wang 2 Jul 30, 2022
A command line tool that calls your Xcode Test Plan and creates screenshots of your app automatically.

ShotPlan (WIP) A command line tool that calls your Xcode Test Plan and creates screenshots of your app automatically. ShotPlan will also take care of

Devran Cosmo Uenal 6 Jul 21, 2022
This app is a sample app that recognizes specific voice commands such as "make it red", "make it blue", "make it green", and "make it black" and change the background color of the view in the frame.

VoiceOperationSample This app is a sample app that recognizes specific voice commands such as "make it red", "make it blue", "make it green", and "mak

Takuya Aso 3 Dec 3, 2021
Progress.swift ⌛ Add beautiful progress bars to your loops.

Progress.swift ⌛ Just wrap the SequenceType in your loop with the Progress SequenceType and you'll automatically get beautiful progress bars. Updating

Justus Kandzi 304 Dec 1, 2022
ipatool is a command line tool that allows you to search for iOS apps on the App Store and download a copy of the app package, known as an ipa file.

ipatool is a command line tool that allows you to search for iOS apps on the App Store and download a copy of the app package, known as an ipa file.

Majd Alfhaily 3k Dec 30, 2022
iOS command-line tool that allows searching and downloading ipa files from the iOS App Store

ipatool for iOS This is a port of Majd Alfhaily's ipatool adapted to run on iOS Build / Installation To build this, make sure you have AppSync install

dan 21 Sep 13, 2022
BountyList: An app that lets you see who has how much bounty

BountyList ?? introduction 누구에게 얼마큼의 현상금이 걸려있는지 확인할 수 있는 앱. ⏰ Period 2021.07.04

null 0 Jan 6, 2022
Mac App Store: Embedding a Command Line tool using paths as arguments

Mac App Store: Embedding a Command Line tool using paths as arguments Code snippets to embed a Command Line tool using paths as arguments on the Mac A

Alexandre Colucci 10 Aug 20, 2022
Simple driver app for the GoXlr... On Macos.

GoXLR for Mac MacOS application to manage GoXLR without virtual machine. For now, full control and compatibility of the GoXLR are not available on Mac

Adélaïde Sky 71 Dec 25, 2022
Guaka - Smart and beautiful POSIX compliant CLI framework for Swift.

Guaka - Smart and beautiful POSIX compliant CLI framework for Swift. It helps you create modern and familiar CLI apps in the vein of widely used proje

Omar Abdelhafith 1.1k Dec 24, 2022