# Rules Правила и скрипты для настройки нового компьютера: SSH-ключи, Cursor rules, git remotes, home Gitea. ## Один вызов: `init-cursor` | Состояние машины | Что делает `init-cursor` | |------------------|--------------------------| | Ничего не настроено | SSH-ключи, Gitea API, clone Rules в `$HOME/CursorRules`, профиль shell | | Git уже настроен | Только копирует rules в текущий проект + remotes | Источник правил — локальный клон `$HOME/CursorRules` (после bootstrap). Обновить: `init-cursor -Update`. ## Новый Windows-ПК Репозиторий **приватный** — `irm .../raw/.../install.ps1` без авторизации даст **404**. ### Вариант A: SSH уже работает (этот ПК) ```powershell cd C:\Users\papat\Projects\your-repo git clone --depth 1 ssh://git@git.kalinamall.ru:2222/PapaTramp/Rules.git $HOME\CursorRules & $HOME\CursorRules\install.ps1 ``` ### Вариант B: SSH ещё нет (HTTPS, логин один раз) ```powershell git clone --depth 1 https://git.kalinamall.ru/PapaTramp/Rules.git $HOME\CursorRules & $HOME\CursorRules\install.ps1 ``` Дальше в любом проекте: ```powershell init-cursor ``` ## Новый Linux-хост ```bash cd ~/projects/your-repo curl -fsSL https://git.kalinamall.ru/PapaTramp/Rules/raw/branch/main/install.sh | bash ``` Затем: ```bash init-cursor init-cursor --update ``` ## Что происходит внутри 1. **install.ps1 / install.sh** — shallow clone Rules по HTTPS (первый раз) 2. **init-cursor** вызывает `Invoke-MachineBootstrap` / `invoke-machine-bootstrap.sh`: - `local/git-user.conf` — git user.name / email - `scripts/Setup-GitSsh*` — ключи и `~/.ssh/config` - `scripts/Register-GiteaSshKeys*` — pubkey в Gitea API - clone/update `$HOME/CursorRules` (SSH, fallback HTTPS) 3. Копирует `.cursorignore`, `.cursor/rules/*.mdc`, дополняет `.gitignore` 4. `Set-GitRemotes*` + `Ensure-GiteaHomeRepo.ps1` для текущего репозитория ## Git remotes | Remote | Хост | URL | |--------|------|-----| | `kalinamall` | git.kalinamall.ru | `ssh://git@git.kalinamall.ru:2222/PapaTramp/.git` | | `home` | git.papatramp.ru | `ssh://git@git.papatramp.ru:2222/PapaTramp/.git` | | `github` | github.com/PTah | `git@github.com:PTah/.git` | `origin` не используется. `Set-GitRemotes` переименует старый `origin` по хосту. Push/pull Rules: `git push kalinamall`. ## Конфиги (local/) | Файл | Назначение | |------|------------| | `git-ssh-hosts.conf` | Хосты и профили SSH-ключей | | `git-user.conf` | `user.name` / `user.email` | | `kalinamall-gitea.conf` | API kalinamall | | `papatramp-gitea.conf` | API home Gitea |