In case anyone missed the announcement, support for GUI recipes is slated to be removed in 2021.
There's now a Python-based converter called MacroScanner that can extract GUI recipes from your cookbook. Check out Python eats GUI for a quick overview of MacroScanner. The entire script can be downloaded from GitHub.
MacroScanner seems to work, but it's not very smart. The wiki has additional resources for refining the Lua scripts it generates.
Check out GUI to Lua - converting Co lapse's Settle for a detailed example of converting a GUI recipe by hand. The results are similar to what MacroScanner does. Then GUI to Lua - refining Co lapse's Settle shows how to refine the intial version by grouping repeated statements into a Lua function.
For reference, GUI commands to Lua functions, which gives the Lua V2 equivalents for each of the 21 GUI recipe commands. Each of the GUI commands now has its own wiki page, too.
See GUI commands Lua V2 equivalents for same information in table format.
Finally, GUI Recipe JSON names gets into the actual structure of the cookbook, giving the names used for various parts of a recipe. The cookbook is stored in a file called all.macro, which uses a format that it almost, but not quite compatible with the JSON data interchange format. (MacroScanner does a little bit of hammering to get JSON format, then uses standard Python functions to get at the data.)