# Technical Documentation: eradman/entr > ℹ️ **Provenance:** Hybrid Fusion: `eradman/entr` + `eradman/website` · [CodeWiki Reference](https://codewiki.google/github.com/eradman/entr) · Recency: Active (< 180 days) ## 1. Project Overview & Quickstart (eradman/entr) Event Notify Test Runner ======================== A utility for running arbitrary commands when files change. Uses kqueue(2) or inotify(7) to avoid polling. `entr` was written to facilitate rapid feedback on the command line. Source Installation - BSD, Mac OS, and Linux -------------------------------------------- ./configure make test make install To see available build options run `./configure -h` Docker and WSL -------------- Incomplete inotify support on _Windows Subsystem for Linux_ and _Docker for Mac_ may cause `entr` to respond incorrectly. Setting the environment variable `ENTR_INOTIFY_WORKAROUND` enables `entr` to operate in these environments. Platform Features ----------------- On Mac OS and Linux, symlinks are not followed unless the environment variable `ENTR_FOLLOW_SYMLINK` is set. Man Page Examples ----------------- Rebuild a project if source files change, limiting output to the first 20 lines: $ find src/ | entr -s 'make | head -n 20' Launch and auto-reload a node.js server: $ ls *.js | entr -r node app.js Clear the screen and run a query after the SQL script is updated: $ echo my.sql | entr -cp psql -f /_ Rebuild project if a source file is modified or added to the src/ directory: $ while sleep 0.1; do ls src/*.rb | entr -d make; done Auto-reload a web server, or terminate if the server exits $ ls * | entr -rz ./httpd News ---- Notification of new releases are provided by an [Atom feed](https://github.com/eradman/entr/releases.atom), and release history is covered in the [NEWS](NEWS) file. ## 2. Official Technical Reference & Guides (eradman/website) # Redash Website and Knowledge Base We use Gatsby as our static site generator. The website is built and hosted with Netlify. ## Updating contributors data file ``` yarn fetch-contributors > website/_data/contributors.json ``` ## Website development ### Gatsby Installed Locally To start Gatsby in development mode and serve the the website on `http://localhost:8000` use: ``` yarn run develop ``` If you prefer Gatsby listen on an interface or IP address other than localhost, use: ``` yarn run develop -H ip_address ``` For example: ``` yarn run develop -H 10.11.12.13 ``` Using a DNS name in place of an IP address will also work, assuming the DNS entry resolves to an IP address on the local machine. This can be achieved through editing your /etc/hosts. ### Docker Setup First install dependencies: ``` docker-compose run --rm gatsby install ``` On first run, it will build the Docker image we're using. Once the Node modules were installed, you can run the following to start the dev server: ``` docker-compose up -d ``` This will run `gatsby develop` in the Docker container in the background, listening on [`http://localhost:8000`](http://localhost:8000). The first time you run this command it might take a few moments for Gatsby to compile the website. You can check progress by tailing the logs: ``` docker-compose logs -f ``` You can edit the project locally and the changes will be reflected inside the Docker container. --- METRICS --- - Files Extracted: 2 - Estimated Token Budget: ~790 tokens - Recency Window: Active (< 180 days) - Canonical Reference: https://codewiki.google/github.com/eradman/entr