Find a file
Russell Ballestrini fd2268e11b Fix license comment syntax for JS/TS/Lua/Elixir
- JavaScript/TypeScript: Use // comments after shebang (not # which is invalid)
- Lua: Use -- comments after shebang (not # which is invalid)
- Elixir: Use # comments after shebang (not %% which is Erlang)

All 42 implementations validated passing after fixes.
2025-12-23 11:18:14 -05:00
test Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
tests Fix license comment syntax for JS/TS/Lua/Elixir 2025-12-23 11:18:14 -05:00
.gitignore Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
LICENSE Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
README.md Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.awk Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.clj Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.cob Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.cpp Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.cr Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
Un.cs Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.d Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.dart Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.erl Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.ex Fix license comment syntax for JS/TS/Lua/Elixir 2025-12-23 11:18:14 -05:00
un.f90 Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.forth Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.fs Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.go Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.groovy Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.hs Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
Un.java Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.jl Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.js Fix license comment syntax for JS/TS/Lua/Elixir 2025-12-23 11:18:14 -05:00
un.kt Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.lisp Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.lua Fix license comment syntax for JS/TS/Lua/Elixir 2025-12-23 11:18:14 -05:00
un.m Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.ml Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.nim Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.php Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.pl Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.pro Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.ps1 Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.py Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.r Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.raku Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.rb Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.rs Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.scm Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.sh Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.tcl Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.ts Fix license comment syntax for JS/TS/Lua/Elixir 2025-12-23 11:18:14 -05:00
un.v Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un.zig Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00
un_deno.ts Fix license comment syntax for JS/TS/Lua/Elixir 2025-12-23 11:18:14 -05:00
un_inception.c Initial commit: 42 UN CLI implementations 2025-12-23 09:57:08 -05:00

UN CLI Inception

The UN CLI written in every language it can execute. 42 implementations, one unified interface.

"If you replace every line of un.c with a different programming language, but it still executes code on unsandbox... is it still un?"

Quick Start

# Clone all 42 implementations
git clone https://github.com/russellballestrini/un-inception.git
cd un-inception

# Set your API key
export UNSANDBOX_API_KEY=your_key_here

# Run any implementation
python3 un.py test/fib.py
node un.js test/fib.py
ruby un.rb test/fib.py
go run un.go test/fib.py

# They all produce the same output:
# fib(10) = 55

Implementations

Language File Category
Python un.py Scripting
JavaScript un.js Scripting
TypeScript un.ts Scripting
Ruby un.rb Scripting
PHP un.php Scripting
Perl un.pl Scripting
Lua un.lua Scripting
Bash un.sh Scripting
Go un.go Systems
Rust un.rs Systems
C un_inception.c Systems
C++ un.cpp Systems
D un.d Systems
Nim un.nim Systems
Zig un.zig Systems
V un.v Systems
Java Un.java JVM/.NET
Kotlin un.kt JVM/.NET
C# Un.cs JVM/.NET
F# un.fs JVM/.NET
Groovy un.groovy JVM/.NET
Dart un.dart JVM/.NET
Haskell un.hs Functional
OCaml un.ml Functional
Clojure un.clj Functional
Scheme un.scm Functional
Common Lisp un.lisp Functional
Erlang un.erl Functional
Elixir un.ex Functional
Julia un.jl Scientific
R un.r Scientific
Crystal un.cr Scientific
Fortran un.f90 Scientific
COBOL un.cob Scientific
Prolog un.pro Scientific
Forth un.forth Scientific
Tcl un.tcl Other
Raku un.raku Other
Objective-C un.m Other
Deno un_deno.ts Other
PowerShell un.ps1 Other
AWK un.awk Other

Features

Each implementation supports:

  • Execute code files via the unsandbox API
  • Auto-detect language from file extensions
  • Environment variables (-e KEY=VALUE)
  • Input files (-f file.txt)
  • Artifact collection (-a -o ./output)
  • Interactive sessions (session subcommand)
  • Persistent services (service subcommand)
  • Network modes (-n zerotrust or -n semitrusted)

Usage

# Execute a script
./un.py script.py

# With environment variables
./un.py -e DEBUG=1 -e NAME=World script.py

# With input files
./un.py -f data.csv -f config.json process.py

# Collect artifacts
./un.py -a -o ./output main.c

# Interactive session
./un.py session --shell python3

# Persistent service
./un.py service --name myapp --ports 8080 --bootstrap "python3 -m http.server 8080"

Testing

# Run a quick test with any implementation
./un.py test/fib.py
# Output: fib(10) = 55

# Run the full test matrix (requires API key)
./tests/run_matrix.sh

Run with un2 (Meta-inception)

You can use the main un CLI to run these implementations inside unsandbox:

# Python implementation running inside unsandbox
un2 -n semitrusted un.py test/fib.py

# Rust implementation running inside unsandbox
un2 -n semitrusted un.rs test/fib.py

# It's turtles all the way down

License

MIT License - See individual files for details.