As part of learning Rust, I attempted to create a command-line interface (CLI) tool that functions as a universal code runner.
This tool can execute code from:
- The command line
- REPL (Read-Evaluate-Print Loop)
- Files
- Even stdin(pipe)
The tool, Run, aims to be a single, minimal dependency utility for: running one-off snippets (from CLI flags), running files, reading and executing piped stdin, and providing language-specific REPLs that you can switch between interactively.
I designed it to support both interpreted languages (Python, JS, Ruby, etc.) and compiled languages (Rust, Go, C/C++). It detects languages from flags or file extensions, can compile temporary files for compiled languages, and exposes a unified REPL experience with commands like :help, :lang, and :quit.
Install: cargo install run-kit (or use the platform downloads on GitHub). Source & releases: https://github.com/Esubaalew/run
I used Rust while following the official learning resources and utilized AI to accelerate development, so I expect there may be bugs and rough edges. I’d love feedback on: usability and UX of the REPL, edge cases for piping input to language runtimes, security considerations (sandboxing/resource limits), packaging, and cross-platform distribution.
Thanks ,