It is tool to enable writing one file scripts in languages that require compilation, dependencies fetching or preprocessing.
It works as a "shebang" for those scripts, extracting build instructions from comments. If a script is changed, it rebuilds it and caches the result. If it was already built, it immediately delegates to a binary with only <1 ms overhead.
Also useful for non-compiled languages like Typed Python, but type validation is slow and a good idea to do it once after very change. More advantages are listed in Wiki.
```c
// scriptisto-begin
// scriptsrc: main.c
// buildcmd: clang -O2 main.c pkg-config --libs --cflags glib-2.0
-o ./script
// scriptisto-end
int main(int argc, char argv[]) { gchar user = g_getenv("USER"); printf("Hello, C! Current user: %s\n", user); return 0; } ```
shell
$ chmod +x ./script.c
$ ./script.c
Hello, C! Current user: username
Download a statically linked binary from Releases. It was securely built on the public Drone CI Server.
To install from from Crates.io:
shell
$ cargo install scriptisto
Or the latest from Github:
shell
$ git clone https://github.com/igor-petruk/scriptisto.git
$ cd scriptisto
$ cargo install --path .
Proceed to our Wiki.
This is not an officially supported Google product.