Вбудований git
Проєкт Restorm створений, щоб жити в репозиторії git. Інтеграція йде далі за
звичайний git commit: вона розуміє формат і вміє розв’язувати конфлікт на
рівні предметних сутностей, а не рядків YAML.
Початок роботи
Section titled “Початок роботи”Налаштовувати нічого не потрібно. Щойно відкритий файл .restorm опиняється в
репозиторії git, поверхні git вмикаються.
Restorm використовує ваш локальний git: ні облікових даних вводити, ні
токенами в застосунку керувати не треба. Правило просте — якщо git push
працює у вашому терміналі, він працює і в Restorm. Git запускається з
вимкненими запитами: репозиторій, який попросив би пароль, одразу зазнає
невдачі з повідомленням від git, замість того щоб заблокувати інтерфейс.
Комірка GIT у рядку стану
Section titled “Комірка GIT у рядку стану”Дві кнопки, Надіслати й Отримати, кожна з позначкою (крапкою, а ніколи не числом), коли є що надіслати або є новіша версія, яку можна отримати.
Меню Git у рядку заголовка пропонує ті самі дії, а також Оновити, Скинути до версії сервера та Історія.

Надсилання
Section titled “Надсилання”Модальне вікно надсилання показує вже написане повідомлення коміту, згенероване детерміновано зі структурної різниці — без жодної мовної моделі. По рядку на кожну змінену сутність (запит, сценарій, теку, теку середовищ), а не по рядку на кожне поле.
- Перемикач мови повідомлення, незалежний від мови інтерфейсу, із перемикачем, щоб зробити її значенням за замовчуванням.
- Редагований заголовок із орієнтовним лічильником на 72 символи.
- Багаторядкове тіло.
Підтвердження виконує послідовність: зберегти, git add, коміт, надсилання.
Отримання
Section titled “Отримання”Restorm спершу зберігає, а потім отримує й зливає.
Чисте злиття: дерево й відкриті вкладки оновлюються на місці.
Конфлікт: відкривається подання розв’язання з чотирма панелями.

| Панель | Вміст |
|---|---|
| Перелік конфліктів | Сутності, що конфліктують |
| Ваша версія | Лише для читання |
| Їхня версія | Лише для читання |
| Розв’язано | Редагована — саме її буде записано |
Важливий момент: кожна панель показує сутність у її справжньому редакторі —
запит HTTP у редакторі HTTP, сценарій у редакторі сценаріїв. Ви розв’язуєте не
маркери <<<<<<< у YAML, а порівнюєте два запити.
По кнопці «використати цю версію» з кожного боку, а поля, що розбігаються, підсвічуються червоним — коли відрізняється лише одне поле, панель одразу відкривається на потрібній вкладці.
Документація API теки середовищ розв’язується автоматично (перемагає новіша версія).
Скасувати виконує git merge --abort. Якщо закрити застосунок посеред
розв’язання, під час наступного запуску вам запропонують відмовитися від
злиття.
Фонова перевірка (напівотримання)
Section titled “Фонова перевірка (напівотримання)”Restorm періодично перевіряє, чи існує новіша версія, — ніколи не зливаючи
самостійно. Три тригери: помічена зміна в .git, відкриття файлу й таймер,
частота якого налаштовується в Параметри ▸ Git (Off, 15 хв, 30 хв, 1 год,
4 год, 12 год, 24 год).
Тоді сповіщення «Доступне оновлення» пропонує Pull now.
Зовнішня зміна файлу
Section titled “Зовнішня зміна файлу”Якщо файл змінився на диску після його відкриття, збереження відхиляється, і Restorm просить вас Перезавантажити або Залишити вашу версію.
Чому діфи читабельні
Section titled “Чому діфи читабельні”Дві властивості формату, описані на сторінці
Проєкти та файли .restorm:
канонічний порядок ключів і стабільно похідні ідентифікатори.
Наслідок: відкрити й перезберегти без жодних змін — і жодного діфу не виникне, а двоє людей, що додають той самий запит у те саме місце, створюють сутності, які злиття вміє зіставити.
Історія
Section titled “Історія”Git ▸ Історія відкриває подання з двома панелями: перелік комітів із жолобом гілок і подробиці праворуч. Контекстне меню коміту дає змогу отримати цю версію.
Через MCP
Section titled “Через MCP”Чотири інструменти у виданні Pro: git_commit_push (крок 1 із 2 — повертає
токен перегляду, заголовок, тіло й різницю за сутностями, нічого не
записуючи), git_confirm_push (крок 2 із 2 — відхиляється, якщо проєкт
змінився після перегляду), git_pull і git_resolve_conflicts.
Поділ на два кроки зроблено навмисне: агент не може надіслати зміни, доки різницю не буде спершу показано.