The Foldit cookbook seen in text editor. The format seems obscure, but it's actually a variation on JSON, a standard format.

The all.macro file contains the Foldit cookbook, which stores recipes used in gameplay.

See 101 - Cookbook for a complete discussion of working the cookbook.

The all.macro file residues in the Foldit installation directory, for example c:\Foldit.

The all.macro file is digitally signed. Only the Foldit client can add, change, or delete cookbook recipes.

Players using multiple Foldit clients can copy all.macro from one installation to another, avoiding the need to download the same recipes multiple times.

While all.macro can only be changed by the Foldit client, the contents are not encrypted, and can be viewed in a text editor. The format of all.macro is a properties file, consisting of keyword-value pairs. Other Foldit properties files, such as options.txt, use a similar format.

For all.macro, the keyword portion consists of "_recipe_*nnnnn*", where *nnnnn* is the "node number" of the recipe on the fold.it website. The value portion consists of the recipe contents and related information, such as the cookbook folder the recipe is stored in. See recipe attributes for keyword-value pairs that make up the body of a recipe.

The complex internal structure of GUI recipes is described in GUI recipe JSON names. GUI recipes may consist of multiple nested layers of keyword-value pairs.

For Lua recipes, the entire recipe is found under a single keyword, "script".

The structure of all.macro is similar to JSON, a common data interchange format. Apparently Foldit uses a variation called JSON Spirit.

As implemented in Foldit, there are some important differences between JSON and JSON Spirit. Most notably, where JSON has commas between keyword-value pairs, these are lacking in all.macro and other Foldit properties files (such as options.txt or theme.txt). This lack of punctuation makes the Foldit files difficult to process using standard JSON functions.

Community content is available under CC-BY-SA unless otherwise noted.