cds-text-sync CLI

Проект CODESYS в виде текстовых файлов для Git и LLM-агентов: экспорт, сборка, анализ кода на ST и тесты в симуляции

  • 106 ★ репозитория
  • Последний коммит
  • MIT
CLI

Широкий доступ

Почему такой уровень

  • Агент управляет открытой IDE: собирает проект, загружает его на ПЛК и читает переменные контроллера
  • Команда `cts verify --with-test` записывает данные в ПЛК, а установщик запускает скрипт PowerShell из интернета
Все причины и проверки

arthurkax/cds-text-sync

Установка

Ручная установка

irm https://raw.githubusercontent.com/ArthurkaX/cds-text-sync/main/irm/setup.ps1 | iex

Команда PowerShell из раздела Quick start, ставит `cts` и пункт меню CODESYS. Скрипт лучше прочитать до запуска.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Агент управляет открытой IDE: собирает проект, загружает его на ПЛК и читает переменные контроллера
  • Команда `cts verify --with-test` записывает данные в ПЛК, а установщик запускает скрипт PowerShell из интернета

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

cds-text-sync превращает бинарный проект CODESYS в папку с текстом: каждый `POU`, `GVL`, `DUT` и интерфейс лежит отдельным файлом `.st`, текстовые списки хранятся в `.csv`, а устройства, задачи и визуализации остаются в XML. Папку ведут в Git, правки в ней разбираются в обычных редакторах и возвращаются в проект командой `cts import`. Если один объект изменили и в IDE, и на диске, открывается окно построчного сравнения. Команда `cts` связана с агентом внутри CODESYS, поэтому LLM-агент экспортирует проект, осматривает его, собирает приложение, загружает его на ПЛК и читает переменные. Офлайн-анализатор `cts analyze` проверяет файлы `.st` без IDE и пишет отчет SARIF для CI, `cts verify` выдает один вердикт перед выпуском, а `cts test` гоняет тесты в симуляции. В репозитории лежат два скилла: `cds-text-sync` с правилами работы и `cds-visu-svg` для экранов визуализации, которые рисуются как SVG и компилируются в CODESYS.

Для кого. Программистам ПЛК на CODESYS, которые ведут проект в Git и хотят доверить агенту правку и проверку кода на Structured Text.

Подходит, если

  • Проект CODESYS надо положить в Git и разбирать изменения построчно в pull request.
  • Агент правит функциональный блок на ST и сразу собирает приложение в открытой IDE.
  • Перед выпуском запускается `cts verify`: статический анализ, проверка SVG и компилятор дают один вердикт.
  • Экран визуализации рисуется в SVG и компилируется командой `cts visu from-svg` после согласования наброска.
  • Двое меняют один проект на разных ветках, а конфликты разбираются по объектам.
  • Анализ `.st` идет в CI без открытой IDE, отчет уходит в SARIF.

Не подходит, если

  • Работа идет не в Windows: `cts` и агент в IDE рассчитаны на Windows 10 или 11 и CODESYS V3.5 SP16 и новее.
  • Контроллер стоит на действующем объекте: загрузка и тесты пишут в ПЛК, на боевом оборудовании без отдельного стенда агенту их не дают.
  • Нужен официальный продукт CODESYS: проект независимый и к CODESYS отношения не имеет.

Пример запроса к агенту

Выгрузи проект CODESYS в папку синхронизации, найди ошибки в `.st` через `cts analyze` и поправь блок `FB_Motor`

Ограничения

Работает только в Windows 10 и 11 с CODESYS V3.5 SP16 или новее, проверено на SP16 Patch 9 x86 и SP22 x64, нужен Git. Агент внутри CODESYS приходится запускать вручную при каждом старте IDE, пока он молчит, `cts` не видит среду. Установка идет скриптом PowerShell из репозитория, его лучше скачать и прочитать до запуска. Версия 4.0 не подхватывает папки версии 3.x, вернуться можно на 3.4.1 через меню установщика. Проект независимый и в состав CODESYS не входит. Лицензия MIT.

Как отключить. Агент останавливается вместе с CODESYS, и без него `cts` проект не видит. Папка синхронизации остается обычным репозиторием Git, ее можно оставить или удалить как любую папку. Установленные файлы описаны в руководстве по установке в `docs/install.md`.

Частые вопросы

Какие версии CODESYS поддерживаются?

V3.5 SP16 и новее, проверено на SP16 Patch 9 x86 и SP22 x64. Нужны Windows 10 или 11 и Git.

Откуда агент берет правила работы?

Из команды `cts guide workflow`: правила лежат внутри пакета и совпадают с установленной версией `cts`. Скилл `cds-text-sync` только отправляет агента читать их.

Можно ли проверить код без открытой IDE?

Да. Команда `cts analyze --workspace <папка>` работает офлайн, а флаг `--sarif` сохраняет отчет для код-скана в CI.

Что делает `cts verify`?

Запускает все применимые проверки: статический анализ, проверку SVG и, если IDE открыта, компилятор. На выходе один вердикт и один код выхода. Компилятор меняет состояние сборки, а `--with-test` пишет в ПЛК.

Как вдвоем вести один проект?

Каждый клонирует репозиторий и работает на своей ветке, владелец проверяет изменения и сливает их. Порядок описан в документе `docs/team.md`.

Обсуждение

Вопросов и отзывов пока нет.

MCP-сервер для CODESYS V3.5: Claude правит Structured Text, собирает проект настоящим компилятором и гоняет симуляцию.

MCP-серверШирокий доступ133Звезды репозитория

Библиотека агентских скиллов для CAD, CAE и CAM: генерация и правка моделей, экспорт STEP, STL, 3MF, файлы описания роботов и нарезка в g-code

СкиллРасширенный доступ26,1 тыс.Звезды репозитория
Официальный

Детектор дублирующегося кода на более чем 220 языках с MCP-сервером для агента и отчетом, экономящим токены

CLIРасширенный доступ6,5 тыс.Звезды репозитория

codesight за один запуск собирает карту проекта: маршруты, модели БД, зависимости, env-переменные. Отдает ее агенту файлами или через MCP-сервер

MCP-серверРасширенный доступ1,4 тыс.Звезды репозитория

Десять скиллов жизненного цикла разработки для Claude Code: требования, дизайн, тесты, ревью и проверка релиза с хуками.

ПлагинРасширенный доступ66Звезды репозитория

Коротко о README

В описании показано, как выгрузить проект в Git, вести синхронизацию с IDE, искать ошибки статическим анализатором и подключить LLM-агента. Отдельные разделы посвящены экранам визуализации из SVG, записи переменных ПЛК при наладке и работе нескольких IDE одновременно.

Бейдж для README

Сообщить о проблеме