Projetos e ficheiros .restorm
Um projeto Restorm vive no seu disco. Não existe área de trabalho remota nem sincronização proprietária: abre um ficheiro, guarda-o, faz-lhe commit.
Dois modos de armazenamento
Section titled “Dois modos de armazenamento”Ficheiro único .restorm
Section titled “Ficheiro único .restorm”O modo predefinido (Ficheiro ▸ Novo, seguido de Guardar como). Todo o
projeto cabe num único ficheiro, em YAML por predefinição. Estão disponíveis
outros dois formatos de serialização: json e json5.
Modo pasta
Section titled “Modo pasta”Ficheiro ▸ Abrir pasta. O projeto é distribuído por uma árvore no disco, o que dá diffs muito mais finos nos projetos grandes:
- um ficheiro de configuração
restorm.confna raiz, que contém apenas o formato (format: yaml | json | json5); - um ficheiro de índice por diretório (
index.yaml,index.json…); - as pastas e os ficheiros com o nome
<index> - <name>, sendo o índice preenchido com zeros à largura da fratria, para que a ordem no ecrã seja a ordem no disco. Os caracteres proibidos (<>:"/\|?*) são substituídos por_e o nome é truncado a 100 caracteres.
Em modo pasta, Ctrl+S escreve apenas a subárvore do separador ativo;
Ctrl+Shift+S (Guardar tudo) escreve o conjunto.

O que o projeto contém
Section titled “O que o projeto contém”- a árvore: pastas, pastas de variáveis, pedidos de todos os protocolos, cenários;
- os ambientes e as suas variáveis, incluindo os subambientes;
- as listas de valores personalizadas e as enumerações importadas;
- as etiquetas e as suas cores;
- a documentação de API associada às pastas de variáveis;
- as definições rápidas guardadas “no projeto”;
- um identificador de projeto (
_projectUuid) e uma versão de formato.
O que o projeto não contém
Section titled “O que o projeto não contém”Deliberadamente, para que o ficheiro seja partilhável:
| Dados | Onde vivem |
|---|---|
| Segredos | Um ficheiro .env de segredos ao lado do projeto — ver Segredos |
| Histórico de respostas | Um ficheiro comprimido <project>.responses.zip colocado ao lado do projeto |
| Definições rápidas “utilizador” | As suas definições locais |
| Favoritos | O armazenamento local da aplicação, indexado por identificador de projeto |
| Disposição do workbench | As suas definições locais, indexadas por projeto |
| Definições da área de trabalho | <project-folder>/.restorm/settings.json |
Consequência prática: pode fazer commit de um .restorm sem exfiltrar um token, e
o seu colega não recebe a sua disposição de separadores.
Uma serialização feita para o git
Section titled “Uma serialização feita para o git”Duas garantias, que existem unicamente para que o controlo de versões seja utilizável:
- Ordem de chaves canónica. As chaves de identidade vêm à cabeça (
id,name,key,type,folderType,method,url), o resto é ordenado. A ordem dos arrays, por seu lado, nunca é alterada: é a sua ordem. - Identificadores derivados de forma estável. O identificador de uma entidade é calculado a partir do seu caminho semântico, não é sorteado ao acaso. Duas pessoas que adicionem o mesmo pedido no mesmo lugar produzem o mesmo identificador, o que permite à fusão emparelhar corretamente as entidades.
Resultado: abrir e voltar a guardar um projeto sem alterar nada não produz nenhum diff. Ver Git integrado.
Projetos recentes
Section titled “Projetos recentes”Ficheiro ▸ Ficheiros recentes lista os dez últimos projetos abertos; os caminhos que se tornaram inválidos são removidos automaticamente. A mesma lista alimenta o ecrã de boas-vindas.