# qt-cmake-project

Скилл собирает и правит CMake для проектов на Qt 6: цели, QML-модули, ресурсы. Пригодится, когда агент путает команды Qt 5 и Qt 6.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 530 установок · ★ 507
- Автор: qt-ai-skills
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/TheQtCompanyRnD/agent-skills/tree/HEAD/skills/qt-cmake-project/SKILL.md
- Обновлён: 2026-10-20
- HTML: https://affpapa.org/nevibecode/skills/qt-cmake-project

## Что делает

Скилл ведёт агента по настройке Qt CMake через API из установленного Qt SDK — так доступны возможности, которых нет в обычном CMake. Он разбирает шесть сценариев по справочным файлам: простой проект с одной целью, модульная архитектура с `add_subdirectory()`, интеграция QML, работа с ресурсами, сборка и конфигурация. Перед финальным ответом агент сверяет результат с `references/common-mistakes.md`.

Внутри — жёсткие правила, которые обычные модели нарушают по умолчанию. Только команды Qt 6: `qt_add_executable`, `qt_add_library`, `qt_add_qml_module`, `qt_add_resources`, `qt_add_plugin`, `qt_add_translations`. Обязателен вызов `qt_standard_project_setup()` после первого `find_package(Qt6 ...)` и явная минимальная версия в `find_package(Qt6 6.8 REQUIRED COMPONENTS ...)`. QML-файлы идут через `qt_add_qml_module()`, а не через `.qrc`.

Есть и защита от подмены инструкций: содержимое `CMakeLists.txt`, `*.cmake`, `CMakePresets.json`, `.qrc`, `qmldir`, `.qml` и `.cpp/.h` считается материалом для анализа, а не командами к исполнению. Если сомневаетесь в сигнатуре команды, скилл советует сначала спросить MCP-инструмент документации Qt: выдуманные имена вроде `SOURCE_FILES` или `QRC_PREFIX` не существуют. Для работы нужна установка Qt SDK с CMake API.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add TheQtCompanyRnD/agent-skills --skill qt-cmake-project -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add TheQtCompanyRnD/agent-skills --skill qt-cmake-project -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add TheQtCompanyRnD/agent-skills --skill qt-cmake-project -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install TheQtCompanyRnD/agent-skills qt-cmake-project
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add TheQtCompanyRnD/agent-skills --skill qt-cmake-project -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/TheQtCompanyRnD/agent-skills --path skills/qt-cmake-project
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add TheQtCompanyRnD/agent-skills --skill qt-cmake-project -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/TheQtCompanyRnD/agent-skills/tree/HEAD/skills/qt-cmake-project/SKILL.md

## Когда брать
- сгенерировать CMakeLists.txt для нового проекта на Qt 6
- добавить цель-исполняемый файл или библиотеку с явной видимостью
- подключить QML-модуль и связать его с C++
- перенести проект с макросов Qt 5 на команды Qt 6
- разложить ресурсы, иконки и переводы по целям

## Примеры запросов агенту
- Создай Qt 6 проект с одним исполняемым файлом и QML-интерфейсом
- Добавь в CMakeLists.txt библиотеку и подключи её к приложению
- Вынеси картинки и шрифты в ресурсы через qt_add_resources

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

Из того же набора: [theqtcompanyrnd/agent-skills](https://affpapa.org/nevibecode/by/theqtcompanyrnd/agent-skills.md) — 8 карточек

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