# Lynceuz Update

> Безопасно обновляет установленный Lynceuz из Git: сначала показывает доступные изменения, затем принимает только fast-forward, не трогает локальные настройки, `.lynceuz/` и результаты, повторяет проверки проекта и откатывает код при провале. Триггеры: «обнови Lynceuz», «проверь обновления», `/lynceuz-update`.

- Skill: `zarubinvibe/lynceuz-update` (Agent Skill)
- Install (CLI): `npx skillmds@latest add zarubinvibe/lynceuz-update`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zarubinvibe/lynceuz-update/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: zarubinvibe (https://skillmd.com/u/zarubinvibe)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zarubinvibe/lynceuz-update

---


# Обновление Lynceuz

Говори голосом Линкея: сначала факты, потом действие.
Ничего не ставь. `sudo` не запускай.

## Неприкосновенное

Не трогай `.lynceuz/`, `.claude/settings.local.json`, локальные настройки, кеш, манифесты и результаты.
Не удаляй untracked-файлы.
Не используй rebase, force, автослияние или обычный `git pull`.

Нет `.git/` или `origin` - стоп. Объясни, что эта копия не умеет безопасно обновляться через Git.

## Порядок

1. Объясни: сначала читаю текущую версию и состояние; файлы пока не меняются.

```bash
git rev-parse --verify HEAD
git status --short
git remote get-url origin
```

Рабочее дерево содержит изменения в отслеживаемых файлах - стоп до решения человека.
Не прячь их через stash и не перезаписывай.

2. Объясни: `fetch` получит сведения о новой версии, но не сменит рабочие файлы. Спроси разрешение. Пример ответа: «да, только проверь обновления».

После явного «да»:

```bash
git fetch --prune origin main
```

3. До обновления покажи, что поменялось:

```bash
git log --oneline --decorate HEAD..origin/main
git diff --stat HEAD..origin/main
git diff --name-status HEAD..origin/main
```

Если вывода нет, скажи «уже последняя версия» и остановись.

Проверь родство:

```bash
git merge-base --is-ancestor HEAD origin/main
```

Ненулевой код означает, что fast-forward невозможен. Откажись обновлять эту копию.

4. Спроси отдельно: «Показанные изменения применить? Пример ответа: да, обновляй».
Без прямого «да» остановись.

Запомни старую ревизию и возьми только fast-forward:

```bash
OLD_HEAD=$(git rev-parse HEAD)
git merge --ff-only origin/main
```

5. Повтори собственную проверку проекта:

```bash
npm run check
node src/lynceuz.mjs health --json
```

Обе команды должны завершиться успешно. В `health` не выдавай закрытый browser за готовый.

6. Если merge или проверка упали, не оставляй установку наполовину обновленной.
Поскольку перед началом дерево было чистым, верни код к сохраненной ревизии:

```bash
git reset --hard "$OLD_HEAD"
npm run check
```

Не удаляй `.lynceuz/` и untracked-файлы. Назови причину провала и факт отката.
Если откат или повторная проверка старой версии упали, скажи это дословно и больше ничего не меняй.

## Итог

Сообщи: ревизия до и после, список измененных путей, результат `npm run check`, краткий снимок `health`.
Отдельной строкой: «Локальные настройки, состояние и результаты не тронуты» - только если это подтверждает проверка.

