# zig-build-system

Помогает агенту писать и отлаживать build.zig: исполняемые файлы, библиотеки, C-исходники, опции сборки и тесты.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 508 установок · ★ 267
- Автор: mohitmishra786
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/mohitmishra786/low-level-dev-skills/tree/HEAD/skills/zig/zig-build-system/SKILL.md
- Обновлён: 2026-06-27
- HTML: https://affpapa.org/nevibecode/skills/zig-build-system

## Что делает

Скилл ведёт агента по `build.zig` шаг за шагом. Он подсказывает, как объявить исполняемый файл через `b.addExecutable`, подключить статическую или разделяемую библиотеку, добавить шаги `run` и `test`. Для проектов с C-кодом есть готовые примеры: `addCSourceFile`, `addCSourceFiles`, пути включения и `linkSystemLibrary`.

Отдельный блок — опции времени сборки. Агент покажет, как объявить `b.option` для bool, enum и целых чисел, а потом передать их в код Zig через `b.addOptions` и `@import("build_options")`. Зависимости пакетов описаны в `build.zig.zon`: имя, версия, `minimum_zig_version`, ссылки и хеши. Хеш Zig печатает сам, если его не хватает — его нужно скопировать в манифест.

Есть раздел про модули (`b.addModule`) и пользовательские шаги, например запуск внешней команды через `addSystemCommand` перед сборкой. Учтите: для сборки нужен установленный компилятор Zig, а в примерах с C — линковка libc через `linkLibC()`. Если проект собирается из одного файла без `build.zig`, этот скилл не нужен — для таких случаев в наборе есть отдельный скилл про компилятор.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill zig-build-system -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/zig-build-system/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/zig-build-system/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill zig-build-system -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/zig-build-system/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill zig-build-system -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/zig-build-system/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install mohitmishra786/low-level-dev-skills zig-build-system
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/zig-build-system/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill zig-build-system -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/mohitmishra786/low-level-dev-skills --path skills/zig/zig-build-system
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/zig-build-system/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill zig-build-system -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/mohitmishra786/low-level-dev-skills/tree/HEAD/skills/zig/zig-build-system/SKILL.md

## Когда брать
- написать `build.zig` с нуля для проекта из нескольких файлов
- добавить C-исходники и системные библиотеки в сборку Zig
- объявить опции сборки и пробросить их в код как константы
- настроить шаг `zig build test` для юнит-тестов
- подключить пакетную зависимость через `build.zig.zon`

## Примеры запросов агенту
- Помоги написать `build.zig` для проекта с `src/main.zig` и тестами
- Добавь в сборку C-файл `src/legacy.c` и подключи libc
- Как объявить опцию `backend` через `b.option` и передать её в код?

## Похожие
- [ue-module-build-system](https://affpapa.org/nevibecode/skills/ue-module-build-system.md) — скилл · 1200 установок
- [build-engineer](https://affpapa.org/nevibecode/agents/build-engineer.md) — субагент · 345 установок
- [build-game-monster-system](https://affpapa.org/nevibecode/skills/build-game-monster-system.md) — скилл · 1200 установок
- [nuget-manager](https://affpapa.org/nevibecode/skills/nuget-manager.md) — скилл · 14360 установок
- [convert-to-cpm](https://affpapa.org/nevibecode/skills/convert-to-cpm.md) — скилл · 3400 установок
- [dart-resolve-package-conflicts](https://affpapa.org/nevibecode/skills/dart-resolve-package-conflicts.md) — скилл · 18600 установок

Из того же набора: [mohitmishra786/low-level-dev-skills](https://affpapa.org/nevibecode/by/mohitmishra786/low-level-dev-skills.md) — 62 карточки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
