AGS
AGS (Aylur's GTK Shell) is a scaffolding CLI for building desktop shells written in Astal.
Using AGS, you can make entire desktop "shells", involving all the usual bits and pieces, bars, panels, docks, etc. For example, Aylur has created the Marble shell.
See AGS
See TypeScript Examples | Astal
What is this, exactly?
You're so funny, wanting to know things. Weirdo.
There's a GNOME C-library called GObject, which allows for writing object-oriented C-libraries and then creating bindings for those C-libraries in whatever language you want.
The creation of bindings is handled by a middleware layer called GObject Introspection.
GJS is then a set of JavaScript bindings, generated by GObject Introspection, for the GTK C library.
Astal is a library for making desktop widgets, written in C and Vala, using GObject Introspection, bindings are available for it for JavaScript using GJS.
AGS is a CLI for generating and working with projects made in Astal and JavaScript.