Skip to main content

zoo-kcl-check-cli

Локальные проверки Zoo / KittyCAD KCL: форматирование, синтаксис, стиль, ошибки выполнения и ограничения эскизов. Работает без сети, Zoo-аккаунта и API-токенов.

Выполнение использует mock CAD-движок. Успешная проверка не подтверждает корректность 3D-геометрии — её нужно проверять в Zoo.

Установка

pipx install zoo-kcl-check-cli

Также доступны pip install zoo-kcl-check-cli и uv tool install zoo-kcl-check-cli. Требуется Python 3.11–3.14. Пакет в PyPI.

Использование

kcl-check lint main.kcl
kcl-check execute main.kcl
kcl-check sketches main.kcl
kcl-check format main.kcl --write
Команда Назначение
lint Проверка синтаксиса и стиля без выполнения
execute Локальное выполнение: имена, аргументы, типы, единицы измерения и assert
sketches Проверка определённости и конфликтов ограничений эскизов
format Форматирование: вывод кода по умолчанию, запись с --write, проверка с --check

Вместо файла можно передать папку:

kcl-check lint .
kcl-check execute .
kcl-check sketches .
kcl-check format . --check

lint и format обрабатывают .kcl рекурсивно, пропуская символические ссылки. execute и sketches запускают default_file из project.toml или main.kcl. Импорты соседних KCL-файлов поддерживаются.

Предупреждения тоже считаются неуспехом. Команда sketches завершается неуспешно при недоопределённых или конфликтующих эскизах и неполном отчёте.

Параметры каждой команды доступны через kcl-check COMMAND --help.

Вывод

По умолчанию вывод текстовый. Диагностика идёт в stderr, результаты и отчёты — в stdout. Ошибки движка включают фрагмент кода и указатель на проблемное место, если эта информация доступна.

Для скриптов, CI и coding-агентов:

kcl-check execute main.kcl --json

--json возвращает один объект в stdout, в том числе при ошибках. Основные поля: ok, exit_code, diagnostics, sketches, formatting. Полный формат описан в контракте результата.

Все команды поддерживают --timeout SECONDS; по умолчанию — 60 секунд на всю команду.

Код завершения Значение
0 Проверка прошла
1 Диагностика KCL, проблема ограничений или отличие формата при --check
2 Некорректный ввод, таймаут или сбой инструмента
130 Прерывание пользователем

Скиллы для агентов

  • kcl-modeling — правила моделирования и приёмы работы с KCL.
  • kcl-check — установка CLI, запуск проверок и разбор результатов.
npx skills add gavroman/zoo-kcl-check --skill kcl-modeling --skill kcl-check

Разработка

Окружение, тесты и сборка. Ошибки и предложения — в GitHub Issues.

Лицензия

MIT.

Metadata

Release files for zoo-kcl-check-cli 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zoo-kcl-check-cli 0.1.3
File Size Uploaded
zoo_kcl_check_cli-0.1.3.tar.gz 33.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for zoo-kcl-check-cli 0.1.3
File Interpreter ABI Platform
zoo_kcl_check_cli-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 49.1 kB

Release files / zoo_kcl_check_cli-0.1.3.tar.gz

Download URL zoo_kcl_check_cli-0.1.3.tar.gz
Size 33.1 kB
Tags Source
SHA-256 checksum
How to use checksums
9e8fec123d84f6061fa5b13e18599410bcbd1e544ef8d655cd4b8300a16777a8
BLAKE2b-256 checksum
How to use checksums
26ecee6bd92d205a7585c0d62bb2dac41beb60fe2258578a0b778344c393a894
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / zoo_kcl_check_cli-0.1.3-py3-none-any.whl

Download URL zoo_kcl_check_cli-0.1.3-py3-none-any.whl
Size 16.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a90f1359e898d58b0ef468eb972bed5e44941a13266ef3daf1624841e43b2210
BLAKE2b-256 checksum
How to use checksums
26f74d0e47bb31163e55df07b0fc435c61aacbdfeb3c92d5f0c44a71559d2126
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.6

2 release files

0.1.4

2 release files

This release

0.1.3 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page