302c7ab9f558cfdbd14a2179d78e6c80beeabe91
- install.bat downloads exe from Gitea release or uses local copy - Adds to user PATH automatically - README with full usage guide, file structure, conflict resolution Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
kisync — KIS API Builder Sync CLI
CLI-клиент для двусторонней синхронизации локальных файлов с сервером KIS API Builder.
Установка
Вариант 1: Автоматическая (Windows)
Скачать и запустить install.bat — он сам скачает kisync.exe, установит в %LOCALAPPDATA%\kisync\ и добавит в PATH.
Вариант 2: Ручная
- Скачать
kisync.exeсо страницы релиза - Положить в любую папку, которая есть в PATH (например
C:\Users\<user>\AppData\Local\kisync\) - Проверить:
kisync --help
Быстрый старт
# 1. Создать папку проекта
mkdir my-api-endpoints
cd my-api-endpoints
# 2. Подключиться к серверу API Builder
kisync init
# Server URL: http://your-server:3000
# Username: admin
# Password: ****
# 3. Скачать все эндпоинты с сервера
kisync pull
# 4. Редактировать файлы (запросы, скрипты)
# ... правишь query.sql, main.js, request.http ...
# 5. Проверить что изменилось
kisync status
# 6. Отправить изменения на сервер
kisync push
Команды
| Команда | Описание |
|---|---|
kisync init |
Подключиться к серверу (ввести URL, логин, пароль) |
kisync pull |
Скачать эндпоинты с сервера в локальные файлы |
kisync pull --force |
Перезаписать локальные изменения версией с сервера |
kisync push |
Загрузить локальные изменения на сервер |
kisync push --force |
Принудительно перезаписать сервер, игнорируя конфликты |
kisync status |
Показать что изменилось локально и на сервере |
Структура файлов
После kisync pull в папке появится такая структура:
my-api-endpoints/
├── .kisync.json # Конфиг (host, token) — НЕ коммитить!
├── .kisync-state.json # Состояние синхронизации — НЕ коммитить!
│
├── Пользователи/ # Папка (Folder в API Builder)
│ ├── _folder.json # Метаданные папки
│ │
│ ├── Получить список/ # Эндпоинт (SQL)
│ │ ├── endpoint.json # Настройки: method, path, parameters...
│ │ └── query.sql # SQL-запрос
│ │
│ ├── Создать/ # Эндпоинт (Script)
│ │ ├── endpoint.json
│ │ ├── main.js # JavaScript код (или main.py)
│ │ └── queries/ # Запросы, используемые в скрипте
│ │ ├── _index.json # Индекс запросов (имена, БД)
│ │ ├── insert.sql # SQL-запрос
│ │ └── notify.http # HTTP-запрос (AQL)
│ │
│ └── Внешний сервис/ # Эндпоинт (AQL / HTTP)
│ ├── endpoint.json
│ └── request.http # HTTP-запрос
│
└── _no_folder/ # Эндпоинты без папки
└── ...
Файлы по типу эндпоинта
| Тип | Файлы |
|---|---|
| SQL | endpoint.json + query.sql |
| Script | endpoint.json + main.js/main.py + queries/*.sql |
| AQL (HTTP) | endpoint.json + request.http |
Формат request.http
POST /api/v1/patients
Content-Type: application/json
{
"name": "{{name}}",
"age": {{age}}
}
Конфликты
При push и pull kisync проверяет, не менял ли кто-то эндпоинт на сервере с момента последней синхронизации.
$ kisync push
! CONFLICT: Пользователи/Создать
server updated: 14.03.2026, 15:42:31
your base: 14.03.2026, 12:00:00
Use "kisync push --force" to overwrite server changes.
Or run "kisync pull --force" to get the latest version first.
Варианты решения:
kisync push --force— перезаписать сервер своей версиейkisync pull --force— забрать серверную версию (потерять свои правки)- Сделать копию своих файлов,
pull --force, вручную смержить
Работа в команде с Git
Можно хранить эндпоинты в Git-репозитории. Добавьте в .gitignore:
.kisync.json
.kisync-state.json
Workflow:
kisync pull— скачать с сервераgit commit— зафиксировать- Редактировать файлы
kisync push— отправить на серверgit commit— зафиксировать изменения
Сборка из исходников
git clone ssh://git@gitea.esh-service.ru:2222/public/api_builder_cli_client.git
cd api_builder_cli_client
npm install
npm run package # → release/kisync.exe
Description
v1.1.0
Latest
Languages
TypeScript
89.9%
Batchfile
5.3%
JavaScript
4.8%