# macos-auto-update

Скилл, который проводит агента по всей настройке Sparkle в нативном приложении для macOS: от зависимости SPM до первого appcast.xml.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 560 установок · ★ 681
- Автор: fayazara
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/fayazara/macos-app-skills/tree/HEAD/auto-update/SKILL.md
- Обновлён: 2026-05-27
- HTML: https://affpapa.org/nevibecode/skills/macos-auto-update

## Что делает

Скилл нужен, когда в macOS-приложении надо завести автообновление вне Mac App Store. Агент добавляет пакет Sparkle в проект через SPM, кладёт в проект `UpdaterManager.swift` и настраивает ключи `SUFeedURL` и `SUPublicEDKey` в `Info.plist`. Дальше подключает кнопку «Check for Updates» в настройках или в меню-баре.

Внутри четыре шага и готовый файл-образец: синглтон поверх `SPUStandardUpdaterController`, запуск из `applicationDidFinishLaunching`, публикация `canCheckForUpdates` для привязки в интерфейсе. В DEBUG-сборках логика обновления отключена, чтобы приложение не пыталось заменить отладочную версию релизной. Для приложений без иконки в Dock скилл на время окна обновления переключает политику активации на `.regular`.

Понадобится пара EdDSA-ключей: утилиту `generate_keys` скилл находит в DerivedData, публичная часть идёт в `Info.plist`, приватная остаётся в Keychain и пригодится при подписи релиза через `sign_update`. Без неё appcast не собрать. Закрытые сборки под Hardened Runtime отдельного разрешения не требуют.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add fayazara/macos-app-skills --skill macos-auto-update -a claude-code
```
```bash
npx skills add fayazara/macos-app-skills --skill auto-update -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add fayazara/macos-app-skills --skill auto-update -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add fayazara/macos-app-skills --skill auto-update -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install fayazara/macos-app-skills auto-update
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add fayazara/macos-app-skills --skill auto-update -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/fayazara/macos-app-skills --path auto-update
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add fayazara/macos-app-skills --skill auto-update -a opencode
```

### Claude.ai

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

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

## Когда брать
- добавить Sparkle в проект на macOS через Swift Package Manager
- сделать синглтон-обёртку над `SPUStandardUpdaterController`
- прописать `SUFeedURL` и публичный EdDSA-ключ в `Info.plist`
- вывести пункт «Check for Updates» в настройках или меню-баре
- сгенерировать пару ключей и начальный `appcast.xml` для репозитория

## Примеры запросов агенту
- Добавь автообновление через Sparkle в моё macOS-приложение
- Настрой `UpdaterManager.swift` и подключи проверку обновлений к настройкам
- Сгенерируй EdDSA-ключи и собери `appcast.xml` для релиза

## Похожие
- [vercel-react-native-skills](https://affpapa.org/nevibecode/skills/vercel-react-native-skills.md) — скилл · 255200 установок
- [animate-expo](https://affpapa.org/nevibecode/skills/animate-expo.md) — скилл · 137900 установок
- [mobile-native](https://affpapa.org/nevibecode/skills/mobile-native.md) — скилл · 86600 установок
- [aso](https://affpapa.org/nevibecode/skills/aso.md) — скилл · 75400 установок
- [swiftui-pro](https://affpapa.org/nevibecode/skills/swiftui-pro.md) — скилл · 35200 установок
- [orca-emulator](https://affpapa.org/nevibecode/skills/orca-emulator.md) — скилл · 5800 установок

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

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