https://github.com/magnickolas/inf
Instant feedback for your development loop
https://github.com/magnickolas/inf
build-automation cli file-watcher hot-reload live-reload shell
Last synced: about 1 month ago
JSON representation
Instant feedback for your development loop
- Host: GitHub
- URL: https://github.com/magnickolas/inf
- Owner: magnickolas
- License: mit
- Created: 2022-08-23T12:36:46.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-07-05T07:44:48.000Z (12 months ago)
- Last Synced: 2026-02-01T23:42:39.883Z (5 months ago)
- Topics: build-automation, cli, file-watcher, hot-reload, live-reload, shell
- Language: Shell
- Homepage:
- Size: 521 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# inf
**Instant feedback for your development loop.**
*inf* monitors source files and executes the given compile / run commands as soon
as those files change.
## Installation
```console
cargo install inf
```
Or via the install script:
```console
curl -fsSL https://raw.githubusercontent.com/magnickolas/inf/main/install.sh | sh
```
Or build from source:
```console
git clone https://github.com/magnickolas/inf
cd inf
make install prefix=~/.local
```
## Usage examples
Rebuild and run when `main.c` changes:
```console
inf --run ./main gcc -o main main.c
```
Pipe input into the binary when either `main.c` or `input.txt` changes:
```console
inf --input input.txt --run ./main gcc -o main main.c
```
For build systems, list every source file that should trigger a rebuild. Here the shell expands the globs and pipes them into inf (inf monitors all `*.c` and `*.h` files in `src/`):
```console
echo src/*.c src/*.h | inf --run "make test" make -j4
```
- Run a static type checker in _zen_ mode (no meta-headers), whenever any Python file in `src/` or its subdirectories changes:
```console
inf -z mypy src/**/*.py
```