# capacitor-app-spm-migration

Скилл ведёт агента через перенос iOS-зависимостей Capacitor-приложения с CocoaPods на Swift Package Manager. Пригодится, когда ios/ уже оброс кастомными файлами.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 593 установки · ★ 51
- Автор: capawesome-team
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/capawesome-team/skills/tree/HEAD/skills/capacitor-app-spm-migration/SKILL.md
- Обновлён: 2026-10-20
- HTML: https://affpapa.org/nevibecode/skills/capacitor-app-spm-migration

## Что делает

Скилл проводит миграцию по шагам: проверяет, что проект — именно приложение на Capacitor 6+, а не плагин, что `ios/App/Podfile` на месте и рабочее дерево чистое. Дальше агент собирает список установленных плагинов по префиксам `@capacitor/*`, `@capawesome/*`, `@capacitor-community/*` и другим, чтобы потом сверить их с SPM.

Перед удалением папки `ios/` скилл составляет чек-лист файлов с вашими правками: `Info.plist`, `AppDelegate.swift`, `Assets.xcassets`, `Base.lproj`, `App.entitlements`, `GoogleService-Info.plist`, `.xcconfig`, а также любые другие `.swift`-файлы и таргеты вроде Notification Service Extension. Всё это копируется в `.spm-migration-backup/`, а из `project.pbxproj` вытаскиваются значения подписи и версий. Затем папка удаляется и создаётся заново через `npx cap add ios --packagemanager SPM`.

Миграция разрушительная: без коммита в Git откатиться будет нечем, поэтому скилл требует чистый `git status --porcelain`. Нужны Node.js 18+, npm, Xcode 15+ на macOS и установленный CocoaPods — только для проверки старой конфигурации. Интерактивный `npx cap spm-migration-assistant` не используется, все шаги выполняются вручную. Для плагинов Capacitor, проектов уже на SPM и фреймворков вне Capacitor скилл не подходит.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add capawesome-team/skills --skill capacitor-app-spm-migration -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add capawesome-team/skills --skill capacitor-app-spm-migration -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add capawesome-team/skills --skill capacitor-app-spm-migration -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install capawesome-team/skills capacitor-app-spm-migration
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add capawesome-team/skills --skill capacitor-app-spm-migration -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/capawesome-team/skills --path skills/capacitor-app-spm-migration
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add capawesome-team/skills --skill capacitor-app-spm-migration -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/capawesome-team/skills/tree/HEAD/skills/capacitor-app-spm-migration/SKILL.md

## Когда брать
- перевести iOS-зависимости Capacitor-приложения с CocoaPods на SPM
- сохранить кастомные `Info.plist` и `AppDelegate.swift` при пересборке `ios/`
- вытащить настройки подписи и bundle id из старого `project.pbxproj`
- сверить список плагинов с тем, что резолвится под SPM
- откатить неудачную миграцию через Git

## Примеры запросов агенту
- Проведи миграцию этого Capacitor-приложения с CocoaPods на SPM по скиллу capacitor-app-spm-migration
- Сначала покажи, какие файлы в `ios/` попадут в бэкап, потом удаляй папку
- После `npx cap add ios --packagemanager SPM` восстанови файлы из `.spm-migration-backup/` и проверь сборку

## Похожие
- [cocoapods-to-spm](https://affpapa.org/nevibecode/skills/cocoapods-to-spm.md) — скилл · 796 установок
- [spm-build-analysis](https://affpapa.org/nevibecode/skills/spm-build-analysis.md) — скилл · 3400 установок
- [capacitor-app-upgrade-v7-to-v8](https://affpapa.org/nevibecode/skills/capacitor-app-upgrade-v7-to-v8.md) — скилл · 704 установки
- [kotlin-tooling-cocoapods-spm-migration](https://affpapa.org/nevibecode/skills/kotlin-tooling-cocoapods-spm-migration.md) — скилл · 1800 установок
- [xcode-build-orchestrator](https://affpapa.org/nevibecode/skills/xcode-build-orchestrator.md) — скилл · 3600 установок
- [axiom-build](https://affpapa.org/nevibecode/skills/axiom-build.md) — скилл · 1300 установок

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

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

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