code-review-agent/docs/COMMANDS.md

368 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Полезные команды
## Backend
### Разработка
```bash
cd backend
# Активация venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# Установка зависимостей
pip install -r requirements.txt
# Запуск сервера
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
# Или используйте скрипт
./start.sh # Linux/Mac
start.bat # Windows
```
### База данных
```bash
# Создание миграции (если используется Alembic)
alembic revision --autogenerate -m "description"
# Применение миграций
alembic upgrade head
# Откат миграции
alembic downgrade -1
# Удаление базы
rm review.db
```
### Тестирование API
```bash
# Health check
curl http://localhost:8000/health
# Список репозиториев
curl http://localhost:8000/api/repositories
# Создание репозитория
curl -X POST http://localhost:8000/api/repositories \
-H "Content-Type: application/json" \
-d '{
"name": "test-repo",
"platform": "gitea",
"url": "https://git.example.com/owner/repo",
"api_token": "your-token"
}'
# Список ревью
curl http://localhost:8000/api/reviews
# Статистика
curl http://localhost:8000/api/reviews/stats/dashboard
```
## Frontend
### Разработка
```bash
cd frontend
# Установка зависимостей
npm install
# Запуск dev сервера
npm run dev
# Или используйте скрипт
./start.sh # Linux/Mac
start.bat # Windows
# Сборка
npm run build
# Предпросмотр сборки
npm run preview
```
### Линтинг и проверка
```bash
# ESLint
npm run lint
# TypeScript проверка
npx tsc --noEmit
# Форматирование (если используется Prettier)
npx prettier --write src/
```
## Ollama
### Управление моделями
```bash
# Список моделей
ollama list
# Загрузка модели
ollama pull codellama
ollama pull llama3
# Удаление модели
ollama rm codellama
# Информация о модели
ollama show codellama
# Запуск сервера
ollama serve
```
### Тестирование модели
```bash
# Интерактивный режим
ollama run codellama
# Одиночный запрос
ollama run codellama "Review this code: def add(a, b): return a + b"
```
## Docker (если будет добавлен)
```bash
# Сборка
docker-compose build
# Запуск
docker-compose up -d
# Остановка
docker-compose down
# Просмотр логов
docker-compose logs -f backend
docker-compose logs -f frontend
# Перезапуск
docker-compose restart
```
## Git
```bash
# Клонирование
git clone <repo-url>
cd platform/review
# Создание feature branch
git checkout -b feature/my-feature
# Коммит изменений
git add .
git commit -m "feat: Add new feature"
# Push
git push origin feature/my-feature
# Обновление из main
git checkout main
git pull
git checkout feature/my-feature
git merge main
```
## Мониторинг
### Логи
```bash
# Backend логи (если настроены)
tail -f logs/app.log
# Логи Ollama
journalctl -u ollama -f
# Системные логи
dmesg | tail
```
### Процессы
```bash
# Проверка запущенных процессов
ps aux | grep uvicorn
ps aux | grep ollama
# Проверка портов
lsof -i :8000
lsof -i :5173
lsof -i :11434
# На Windows
netstat -ano | findstr :8000
```
### Ресурсы
```bash
# CPU и память
top
htop
# Диск
df -h
du -sh *
# На Windows
taskmgr
```
## Troubleshooting
### Backend не запускается
```bash
# Проверка Python
python --version # должен быть 3.11+
# Проверка зависимостей
pip list
# Переустановка зависимостей
pip install --force-reinstall -r requirements.txt
# Проверка .env
cat .env
# Проверка портов
lsof -i :8000
```
### Ollama проблемы
```bash
# Проверка статуса
ollama list
# Проверка сервера
curl http://localhost:11434/api/tags
# Перезапуск
pkill ollama
ollama serve
# На Windows
taskkill /IM ollama.exe /F
ollama serve
```
### Frontend не загружается
```bash
# Очистка кеша
rm -rf node_modules .vite
npm install
# Проверка backend
curl http://localhost:8000/health
# Проверка proxy в vite.config.ts
cat vite.config.ts
```
### База данных
```bash
# Просмотр таблиц
sqlite3 review.db ".tables"
# Просмотр данных
sqlite3 review.db "SELECT * FROM repositories;"
# Сброс базы
rm review.db
# Перезапустите backend для пересоздания
```
## Production
### Запуск как сервис (systemd)
```bash
# Создайте файл /etc/systemd/system/ai-review.service
sudo nano /etc/systemd/system/ai-review.service
# Пример содержимого:
[Unit]
Description=AI Review Backend
After=network.target
[Service]
Type=simple
User=your-user
WorkingDirectory=/path/to/backend
Environment="PATH=/path/to/venv/bin"
ExecStart=/path/to/venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8000
Restart=always
[Install]
WantedBy=multi-user.target
# Включение и запуск
sudo systemctl enable ai-review
sudo systemctl start ai-review
sudo systemctl status ai-review
```
### Nginx reverse proxy
```nginx
server {
listen 80;
server_name your-domain.com;
location /api {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /ws {
proxy_pass http://localhost:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location / {
root /path/to/frontend/dist;
try_files $uri /index.html;
}
}
```
## Полезные алиасы
Добавьте в `.bashrc` или `.zshrc`:
```bash
# Backend
alias review-backend='cd ~/platform/review/backend && source venv/bin/activate && uvicorn app.main:app --reload'
# Frontend
alias review-frontend='cd ~/platform/review/frontend && npm run dev'
# Ollama
alias review-ollama='ollama serve'
# Логи
alias review-logs='tail -f ~/platform/review/backend/logs/app.log'
```