Files
Rules/README.md
T

149 lines
4.7 KiB
Markdown

# 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`.
### Cursor
На **всех** remotes (kalinamall, home, github) запрещены Cursor-trailers / cursoragent / Cursor IDE в коммитах и tracked-файлах. На github дополнительно hard sanitize хостов/PII.