Что получится
GitHub tema-mail/claude-codex-kit · приватный
- 64 скилла и 12 агентов Claude
- 92 скилла и 2 агента Codex
- Правила, хуки, память
- Всё одним файлом
Твой компьютер Mac или Windows
- Codex ведёт установку
- VS Code + Remote-SSH
- Копия набора локально
Сервер evo-vps Ubuntu, пользователь claude
- Claude Code под evolutioncar.nsk
- Node 22 для сайтов на Astro
- Весь набор в
~/.claude - Проекты в
~/projects
Стек закреплён в правилах: фронт сайтов всегда Astro. Бэкенд выбирает архитектор под задачу. Анимации по возможности на Preact, но можно и другое, если ситуация требует. Claude на сервере будет знать это с первой сессии.
Что подготовить
Скопируй это в Codex
Нажми «Скопировать всё», открой Codex, вставь текст и отправь. Дальше Codex будет вести по шагам: сам запускает команды и спрашивает тебя, только когда нужен пароль или клик в браузере.
# Задание для Codex: развернуть Claude Code на VPS с набором скиллов
Ты — Codex на компьютере пользователя. Цель: на сервере (VPS) работает Claude Code со всеми скиллами, агентами, правилами и памятью из репозитория `tema-mail/claude-codex-kit`; пользователь открывает его через VS Code (Remote-SSH); копия набора стоит и на этом компьютере.
## Как вести пользователя
- По-русски, коротко. Шаги строго по одному: выполнил → проверил вывод → следующий.
- Команды, которые можешь выполнить сам в терминале этого компьютера, — выполняй сам и показывай результат.
- Пароли вводит только пользователь (запрос пароля SSH, вход в Google). Не проси вставить пароль в чат, не сохраняй пароли и токены в файлы.
- Токен GitHub нужен один раз, на шаге 2. На сервер его не передавай: набор уезжает туда архивом по SSH (шаг 8).
- Ошибку разбирай по её выводу. Не переходи дальше, пока проверка шага не прошла.
## Данные (спроси у пользователя в начале)
| Что | Значение |
| --- | --- |
| Система этого компьютера | macOS или Windows |
| IP сервера | `<IP_СЕРВЕРА>` — из письма или панели хостинга |
| Вход на сервер от хостинга | `root` + пароль из письма хостинга |
| Токен GitHub | `<ТОКЕН_GITHUB>` — дадут отдельно |
| Аккаунт Claude | `evolutioncar.nsk@gmail.com`, пароль дадут отдельно; нужна подписка Claude Pro или Max |
Требования к серверу: чистый Ubuntu 22.04/24.04 (или Debian 12), от 2 ГБ RAM, **в стране, где доступен Claude** (например Нидерланды, Германия, США). Это обязательно: Claude Code обращается к API с самого сервера, и VPN на компьютере пользователя на это не влияет — на российском VPS установка оборвётся, а Claude не заработает.
Ниже `IP` = IP сервера, `TOKEN` = токен GitHub.
---
## Шаг 1. Программы на этом компьютере
**Windows: все команды дальше выполняй в Git Bash** (Пуск → Git Bash), не в PowerShell — тогда они одинаковые для обеих систем.
macOS:
```bash
brew install --cask visual-studio-code # нет Homebrew — скачать с https://code.visualstudio.com
git --version # нет git — xcode-select --install, дождаться окна установки
```
Windows (PowerShell, один раз):
```powershell
winget install --id Git.Git -e
winget install --id Microsoft.VisualStudioCode -e
```
Расширения VS Code (в новом терминале):
```bash
code --install-extension ms-vscode-remote.remote-ssh
code --install-extension anthropic.claude-code
```
Если `code` не найдена (VS Code скачан вручную): открыть VS Code → `F1` → `Shell Command: Install 'code' command in PATH` → повторить.
Проверка: `git --version` и `code --version` печатают версии.
## Шаг 2. Скачать набор на этот компьютер
Токен вводится в запрос пароля, а `credential.helper=` отключает хранилище паролей — поэтому токен не остаётся ни в командной строке, ни в связке ключей, ни в `.git/config`:
```bash
cd ~ && git -c credential.helper= clone https://github.com/tema-mail/claude-codex-kit.git claude-codex-kit
```
На запрос `Username` ввести `x-access-token`, на `Password` — токен (вводит пользователь; в терминале он не отображается).
Проверка: `ls ~/claude-codex-kit/install.sh` и `grep -c token ~/claude-codex-kit/.git/config` → файл есть, счётчик `0`.
Разложить скиллы и правила локально (для Codex и Claude Code на этом компьютере):
```bash
cd ~/claude-codex-kit && bash install.sh
```
Проверка: в конце «Готово.», «Скиллы Claude: не меньше 64», «Скиллы Codex: не меньше 76». Если у пользователя были свои скиллы, чисел будет больше — это нормально; заменённое лежит в `~/.kit-backup-<дата>`.
## Шаг 3. SSH-ключ
```bash
mkdir -p ~/.ssh && ssh-keygen -t ed25519 -f ~/.ssh/evo_vps_ed25519 -N "" -C "evo-vps"
```
## Шаг 4. Положить ключ на сервер (пароль вводит пользователь)
Попроси пользователя выполнить в своём терминале и ввести пароль root от хостинга:
```bash
cat ~/.ssh/evo_vps_ed25519.pub | ssh root@IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
```
Первый раз спросит `Are you sure you want to continue connecting` → `yes`.
Проверка (пароль уже не спрашивает): `ssh -i ~/.ssh/evo_vps_ed25519 root@IP "echo ok"` → `ok`.
## Шаг 5. Рабочий пользователь `claude` на сервере
```bash
ssh -i ~/.ssh/evo_vps_ed25519 root@IP 'bash -s' <<'EOF'
set -e
id claude >/dev/null 2>&1 || adduser --disabled-password --gecos "" claude
usermod -aG sudo claude
echo 'claude ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/claude && chmod 440 /etc/sudoers.d/claude
mkdir -p /home/claude/.ssh
cp /root/.ssh/authorized_keys /home/claude/.ssh/authorized_keys
chown -R claude:claude /home/claude/.ssh && chmod 700 /home/claude/.ssh && chmod 600 /home/claude/.ssh/authorized_keys
echo user-ok
EOF
```
Проверка: вывод `user-ok`.
## Шаг 6. Алиас сервера в SSH-конфиге
Добавь в `~/.ssh/config` (Windows в Git Bash — тот же путь), подставив IP:
```
Host evo-vps
HostName IP
User claude
IdentityFile ~/.ssh/evo_vps_ed25519
IdentitiesOnly yes
ServerAliveInterval 30
ServerAliveCountMax 3
```
Проверка: `ssh evo-vps "whoami"` → `claude`.
## Шаг 7. Закрыть вход по паролю (только после успешной проверки шага 6)
```bash
ssh evo-vps 'printf "PasswordAuthentication no\nKbdInteractiveAuthentication no\nPermitRootLogin prohibit-password\n" | sudo tee /etc/ssh/sshd_config.d/00-keys-only.conf >/dev/null && sudo sshd -t && (sudo systemctl restart ssh || sudo systemctl restart sshd) && echo ssh-ok'
```
Проверка: `ssh-ok`, затем снова `ssh evo-vps whoami` → `claude`. Если второй проверки нет — не закрывай терминал, зайди через консоль в панели хостинга и удали `/etc/ssh/sshd_config.d/00-keys-only.conf`.
## Шаг 8. Claude Code и набор на сервере
Набор уезжает архивом по SSH — токен на сервер не попадает:
```bash
tar -C ~ -czf - claude-codex-kit | ssh evo-vps 'tar -xzf - -C ~ && bash ~/claude-codex-kit/vps-setup.sh'
```
Скрипт ставит git, Node.js 22, gitleaks, Claude Code и раскладывает набор. Занимает 3–7 минут (архив ~130 МБ).
Проверка: в конце «Сервер готов», версии `node v22…` и `claude …`.
## Шаг 9. VS Code → сервер
1. VS Code → `F1` → `Remote-SSH: Connect to Host` → `evo-vps` → платформа **Linux**.
2. Внизу слева зелёная плашка `SSH: evo-vps`.
3. File → Open Folder → `/home/claude/projects` → «Yes, I trust the authors».
4. Extensions → Claude Code → **Install in SSH: evo-vps** (если кнопка есть).
## Шаг 10. Вход в Claude (делает пользователь)
1. Включить VPN в стране, где работает Claude. Это нужно только для входа в браузере: из России сайт claude.ai не открывается.
2. Панель Claude слева → **Log in** → в браузере **Continue with Google** → `evolutioncar.nsk@gmail.com` → пароль.
3. Браузер покажет «Authentication successful» или код → вернуться в VS Code, код вставить в поле.
4. После входа VPN можно выключить: логин хранится на сервере, а сам сервер стоит в стране, где Claude доступен.
Запасной путь, если кнопки нет: терминал VS Code (`Ctrl+\``) → `claude` → `/login` → открыть ссылку в браузере → вставить код.
## Шаг 11. Итоговая проверка
В терминале VS Code (он уже на сервере, папка `/home/claude/projects`):
```bash
claude --version && ls ~/.claude/skills | wc -l && ls ~/.claude/agents | wc -l && grep -c Astro ~/.claude/CLAUDE.md && ls ~/.claude/projects/-home-claude-projects/memory | wc -l
```
Ожидается: версия Claude Code, не меньше `64`, не меньше `12`, число больше `0`, `13` файлов памяти.
В панели Claude спросить: «какой стек для сайтов у нас закреплён?» → ответ: фронт Astro, бэкенд выбирает архитектор под задачу, анимации предпочтительно Preact.
## Если сломалось
| Симптом | Что делать |
| --- | --- |
| `Permission denied (publickey)` | Ключ не на сервере или не тот файл: повторить шаги 4–6. |
| `Connection closed` до ввода пароля | Сервер временно забанил IP: подождать 15–60 мин или сменить IP (VPN); запасной вход — консоль в панели хостинга. |
| `git clone`: 401 или 403 | Токен неверный или истёк — попросить новый. |
| Установщик Claude Code не скачивается | Сервер в стране, где Claude недоступен. Нужен другой VPS; VPN на компьютере не поможет. |
| `claude: command not found` | Открыть новый терминал или `export PATH="$HOME/.local/bin:$PATH"`. |
| Claude пишет «not available in your region» | VPN выключен или страна не та; включить и повторить Log in. |
| Windows: `ssh` не найден | Settings → Apps → Optional features → OpenSSH Client. |
| `apt-get`: could not get lock | Идут автообновления; скрипт ждёт до 10 минут сам, иначе подождать и запустить `bash ~/claude-codex-kit/vps-setup.sh` снова. |
## Обновление набора потом
```bash
cd ~/claude-codex-kit && git pull && bash install.sh # на компьютере, спросит логин и токен
tar -C ~ -czf - claude-codex-kit | ssh evo-vps 'tar -xzf - -C ~ && bash ~/claude-codex-kit/install.sh' # на сервер
```
Этот же текст лежит в репозитории файлом CODEX-ИНСТРУКЦИЯ.md.
Что будет по шагам
- 1Программы. Git, VS Code, расширения Remote-SSH и Claude Code. Codex
- 2Набор на компьютер. Скачивает репозиторий и раскладывает скиллы локально. дай токен GitHub
- 3SSH-ключ. Создаёт ключ
evo_vps_ed25519. Codex - 4Ключ на сервер. Одна команда, она спросит пароль root. введи пароль
- 5Пользователь claude на сервере с правами администратора. Codex
- 6Алиас
evo-vpsв SSH-конфиге. Codex - 7Вход только по ключу. Пароль на сервере отключается. Codex
- 8Claude Code на сервере. Node 22, gitleaks, Claude Code и весь набор, 2–5 минут. Codex
- 9VS Code к серверу. Connect to Host →
evo-vps→ папка/home/claude/projects. клики в VS Code - 10Вход в Claude. Включи VPN, нажми Log in, затем Continue with Google под
evolutioncar.nsk@gmail.com. вход в браузере - 11Проверка. Сверка количества скиллов и агентов, вопрос Claude про стек. Codex
Что в наборе
| Что | Куда ставится | Сколько |
|---|---|---|
| Правила Claude | ~/.claude/CLAUDE.md | 1 |
| Агенты и субагенты Claude | ~/.claude/agents | 12 |
| Скиллы Claude | ~/.claude/skills | 64 |
| Хуки и настройки | ~/.claude/hooks, settings.json | 2 + 1 |
| Память | ~/.claude/projects/…/memory | 11 |
| Правила и агенты Codex | ~/.codex/AGENTS.md, ~/.codex/agents | 1 + 2 |
| Скиллы Codex | ~/.codex/skills, ~/.agents/skills | 76 + 16 |
| Всё одним файлом | ВСЁ-В-ОДНОМ.md в репозитории | 16 МБ |
Ключей сервисов в наборе нет: OpenRouter, Segmind, Scrape Creators, база viberendered. Без них соответствующие скиллы работают только как справочники. Ключи кладутся вручную в ~/.claude/secrets/<имя>.key.
Проверка
В терминале VS Code (он уже на сервере):
claude --version && ls ~/.claude/skills | wc -l && ls ~/.claude/agents | wc -l
Должно быть: версия, 64, 12. Потом в панели Claude:
какой стек для сайтов у нас закреплён?
Правильный ответ: фронт Astro, бэкенд выбирает архитектор, анимации по возможности Preact.
Если сломалось
| Симптом | Что делать |
|---|---|
Permission denied (publickey) | Ключ не попал на сервер или указан не тот файл. Повторить шаги 4–6. |
Connection closed до ввода пароля | Сервер временно заблокировал IP. Подождать 15–60 минут, сменить IP через VPN или зайти через консоль в панели хостинга. |
git clone: 401 или 403 | Токен GitHub неверный или истёк. Попросить новый. |
claude: command not found | Открыть новый терминал или выполнить export PATH="$HOME/.local/bin:$PATH". |
| «not available in your region» | VPN выключен или выбрана не та страна. Включить VPN и снова нажать Log in. |
Windows: ssh не найден | Settings → Apps → Optional features → OpenSSH Client. |
Обновить набор, когда в репозитории появятся новые скиллы:
cd ~/claude-codex-kit && git pull && bash install.sh