# Fusescript **scriptable** filesystems via python,lua,awk,shellscript etc.
> Hackable & prototypable [FUSE3](https://github.com/libfuse/libfuse) script-bindings for your favorite programming language! ## Usage ```bash $ mkdir /mnt/helloworld $ fusescript fs/helloworld /mnt/helloworld $ ls /mnt/helloworld file1 $ cat /mnt/helloworld/file1 Hello world ``` Profit! The `helloworld`-script serves a 'virtual filesystem' on the fly ❤ > To see how this works, see the [fs/helloworld](fs/helloworld) shellscript, or the [python](fs/helloworld.py), [nodejs](fs/helloworld.js), [AWK](fs/helloworld.awk) script. ## Compile * nix: `nix-build fusescript.nix` * debian: `sudo apt-get install libfuse3-dev && make` * buildroot [embedded]: put this repository in the `packages` directory and select it in 'External' (last menuitem when running `make menuconfig`) # Rationale * App-development usually adds various layers of tree-structures * the filesystem is **already** a tree-structure **Fusescript** is an exploration into mapping things to a filesystem **asap**.
In such case, we'd want to prototype with 1% FUSE-functionality, without being forced into building/debugging C (on an embedded device).
> "Files are awesome, everything depends on it" #### Crazy ideas: * navigate database via the filesystem * navigate REST api via the filesystem * navigate fileformat-internals via the filesystem * you name it! ## Inspired by * https://github.com/vi/execfuse * https://github.com/zevweiss/booze ## Projects using fusescript * [XRSH](https://xrsh.isvery.ninja)