.restorm projects and files
A Restorm project lives on your disk. There is no remote workspace and no proprietary sync: you open a file, you save it, you commit it.
Two storage modes
Section titled “Two storage modes”Single .restorm file
Section titled “Single .restorm file”The default mode (File ▸ New, then Save as). The whole project fits in a
single file, YAML by default. Two other serialisation formats are available:
json and json5.
Folder mode
Section titled “Folder mode”File ▸ Open folder. The project is spread across a directory tree on disk, which gives much finer diffs on large projects:
- a
restorm.confconfiguration file at the root, which only carries the format (format: yaml | json | json5); - one index file per directory (
index.yaml,index.json…); - folders and files named
<index> - <name>, the index being zero-padded to the width of its sibling group so that the on-screen order is the on-disk order. Forbidden characters (<>:"/\|?*) are replaced with_and the name is truncated to 100 characters.
In folder mode, Ctrl+S writes only the active tab’s subtree; Ctrl+Shift+S
(Save all) writes everything.

What the project contains
Section titled “What the project contains”- the tree: folders, environment folders, requests of every protocol, scenarios;
- environments and their variables, including sub-environments;
- custom value lists and imported enumerations;
- tags and their colours;
- the API documentation attached to environment folders;
- the quick settings saved “in the project”;
- a project identifier (
_projectUuid) and a format version.
What the project does not contain
Section titled “What the project does not contain”Deliberately, so that the file can be shared:
| Data | Where it lives |
|---|---|
| Secrets | A secrets .env file next to the project — see Secrets |
| Response history | A <project>.responses.zip archive placed next to the project |
| ”User” quick settings | Your local settings |
| Favorites | The application’s local storage, indexed by project identifier |
| Workbench layout | Your local settings, indexed by project |
| Workspace settings | <project-folder>/.restorm/settings.json |
Practical consequence: you can commit a .restorm file without leaking a token,
and your colleague does not inherit your tab layout.
Serialisation built for git
Section titled “Serialisation built for git”Two guarantees, which exist purely to make version control usable:
- Canonical key order. Identity keys come first (
id,name,key,type,folderType,method,url), the rest is sorted. Array order, on the other hand, is never touched: it is your order. - Stably derived identifiers. An entity’s identifier is computed from its semantic path, not drawn at random. Two people adding the same request in the same place produce the same identifier, which lets merging pair entities correctly.
The result: opening a project and saving it again without changing anything produces no diff at all. See Built-in git.
Recent projects
Section titled “Recent projects”File ▸ Recent files lists the last ten projects you opened; paths that have become invalid are removed automatically. The same list feeds the welcome screen.