Добавить bootstrap для новых ПК и Linux-скрипты.

SSH-ключи и Gitea API до clone Rules; init-cursor копирует из локального $HOME/CursorRules.
This commit is contained in:
2026-06-18 10:01:11 +10:00
parent cd7513d96c
commit bdf405e2c1
13 changed files with 1147 additions and 13 deletions
+50 -7
View File
@@ -1,17 +1,42 @@
# Rules
Правила и скрипты для настройки нового компьютера: Cursor rules, git remotes, home Gitea.
Правила и скрипты для настройки нового компьютера: SSH-ключи, Cursor rules, git remotes, home Gitea.
## Первичная настройка
## Как это устроено
| Этап | Скрипт | Что делает |
|------|--------|------------|
| Новый ПК | `bootstrap.ps1` / `bootstrap.sh` | SSH-ключи, регистрация в Gitea, `git clone` Rules → `$HOME/CursorRules` |
| Новый проект | `init-cursor` | Копирует rules **из локального** `$HOME/CursorRules` в текущий каталог |
| Обновить rules | `init-cursor -Update` | `git pull` в `$HOME/CursorRules`, затем копирование |
`init-cursor` **не** тянет правила с remote напрямую — только из локального клона. Сначала нужен bootstrap (или ручной clone после настройки SSH).
## Новый Windows-ПК
На голом ПК нет доступа к приватному git — сначала скопируйте каталог Rules с рабочей машины:
```powershell
git clone https://git.kalinamall.ru/PapaTramp/Rules $HOME\CursorRules
scp -r user@working-pc:~/CursorRules $env:TEMP\rules-bootstrap
cd $env:TEMP\rules-bootstrap
.\bootstrap.ps1
```
Добавьте `init-cursor` в профиль PowerShell (один раз):
Bootstrap:
```powershell
. $HOME\CursorRules\init-cursor.ps1
1. `git config` user.name / user.email (`local/git-user.conf`)
2. Генерирует SSH-ключи, пишет `~/.ssh/config` (`scripts/Setup-GitSsh.ps1`)
3. Регистрирует pubkey в Gitea API (`scripts/Register-GiteaSshKeys.ps1`)
4. `git clone ssh://git@git.kalinamall.lan:2222/PapaTramp/Rules.git``$HOME\CursorRules`
5. Добавляет `init-cursor` в PowerShell profile
## Новый Linux-хост
```bash
scp -r user@working-pc:~/CursorRules /tmp/rules-bootstrap
cd /tmp/rules-bootstrap
chmod +x bootstrap.sh scripts/*.sh
./bootstrap.sh
```
## В каждом проекте
@@ -19,6 +44,24 @@ git clone https://git.kalinamall.ru/PapaTramp/Rules $HOME\CursorRules
```powershell
cd C:\path\to\repo
init-cursor
init-cursor -Update # подтянуть свежие rules из remote
```
Скрипт копирует `.cursorignore` и `.cursor/rules/*.mdc`, при необходимости дополняет `.gitignore`, настраивает remotes (`home`, `github`, `kalinamall`) и создаёт репозиторий на home Gitea через API.
```bash
cd ~/projects/myrepo
init-cursor
init-cursor --update
```
Скрипт копирует `.cursorignore` и `.cursor/rules/*.mdc`, дополняет `.gitignore`, настраивает remotes (`home`, `github`, `kalinamall`) и создаёт репозиторий на home Gitea через API.
## Конфиги (local/)
| Файл | Назначение |
|------|------------|
| `git-ssh-hosts.conf` | Хосты и профили SSH-ключей |
| `git-user.conf` | `user.name` / `user.email` |
| `kalinamall-gitea.conf` | API kalinamall (для регистрации SSH-ключа) |
| `papatramp-gitea.conf` | API home Gitea + Ensure-GiteaHomeRepo |
Заполните `GiteaApiPassword` в `kalinamall-gitea.conf` (приватный репозиторий).