RockstarLang/rockstar
{ "createdAt": "2018-07-21T16:10:34Z", "defaultBranch": "main", "description": "Home of the Rockstar programming language", "fullName": "RockstarLang/rockstar", "homepage": "https://codewithrockstar.com/", "language": "JavaScript", "name": "rockstar", "pushedAt": "2025-09-17T18:50:31Z", "stargazersCount": 6878, "topics": [], "updatedAt": "2025-11-20T14:40:34Z", "url": "https://github.com/RockstarLang/rockstar"}Do you wanna get rocked?
Section titled “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.
![Rockstar Logotype]!(rockstar-logo-strapline-sticker.png)
What’s Here
Section titled “What’s Here”Rockstar has three main components:
/Starshipcontains the Starship interpreter for Rockstar, built in C# and .NET/cm-lang-rockstarcontains the CodeMirror editor used on the Rockstar website/codewithrockstar.comcontains the Rockstar website, docs and examples
Building Rockstar
Section titled “Building Rockstar”To build the Starship engine, you’ll need the .NET 9 SDK
git clone https://github.com/RockstarLang/rockstar.gitcd rockstardotnet workload install wasm-toolsdotnet build ./Starship/Starship.slndotnet test ./Starship/To build a Rockstar native binary on Linux, you’ll need gcc installed, and then:
git clone https://github.com/RockstarLang/rockstar.gitcd rockstardotnet publish ./Starship/Rockstar -o binaries -c ReleaseThat’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:
dotnet build ./Starship/Starship.slndotnet publish ./Starship/Rockstar.Wasm -o codewithrockstar.com/wasm/ -c DebugBuilding with GitHub Actions
Section titled “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
Section titled “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\net8.0-browser> mklink /d examples ..\Starship\Rockstar.Test\programs\examplescodewithrockstar.com /wasm --> [ /Starship/Rockstar.Wasm/bin/Debug/net8.0-browser ] /examples --> [ /Starship/Rockstar.Test/programs/examples ] /index.html /example.md /js /rockstar-editor.js (from codemirror)