discover · compare · collections · requirements · contribute · feed · watching · stats · help with your tokens
RockstarLang/rockstar · source
Snapshot 0 · 2026-11-04T12:47:25Z · JavaScript · AGPL-3.0
Content fingerprint
1c15fcc9a7cef3c5e09b5c4f8050503c56c6b34dcf6bee1b4d8df017d81a05e1GitHub description at capture
Home of the Rockstar programming language
README at capture
# Do you wanna get rocked? This is Rockstar, an esoteric programming language whose syntax is inspired by the lyrics to 80s hard rock and heavy metal songs.  # What's Here Rockstar has three main components: * `/Starship` contains the Starship interpreter for Rockstar, built in C# and .NET * `/codemirror-lang-rockstar` contains the CodeMirror editor used on the Rockstar website * `/codewithrockstar.com` contains the Rockstar website, docs and examples ### Building Rockstar To build the Starship engine, you'll need the .NET 10 SDK ```dotnetcli git clone https://github.com/RockstarLang/rockstar.git cd rockstar dotnet workload install wasm-tools dotnet build ./Starship/Starship.sln dotnet test ./Starship/ ``` To build a Rockstar native binary on Linux, you'll need `gcc` installed, and then: ``` git clone https://github.com/RockstarLang/rockstar.git cd rockstar dotnet publish ./Starship/Rockstar -o binaries -c Release ``` That'll create a standalone binary executable in `binaries/rockstar`. The `codewithrockstar.com` website is built with Jekyll and hosted on GitHub Pages. The embedded Rockstar interpreter is the Starship engine compiled to run on web assembly: ```dotnetcli dotnet build ./Starship/Starship.sln dotnet publish ./Starship/Rockstar.Wasm -o codewithrockstar.com/wasm/ -c Debug ``` ### Building with GitHub Actions Building codewithrockstar.com works like this: **build-rockstar-2.0** - runs on Linux - Builds the parser and interpreter - Runs the test suite - Uploads artifacts for: - Linux native binary - WASM interpreter for the website **build-windows-binary** * builds the Rockstar windows binary **build-macos-binary** * builds the macOS binary **release-rockstar-engine** * creates the GitHub release from the latest binaries **build-and-deploy-website** * Downloads the Rockstar WASM binary * builds the CodeMirror editor * Builds the Jekyll site * Deploys the site to GitHub Pages ### Debug/Dev Mode Setup In dev mode, I use symbolic directory links between the various parts of the project. Rebuilding the .NET solution will rebuild the WASM interpreter, which Jekyll can see as `/wasm/**`, and trigger a site rebuild, and all the Rockstar code examples are part of both the `Rockstar.Test` .NET test suite project and the `codewithrockstar.com` site: ``` > cd codewithrockstar.com > mklink /d wasm ..\Starship\Rockstar.Wasm\bin\Debug\net10.0-browser > mklink /d examples ..\Starship\Rockstar.Test\programs\examples ``` ``` codewithrockstar.com /wasm --> [ /Starship/Rockstar.Wasm/bin/Debug/net10.0-browser ] /examples --> [ /Starship/Rockstar.Test/programs/examples ] /index.html /example.md /js /rockstar-editor.js (from codemirror) ```