# Rules Скрипты для Cursor rules, SSH и git remotes (`kalinamall`, `home`, `github`). ## Быстро: что запускать | Ситуация | Windows | Mac / Linux | |----------|---------|-------------| | **Новый комп** (ничего не настроено) | Скопировать `install.ps1` с рабочего ПК → запустить в каталоге проекта | То же с `install.sh` | | **Комп уже настраивали** (`~/CursorRules` есть) | `init-cursor` в каталоге проекта | `init-cursor` | | **Только обновить rules** | `init-cursor -Update` | `init-cursor --update` | Скрипты **сами** проверяют SSH, clone, ключи и remotes. Вручную выбирать SSH/HTTPS не нужно. --- ## Новый компьютер Нужен только **git**. Repo приватный — `curl`/`irm` по raw-URL **не работают**. ### 1. Скопировать один файл с рабочей машины ```powershell # Windows — с другого ПК (пример) scp user@work-pc:CursorRules/install.ps1 $env:TEMP\ ``` ```bash # Mac — с другого ПК scp user@work-pc:CursorRules/install.sh /tmp/ ``` USB, общая папка — тоже подходит. ### 2. Запустить в каталоге **вашего проекта** ```powershell # Windows cd C:\path\to\your-repo & $env:TEMP\install.ps1 ``` ```bash # Mac cd ~/projects/your-repo bash /tmp/install.sh ``` Скрипт сам: 1. Клонирует Rules в `~/CursorRules` (SSH → если не вышло, HTTPS с логином) 2. Настраивает SSH-ключи и Gitea API (если ещё нет) 3. Копирует rules в текущий проект, настраивает remotes 4. Добавляет `init-cursor` в профиль shell --- ## Уже настроенный компьютер ```powershell cd C:\path\to\your-repo init-cursor ``` ```bash cd ~/projects/your-repo init-cursor ``` Если команда не найдена — один раз: ```powershell . $HOME\CursorRules\init-cursor.ps1 # Windows ``` ```bash source ~/CursorRules/init-cursor.sh # Mac ``` --- ## Обновить rules / скрипты ```powershell init-cursor -Update # Windows ``` ```bash init-cursor --update # Mac ``` Обновит `$HOME/CursorRules` с Gitea и перекопирует rules в проект. --- ## Git remotes (в каждом проекте) | Remote | Куда | |--------|------| | `kalinamall` | git.kalinamall.ru | | `home` | git.papatramp.ru | | `github` | github.com/PTah | Push: `git push kalinamall` ## Push по remotes (важное) | Remote | Как пушить | Ссылки в файлах | |--------|------------|-----------------| | `kalinamall` | `git push kalinamall main` (эталон) | git.kalinamall.ru | | `home` | `scripts/Push-HomeMirror.ps1` / `scripts/push-home-mirror.sh` | git.papatramp.ru | | `github` | `scripts/Publish-GithubOrphan.ps1` / `scripts/publish-to-github.sh` | github.com/PTah + hard sanitize | Рабочее дерево и обычные коммиты всегда под **kalinamall**. На home/github — зеркала через скрипты (force). Rule: `remotes-mirror-and-sanitize.mdc` (копируется `init-cursor`). --- ## Кодировка файлов (Windows / Linux) Правило **`file-encoding`** (`.cursor/rules/file-encoding.mdc`, `alwaysApply: true`): | Среда | Расширения | Кодировка | Переносы | |-------|------------|-----------|----------| | Windows / PowerShell | `.ps1`, `.psm1` | UTF-8 **with BOM** | CRLF | | Linux / shell | `.sh` | UTF-8 **без BOM** | LF | | Runtime JSON/spool (PS → SAC/API) | на диске | UTF-8 **без BOM** | — | В репозиториях проектов — `.editorconfig` и `.gitattributes` (шаблоны есть в этом repo). После `init-cursor --update` правило попадает во все проекты. --- ## Конфиги (`local/`) | Файл | Назначение | |------|------------| | `git-ssh-hosts.conf` | SSH-хосты и ключи | | `git-user.conf` | git user.name / email | | `kalinamall-gitea.conf` | API kalinamall | | `papatramp-gitea.conf` | API home Gitea | ## Подключения на новом ПК Если SSH/Gitea/GitHub/LAN ещё не настроены — см. rule **`machine-connectivity-bootstrap`** и `install.ps1` / `install.sh`.