https://github.com/kruzhok-team/lapki-client
Графическая IDE для киберфизических систем (клиентская часть)
https://github.com/kruzhok-team/lapki-client
arduino cyberphysical-systems electron hacktoberfest ide state-machine typescript
Last synced: 6 months ago
JSON representation
Графическая IDE для киберфизических систем (клиентская часть)
- Host: GitHub
- URL: https://github.com/kruzhok-team/lapki-client
- Owner: kruzhok-team
- License: gpl-3.0
- Created: 2023-07-29T17:38:30.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-10-17T08:55:22.000Z (8 months ago)
- Last Synced: 2025-10-17T12:03:08.336Z (8 months ago)
- Topics: arduino, cyberphysical-systems, electron, hacktoberfest, ide, state-machine, typescript
- Language: TypeScript
- Homepage:
- Size: 320 MB
- Stars: 13
- Watchers: 4
- Forks: 9
- Open Issues: 134
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lapki-client
Клиентская часть Lapki IDE, среды программирования расширенных иерархических машин состояний.
## Зависимости
Поддерживаемые ОС:
- Windows 10 и новее (поддержка более старых систем не гарантируется)
- Для прошивки могут понадобиться драйвера прошиваемых устройств (например, нестандартных Arduino или необновлённых системах).
- Linux-дистрибутивы с менеджером **Systemd**.
- Для прошивки потребуется `libusb`, для опроса устройств также используется `udevadm`. Возможна работа с `eudev`, но это не тестировалось.
- macOS (тестировалось на 14-ой версии "Sonoma")
- См. раздел [Безопасность](https://github.com/kruzhok-team/lapki-client/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D1%87%D0%B8%D0%BA%D0%B0-%D0%BD%D0%B0-macOS#%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C) для решения проблем с открытием Lapki IDE.
Также для прошивки потребуется **avrdude**. В Linux достаточно установить утилиту встроенным пакетным менеджером, под Windows предлагается установить [форк от maurisgreuel](https://github.com/mariusgreuel/avrdude), положить в рабочую директорию или PATH. Инструкцию по установке avrdude на macOS можно посмотреть [здесь](https://github.com/kruzhok-team/lapki-client/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D1%87%D0%B8%D0%BA%D0%B0-%D0%BD%D0%B0-macOS#avrdude).
## Разработка
Для работы с репозиторием рекомендуется использовать [VSCode](https://code.visualstudio.com/) с расширениями [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) и [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode).
Для запуска dev-версии потребуется установить Node 18.х и новее c npm, после выполнить команды:
```bash
# Загрузить подмодули
$ git submodule update --init --recursive
# Загрузить зависимости
$ npm install
# (необязательно, Windows)
# Загрузить и установить зависимости (меняет PATH!)
$ npm run dependencies:win
# (Windows)
# Скопировать файлы данных локального компилятора
$ npm run prepare:win
# Запустить dev-сервер и Electron
$ npm run dev
```
Dev-версия работает в режиме горячей замены, но некоторые изменения (например, затрагивающие хранение данных документа) могут приводить к проблемам, не проявляющимся в обычной работе.
Для разработки под NixOS предусмотрен shell-файл, запускающий FHS-окружение с VS Code и необходимыми зависимостями.
Команда `nix-shell` автоматически запускает редактор. При первом запуске в VS Code также желательно поставить Prettier и ESLint.
### Сборка
```bash
# Под Windows
$ npm run build:win
# Под Linux
$ npm run build:linux
```