https://github.com/igor-petruk/scriptisto Skip to content Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} igor-petruk / scriptisto Public * Notifications * Fork 16 * Star 420 * A language-agnostic "shebang interpreter" that enables you to write scripts in compiled languages. License Apache-2.0 license 420 stars 16 forks Branches Tags Activity Star Notifications * Code * Issues 6 * Pull requests 1 * Actions * Projects 0 * Wiki * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights igor-petruk/scriptisto This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master BranchesTags Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 321 Commits .github .github data data man man src src .gitignore .gitignore AUTHORS AUTHORS CODE_OF_CONDUCT.md CODE_OF_CONDUCT.md Cargo.lock Cargo.lock Cargo.toml Cargo.toml LICENSE LICENSE README.md README.md View all files Repository files navigation * README * Code of conduct * Apache-2.0 license Scriptisto Latest Version Build Status Crates.io License Libraries.io dependency status for latest release GitHub top language Crates.io GitHub All Releases 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, scriptisto rebuilds it and caches the result. If a script was already built, scriptisto immediately delegates to a binary with only <1 ms overhead. Builds in Docker are available. Advantages and use-cases are listed in the Wiki. Demo #!/usr/bin/env scriptisto #include #include // scriptisto-begin // script_src: main.c // build_cmd: 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; } $ chmod +x ./script.c $ ./script.c Hello, C! Current user: username Note: some templates such as rust take more time to build during the first time. The default behaviour is to supress the build logs, so do not be discouraged that you do not immediately see any output. More info in the wiki. Installation Scriptisto is available as a prebuilt statically-linked standalone binary or distributions packages at Releases or at Crates.io. Please proceed to the Installation for instructions. Documentation Proceed to our Wiki. Disclaimer This is not an officially supported Google product. About A language-agnostic "shebang interpreter" that enables you to write scripts in compiled languages. Topics linux rust unix scripting Resources Readme License Apache-2.0 license Code of conduct Code of conduct Activity Stars 420 stars Watchers 11 watching Forks 16 forks Report repository Releases 34 v2.1.1 Latest Apr 10, 2023 + 33 releases Packages 0 No packages published Contributors 6 * @igor-petruk * @dependabot[bot] * @jayvdb * @AndiDog * @afazekas * @LordMZTE Languages * Rust 81.3% * Python 2.7% * Dart 1.9% * Reason 1.7% * OCaml 1.7% * C 1.7% * Other 9.0% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.