--- description: Новый или «голый» ПК — сначала SSH, Gitea, GitHub и LAN alwaysApply: true --- # Подключения: Gitea, GitHub, LAN Если на компьютере **нет** рабочих SSH/HTTPS-доступов к git и LAN — **настрой их до начала задачи** (clone, push, deploy, API Gitea). ## Когда проверять В **начале сессии** или **перед** git push, deploy, clone, работой с `$HOME/CursorRules`: - `git remote -v`; пробный `git fetch` / `git ls-remote` по каждому нужному remote - SSH: `git@github.com`, Gitea (`git.kalinamall.ru`, `git.papatramp.ru` / LAN IP), хосты деплоя (например `192.168.128.77`) - наличие `~/CursorRules` (Windows: `%USERPROFILE%\CursorRules`) и `local/*.conf` **Не начинай** push, deploy или clone «вслепую», если проверка не прошла. ## Что считается «нет подключений» | Симптом | Значит | |---------|--------| | `Permission denied (publickey)` | нет SSH-ключа или записи в `~/.ssh/config` | | `Could not resolve host` / timeout на Gitea/GitHub | нет сети/VPN или неверный HostName | | нет `$HOME/CursorRules` | репозиторий Rules не развёрнут | | нет ключей из `local/git-ssh-hosts.conf` в `~/.ssh/` | не запускали Setup-GitSsh | | нет `local/papatramp-gitea.conf`, `kalinamall-gitea.conf` | API Gitea не настроен | | deploy: нет `deploy/secrets.env` | локальный деплой по паролю не настроен | ## Что делать (по порядку) ### 1. Новый компьютер (ничего нет) Из каталога **рабочего проекта**: | ОС | Действие | |----|----------| | Windows | скопировать `install.ps1` с рабочего ПК → запустить в каталоге проекта | | Mac / Linux | то же с `install.sh` | Скрипт клонирует Rules в `~/CursorRules`, создаёт ключи, `~/.ssh/config`, remotes, `init-cursor`. ### 2. CursorRules уже есть, но доступы сломаны или неполные Windows: ```powershell & $HOME\CursorRules\scripts\Invoke-MachineBootstrap.ps1 -Root $HOME\CursorRules & $HOME\CursorRules\scripts\Setup-GitSsh.ps1 & $HOME\CursorRules\scripts\Set-GitRemotes.ps1 -RepoPath (Get-Location) init-cursor -Update ``` Mac / Linux: ```bash ~/CursorRules/scripts/invoke-machine-bootstrap.sh ~/CursorRules/scripts/setup-git-ssh.sh ~/CursorRules/scripts/Set-GitRemotes.sh "$(pwd)" init-cursor --update ``` ### 3. Проект с удалённым деплоем ```bash cp deploy/secrets.env.example deploy/secrets.env # DEPLOY_HOST, DEPLOY_PASSWORD; при входе по паролю — DEPLOY_SSH_KEY=0 ``` На Windows без `sshpass`: `python scripts/deploy-remote.py` (если скрипт есть в проекте). ## Remotes (эталон) | Remote | Куда | |--------|------| | `kalinamall` | git.kalinamall.ru | | `home` | git.papatramp.ru | | `github` | github.com/PTah | На **сервере деплоя** `origin` должен быть **достижим из LAN** (часто `https://github.com/PTah/.git`, а не публичный HTTPS `git.papatramp.ru`). ## Агент 1. При первом `git fetch` / `push` / deploy в сессии — **проверь** remotes и SSH. 2. При ошибке доступа — **сначала bootstrap** (скрипты выше), затем повтори операцию. 3. **Не** проси «создай репо вручную», пока не пробовал API/скрипты из `gitea-home-api`. 4. `deploy/secrets.env`, `local/*.conf` — **не коммитить**.