# build-acceleration

Скилл для ИИ-агентов, который помогает разобраться, почему сборка C/C++ идёт медленно, и настроить кэш, распределённую компиляцию и PCH.

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

## Что делает

Скилл ведёт агента по шагам: сначала диагностика узкого места, потом конкретные инструменты. Для диагностики предлагается замерить полную сборку через `time cmake --build build -j$(nproc)`, собрать отчёт по времени компиляции флагами `-ftime-report` и посмотреть тайминги в Ninja. Дальше — по ситуации.

Внутри разобраны ccache и sccache, прекомпилированные заголовки через `target_precompile_headers`, unity-сборки с `UNITY_BUILD`, split-DWARF для ускорения линковки и распределённая компиляция через distcc. Отдельный раздел — прореживание заголовков с IWYU. Для ccache и sccache даны примеры конфигурации, включая общий кэш для CI и бэкенд S3 у sccache.

Есть места, где легко ошибиться. Unity-сборка ломается на анонимных пространствах имён и дублирующихся статических переменных, поэтому проблемные файлы исключают через `SKIP_UNITY_BUILD_INCLUSION`. Прекомпилированные заголовки стоит применять к большим и стабильным заголовкам вроде STL, Boost или Qt, а не к проектным файлам, которые часто меняются. Для distcc нужны установленный демон на рабочих машинах и список хостов в `DISTCC_HOSTS`.

## Требования
- Работает с: Unity

## Установка

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

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

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

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

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

### Claude.ai

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

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

## Когда брать
- понять, какой файл тормозит сборку
- настроить ccache и проверить процент попаданий
- собрать кэш sccache с бэкендом S3
- подключить прекомпилированные заголовки в CMake
- сократить время линковки через split-DWARF

## Примеры запросов агенту
- Моя сборка на C++ слишком долгая, помоги найти узкое место
- Настрой ccache для этого CMake-проекта
- Как подключить unity-сборку и не сломать ODR?

## Похожие
- [qt-cmake-project](https://affpapa.org/nevibecode/skills/qt-cmake-project.md) — скилл · 530 установок
- [cmake-vcpkg](https://affpapa.org/nevibecode/rules/cmake-vcpkg.md) — правило · ★ 40418
- [bazel-build-optimization](https://affpapa.org/nevibecode/skills/bazel-build-optimization.md) — скилл · 10300 установок
- [cpp-pro](https://affpapa.org/nevibecode/skills/httpsgithubcomjeffallan-cpp-pro.md) — скилл · 5300 установок
- [cpp-testing](https://affpapa.org/nevibecode/skills/cpp-testing.md) — скилл · 4700 установок
- [vcpkg](https://affpapa.org/nevibecode/skills/vcpkg.md) — скилл · 26 установок

Из того же набора: [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
