pcb CLI
CLI от Diode для печатных плат на языке Zener: собирает схему из кода, ведет зависимости и создает файлы разводки KiCad, плюс пять скиллов
- 473 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Установщик запускается через `curl | bash`, а лаунчер потом скачивает наборы инструментов
- Команды `pcb build`, `pcb layout` и `pcb sim` создают файлы и запускают внешние программы KiCad и ngspice
Установка
Ручная установка
curl -fsSL https://raw.githubusercontent.com/diodeinc/pcb/main/install.sh | bashДля macOS, Linux и WSL2. На нативной Windows запускают `install.ps1` через PowerShell.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Установщик запускается через `curl | bash`, а лаунчер потом скачивает наборы инструментов
- Команды `pcb build`, `pcb layout` и `pcb sim` создают файлы и запускают внешние программы KiCad и ngspice
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
`pcb` — командная строка для плат, описанных на Zener. Это язык на основе Starlark: в нем задают схему, типизированные электрические связи, физические компоненты и параметры закупки. `pcb build blinky.zen` собирает проект и проверяет схему, `pcb layout blinky.zen` создает файлы разводки KiCad, а менеджер пакетов подтягивает модули и компоненты из реестра. В репозитории лежит папка `skills/` с пятью скиллами для агентов. `zener-language` учит читать и править Zener и находить исходники пакетов через `pcb list -m -json`. `registry-search` ищет готовые модули и компоненты, прежде чем писать новые, а `librarian` создает и чинит пакеты в реестре. `spice-sim` добавляет тестбенч на ngspice и запускает его через `pcb sim`, `importing-kicad-projects` переносит существующий проект KiCad в репозиторий. Установщик ставит лаунчер `pcb`, а тот скачивает набор инструментов, который выбрал проект. KiCad 10.x нужен для разводки, для сборки схем он не требуется. Пример в README — мигающий светодиод: резистор 1 кОм в корпусе 0402 и красный светодиод на питании и земле.
Для кого. Разработчикам электроники, которые хотят вести печатные платы как код в git и поручать агентам правку схем и поиск компонентов.
Подходит, если
- Плату удобнее описывать текстом, чтобы изменения читались в pull request и собирались в CI
- Агент должен подобрать для проекта готовый модуль или компонент из реестра, а не рисовать узел с нуля
- Существующий проект KiCad надо перенести в репозиторий и дальше вести как код
- Узел питания или защиты стоит проверить в ngspice до отправки в производство
- Новый компонент оформляют как пакет с символом, футпринтом и параметрами закупки
Не подходит, если
- Плату проектируют вручную в графическом редакторе KiCad, и переход на текстовый язык не планируется
- Нужна полноценная разводка в этом же инструменте: `pcb layout` создает файлы для KiCad, а разводят уже в нем
- Команда работает на нативной Windows без запасного пути: поддержка там экспериментальная, рекомендован WSL2
- Расчет требует симуляции дольше пяти секунд: `pcb sim` останавливает ngspice по таймеру
Пример запроса к агенту
Найди в реестре готовый модуль понижающего преобразователя и подключи его в blinky.zenОграничения
README не описывает установку скиллов в агента: папку `skills/` берут из репозитория вручную. Для разводки нужен KiCad 10.x. Нативная Windows поддерживается экспериментально, автор советует WSL2. Скилл `spice-sim` запускает `ngspice` в пакетном режиме и останавливает его через 5 секунд, поэтому тестбенч должен быть сфокусированным. Полное описание языка и пакетов вынесено на `docs.pcb.new`, в README дан только короткий пример.
Как отключить. Удалите лаунчер `pcb` и скопированные папки скиллов. Файлы проекта (`.zen` и каталог `layout/`) остаются у вас и удаляются отдельно.
Частые вопросы
Нужен ли KiCad, чтобы собрать схему?
Для `pcb build` KiCad не нужен. Он требуется для `pcb layout`, который создает файлы разводки, и должен быть версии 10.x.
Как поставить pcb на Windows?
На нативной Windows выполните в PowerShell `powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/diodeinc/pcb/main/install.ps1 | iex"`. Поддержка экспериментальная, при проблемах используйте WSL2 и обычный скрипт для Linux.
Как проект выбирает версию инструментов?
Лаунчер скачивает набор инструментов по настройке проекта. В примере из README блок `[workspace]` с `pcb-version = "0.4"` лежит в комментарии в начале файла `.zen`.
Как запустить симуляцию схемы?
Создайте тестбенч, например `testbench/test_startup.zen`, и запустите `pcb sim -v` с этим файлом. Скилл `spice-sim` советует делать отдельный тестбенч на одно поведение: запуск, включение, порог защиты или предел тока.
Как перенести проект из KiCad?
Скилл `importing-kicad-projects` импортирует проект KiCad и схемы в текущий репозиторий. Он сохраняет исходник и кладет результат в корень репозитория, так что оригинал остается для сверки.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыCLI kct и Python-библиотека для агентов: разбор и правка схем и плат KiCad с выводом в JSON, проверки DRC и ERC без запущенного KiCad
Скиллы для кодовых агентов, которые разбирают схемы и платы KiCad, находят ошибки проектирования и готовят плату к производству
MCP-сервер Seeed Studio читает схемы и платы KiCad, прослеживает связи по выводам и запускает ERC и DRC через kicad-cli.
MCP сервер для проектирования плат в KiCAD 10: схема, разводка, проверки и подготовка к производству через агента
Скилл ведет агента от идеи устройства до печатной платы, проверяет трассировку и останавливается перед оплатой заказа.
MCP-сервер для проектирования печатных плат в KiCAD: агент размещает компоненты, разводит связи, проверяет DRC и готовит файлы на производство
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| pcb (эта карточка) | нет | 473 | ||
| KiCAD MCP Server | нет | не нужна | 3 185 | MCP-сервер, через который агент двигает компоненты и разводит связи прямо в KiCad, а `pcb` описывает плату кодом на Zener |
| kicad-tools | нет | 73 | CLI и библиотека для разбора и правки готовых схем и плат KiCad, а `pcb` строит схему из кода |
Коротко о README
Описание коротко представляет `pcb` и язык Zener и дает ссылки на документацию. Затем идут установка для macOS, Linux, WSL2 и Windows, пример мигающего светодиода, сборка из исходников на Rust, сведения о лицензии и благодарности проектам KiCad и starlark-rust.