This spec is not complete, it is only keys that I’ve spotted so far in the file, there may be other stuff

The .rbxp file is a JSON-file format that is used for Roblox’s internal projects (CoreScripts and BuiltInPlugins).

You can load them by having Internal Mode and opening them using the File > Open With... menu. You cannot open the file with Studio from the explorer since Studio will try to load the file as rbxm/rbxmx

An empty project may look like

{
	"fileVersion": 1,
	"instanceHierarchy": {
		"tree": {
			"$className": "DataModel",
			"ReplicatedStorage": {
				"$className": "ReplicatedStorage",
				"Shared": {
					"$path": "Shared"
				}
			}
		}
	}
}

Keys that have been obsered are as follows:

instanceHierarchy

Stated above but is almost identical to a Rojo project.json file

// .rbxp
{
  "instanceHierarchy": {
    "tree": {
      "$className": "DataModel",
      "ReplicatedStorage": {
        "$className": "ReplicatedStorage",
        "Shared": {
          "$path": "Shared"
        }
      }
    }
  }
}
// default.project.json
{
  "tree": {
    "$className": "DataModel",
    "ReplicatedStorage": {
      "$className": "ReplicatedStorage",
      "Shared": {
        "$path": "Shared"
      }
    }
  }
}

projectFileMap

Project file map links to a built-in or standalone built-in for debugging the plugin, when loaded with this key (and properly initialised), it will load the specified built-in into PluginDebugService.

This will only load plugins inside the specified folder.

You can also incrementally build and reload plugins in the built-in file.

This will not sign or compile the model, this requires an external signing key file and a .config file, make sure to keep a backup of the signed plugin if you intend to turn off Internal Mode

fileVersion

Not required, but always 1. Not sure what this key is used for

luau

This section is used for providing an inline luaurc file, a lot of files I’ve observed have this chunk in it

{
	"luau": {
		"languageMode": "nonstrict"
	}
}