An interactive browser-based playground for the Sky language —
built entirely in Sky itself, using Sky.Live and Std.Ui.
skycompiler on$PATH- Go 1.21+
git clone <this-repo>
cd sky-playground
sky runThen open http://localhost:8080 in your browser.
-
6 built-in examples covering core Sky patterns
-
Format — runs
sky fmton your code and replaces the editor content -
Run — runs
sky build && ./sky-out/appin a sandboxed temp directory, streams output back -
Security sandbox — the following modules are blocked in the playground (detected client-side and stripped server-side before any build attempt):
Blocked module Reason File,IoFile-system access ProcessArbitrary subprocess execution SystemEnvironment / exit / CWD access Db,AuthDatabase and authentication HttpOutbound network requests (SSRF) Server,LiveSpawning nested servers RateLimit,MiddlewareHTTP infrastructure Ffi,Context,FmtLow-level / Go FFI escape hatches Allowed:
String,List,Dict,Set,Maybe,Result,Math,Regex,Char,Crypto(hashing only),Encoding,Json,Uuid,Task,Time,Random,Log.println.
src/
├── Main.sky — Sky.Live app entry (init, subscriptions, main)
├── State.sky — Model + Msg types (no Std.Ui imports)
├── Update.sky — update function + Cmd.perform wiring
├── Security.sky — pure security validation and sanitisation
├── Runner.sky — Task helpers: format and run via Process
├── Examples.sky — built-in example programs
└── View/
├── Common.sky — shared colours, spacing constants, button helpers
├── Sidebar.sky — examples list panel
├── Editor.sky — code input + Format / Run buttons
└── Output.sky — output display panel