pcb CLI

CLI от Diode для печатных плат на языке Zener: собирает схему из кода, ведет зависимости и создает файлы разводки KiCad, плюс пять скиллов

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

Расширенный доступ

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

  • Установщик запускается через `curl | bash`, а лаунчер потом скачивает наборы инструментов
  • Команды `pcb build`, `pcb layout` и `pcb sim` создают файлы и запускают внешние программы KiCad и ngspice
Все причины и проверки

diodeinc/pcb

Установка

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

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 kct и Python-библиотека для агентов: разбор и правка схем и плат KiCad с выводом в JSON, проверки DRC и ERC без запущенного KiCad

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

Скиллы для кодовых агентов, которые разбирают схемы и платы KiCad, находят ошибки проектирования и готовят плату к производству

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

MCP-сервер Seeed Studio читает схемы и платы KiCad, прослеживает связи по выводам и запускает ERC и DRC через kicad-cli.

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

MCP сервер для проектирования плат в KiCAD 10: схема, разводка, проверки и подготовка к производству через агента

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

Скилл ведет агента от идеи устройства до печатной платы, проверяет трассировку и останавливается перед оплатой заказа.

СкиллШирокий доступ179Звезды репозитория

MCP-сервер для проектирования печатных плат в KiCAD: агент размещает компоненты, разводит связи, проверяет DRC и готовит файлы на производство

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

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
pcb (эта карточка)нет473
KiCAD MCP Serverнетне нужна3 185MCP-сервер, через который агент двигает компоненты и разводит связи прямо в KiCad, а `pcb` описывает плату кодом на Zener
kicad-toolsнет73CLI и библиотека для разбора и правки готовых схем и плат KiCad, а `pcb` строит схему из кода

Коротко о README

Описание коротко представляет `pcb` и язык Zener и дает ссылки на документацию. Затем идут установка для macOS, Linux, WSL2 и Windows, пример мигающего светодиода, сборка из исходников на Rust, сведения о лицензии и благодарности проектам KiCad и starlark-rust.

Бейдж для README

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

Foxx AIpcb
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.