From 5c0f5e7bb1b2d258802c6455c4d24a5f56eaca23 Mon Sep 17 00:00:00 2001 From: DosAi Date: Sun, 2 Nov 2025 16:31:38 +0300 Subject: [PATCH] docs: Add Windows/PowerShell and Ubuntu server environment information --- .cursorrules | 13 +++++++++++++ docs/KNOWLEDGE_BASE.md | 43 ++++++++++++++++++++++++++++++++++++++---- docs/PROJECT_RULES.md | 40 ++++++++++++++++++++++++++++++++++++--- 3 files changed, 89 insertions(+), 7 deletions(-) diff --git a/.cursorrules b/.cursorrules index dc99ab7..4372d6f 100644 --- a/.cursorrules +++ b/.cursorrules @@ -96,3 +96,16 @@ export const myCalculatorConfig: CalculatorConfig = { Подробнее: `docs/PROJECT_RULES.md` +### Окружение разработки + +**Платформы:** +- Разработка: Windows + PowerShell +- Хостинг: Ubuntu Linux + +**Важно для разработки:** +- В PowerShell используй `;` вместо `&&` для цепочки команд +- Пути в Git всегда с `/`, даже на Windows +- При работе через SSH используй Linux команды + +Подробнее: `docs/PROJECT_RULES.md` и `docs/KNOWLEDGE_BASE.md` + diff --git a/docs/KNOWLEDGE_BASE.md b/docs/KNOWLEDGE_BASE.md index 9ab5464..35b1708 100644 --- a/docs/KNOWLEDGE_BASE.md +++ b/docs/KNOWLEDGE_BASE.md @@ -194,20 +194,55 @@ import { myCalcConfig } from '@/calculators/my-calc/config'; registerCalculator(myCalcConfig); ``` +## Окружение разработки + +### Платформы +- **Разработка**: Windows с PowerShell +- **Хостинг**: Ubuntu Linux + +### Особенности разработки на Windows +- PowerShell не поддерживает оператор `&&` для цепочки команд +- Используйте `;` или выполняйте команды отдельно +- Пути в Git и конфигах всегда используют `/`, даже на Windows +- При работе через SSH используйте Linux команды + +### Локальная разработка (Windows + PowerShell) +```powershell +# Frontend - один терминал +cd frontend +npm install +npm run dev + +# Backend - отдельный терминал +cd backend +node bot.js +``` + ## Деплой ### Сервер -- IP: 192.168.0.19 -- Пользователь: dosai -- Путь: ~/projects/DoSoapCalc +- **ОС**: Ubuntu Linux +- **IP**: 192.168.0.19 +- **Пользователь**: dosai +- **Путь**: ~/projects/DoSoapCalc +- **Управление процессами**: PM2 ### Процессы PM2 - `dosoap-frontend` - Next.js приложение - `dosoap-backend` - Express сервер ### Команды деплоя +**С локального Windows (PowerShell):** +```powershell +# Отправить изменения +git push origin dev + +# Подключиться и обновить сервер (Ubuntu команды через SSH) +ssh dosai@192.168.0.19 "cd ~/projects/DoSoapCalc && git pull origin dev && cd frontend && npm run build && pm2 restart dosoap-frontend dosoap-backend" +``` + +**Или на сервере напрямую (Ubuntu):** ```bash -# На сервере cd ~/projects/DoSoapCalc git pull origin dev cd frontend && npm run build diff --git a/docs/PROJECT_RULES.md b/docs/PROJECT_RULES.md index a639fbf..127cae4 100644 --- a/docs/PROJECT_RULES.md +++ b/docs/PROJECT_RULES.md @@ -132,14 +132,48 @@ git push origin dev 4. ✅ Функционал работает корректно 5. ✅ Нет критических ошибок в консоли браузера +## Окружение разработки + +### Платформы +- **Разработка**: Windows с PowerShell +- **Хостинг**: Ubuntu Linux сервер + +**Важно учитывать:** +- В PowerShell команды с `&&` не работают, используйте `;` или отдельные команды +- Пути к файлам на Windows используют обратные слеши `\`, но в Git и конфигах используйте `/` +- При работе через SSH с Ubuntu используйте стандартные Linux команды + +### Локальная разработка (Windows) +```powershell +# Frontend +cd frontend +npm install +npm run dev + +# Backend (в отдельном терминале) +cd backend +node bot.js +``` + ## Деплой на сервер +### Сервер информация: +- **ОС**: Ubuntu Linux +- **Пользователь**: dosai +- **Путь проекта**: `~/projects/DoSoapCalc` +- **Управление процессами**: PM2 + ### Порядок действий: 1. Закоммитить изменения в ветку `dev` 2. Отправить на сервер: `git push origin dev` -3. На сервере: `git pull origin dev` -4. Пересобрать фронтенд: `cd frontend && npm run build` -5. Перезапустить процессы: `pm2 restart dosoap-frontend dosoap-backend` +3. Подключиться к серверу: `ssh dosai@192.168.0.19` +4. На сервере (Ubuntu): + ```bash + cd ~/projects/DoSoapCalc + git pull origin dev + cd frontend && npm run build + pm2 restart dosoap-frontend dosoap-backend + ``` ## Тестирование