Skip to content

Nehonix-Team/FileOnix

Repository files navigation

FileOnix Logo

Nehonix FileOnix

High-Performance Native Watcher System

FileOnix is the complete ground-up rewrite of QuickDev — a professional, native file watcher and development server engineered for extreme performance. Built with a Go core and a premium terminal UI, it serves as the native hot-reload engine for modern TypeScript and JavaScript applications.

Core Philosophy

FileOnix bridges the gap between high-speed native monitoring and developer experience. While it is engineered as the core watching engine for the XyPriss framework, its modular design allows it to be used as a standalone high-performance watcher for any project.

It prioritizes the Bun runtime for near-instant execution while maintaining full compatibility with tsx, ts-node, and standard Node.js. Every visual detail of the CLI — from the gradient banner to the timestamped event log — is designed to feel premium.

Installation

Via XyPriss XFPM (Recommended)

FileOnix is best managed via XFPM (XyPriss Package Manager).

xfpm install -g fileonix

Tip

If you don't have XFPM yet, you can get it from GitHub or via npm.

Via npm

npm install -g fileonix

Build from source

git clone https://github.com/Nehonix-Team/fileonix
cd fileonix
go build -o bin/fileonix .

Quick Start

# Zero config — watches src/, auto-detects runtime
fileonix -script src/index.ts

# Watch-only mode (just monitoring, no script execution)
fileonix -watch src,internal

# Full control
fileonix -script server.ts -watch src,config -runner bun -clear -batch

# Generate config file
fileonix init

Configuration

FileOnix automatically searches upwards from your script or watch directory to find the closest configuration file. You can use fileonix.config.json, .fileonixrc.json, or embed it directly in your package.json under the "fileonix" field:

{
  "script": "src/index.ts",
  "watch": ["src", "internal"],
  "ignore": ["node_modules", "dist", ".git"],
  "typescriptRunner": "bun",
  "clearScreen": true,
  "debounceMs": 100,
  "batchMode": false,
  "useFileHash": true,
  "maxRestarts": -1,
  "gracefulMs": 3000
}

CLI Options

Flag Description
-script <file> Entry point to watch and execute (optional)
-watch <dirs> Comma-separated directories to watch
-runner <n> Runtime: bun | tsx | ts-node | node
-ignore <dirs> Additional directories to ignore
-ext <exts> Extensions to watch (default: .ts,.js)
-delay <ms> Debounce delay in ms (default: 100)
-batch Enable batch mode
-clear Clear screen on restart
--no-hash Disable hash-based change detection
init Generate a config file

Environment Variables

FileOnix injects these into your process:

Variable Value
FILEONIX 1
FILEONIX_RESTART Restart count (integer)

Architecture

fileonix/
├── internal/
    ├── main.go                    # Entry point, arg routing
    ├── config/config.go       # Config loading (file + CLI args)
    ├── ui/ui.go               # Premium terminal UI
    └── watcher/watcher.go     # Core FS engine + process manager

License

Nehonix OSL (NOSL) v1.0 — Nehonix Team

About

Nehonix FileOnix (formerly QuickDev) is a professional, native file watcher and development server. Engineered for extreme performance, it serves as the native hot-reload engine for modern TypeScript and JavaScript applications.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  
  •  

Packages

 
 
 

Contributors