Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Budgie 🦜

NPM version Greenkeeper badge Circle CI

A unified syntax that compiles into a number of OOP languages. Formerly known as General Language Syntax (GLS).

Budgie is still under development. Don't expect everything to work!


Budgie can be used as a command-line app or via import/require.


To convert to

npm install budgie-cli --global

budgie --language Python

See budgie-cli.


npm install budgie

import { Budgie } from "budgie";

const budgie = new Budgie("C#");

// System.Console.WriteLine("Hello world!");
budgie.convert([`print : ("Hello world!")`]);


No reason in particular!

Budgie is not intended to be a useful language or targeted to any real purpose. It's a proof-of-concept exploration for the fun of it.


Budgie is just shy of 0.4.

Deliverable Version Description
C++ Compiler 0.1 Command-line Budgie prototype, written in C++.
TypeScript Compiler draft 0.2 Budgie compiler as a website, written in TypeScript.
TypeScript Compiler + C# Output 0.3 Budgie compiler re-written in TypeScript. Near-working C#, Java, JavaScript, Python, Ruby, and TypeScript output.
Roundtripping Feature Complete 0.4 All features required for roundtripping implemented. Working C# and TypeScript output. Near-working Java, JavaScript, Python, and Ruby output. Switched to a better name.
Full Language Outputs 0.5 Working C#, Java, JavaScript, Ruby, Python, and TypeScript output.
Haxe, Powershell, Misc. 0.6 Onboard or reject those languages and other possibilities.
Language Specification Finalized 0.7 Finalized language spec & cleaned internals of code.
General Release 1.0 Public announcement, glory to everyone.


If you'd like to contribute to Budgie, see

Requires Node >=12

πŸ’– Many thanks to @matthojo for allowing use of the budgie npm package name!