Перейти к содержанию

Dev workflow — как ведём разработку

Составлено агентом 06.08.2026 на основе установленных практик работы за август 2026. Требует ревью пользователем: подтвердить актуальность правил и добавить пропущенное.

Быстрая справка

Компонент Роль
Windows 10/11 + WSL2 Основная рабочая машина
VS Code Редактор
Bash / PowerShell Терминал
Git Версии
GitHub (private) Хостинг репозиториев + CI/CD
Perplexity Computer AI-агент для инфраструктуры + рутин
RAG (Open WebUI + Ollama) Локальная база знаний с индексацией KB

Репозитории

Все приватные, owner oswold1979 (см. github-audit.md):

Репо Стек Деплой Статус
alatyr-infra-kb Markdown RAG-sync через sync-to-openwebui.sh ✅ активный
alatyr-service TypeScript Node.js GitHub Actions → VPS ✅ работает
alatyr-taverna React + Vite ⛔ Actions отсутствует (задача 30) ⚠ ручной деплой
alatyr React (дубликат) 🗑 к архивации (задача 31a)

Правила коммитов в KB

Автоматизированы через memory-правила Perplexity Computer:

  1. При старте сессииgit pull приватного репо github.com/oswold1979/alatyr-infra-kb
  2. Правки коммитим сразу, без переспрашивания. Формат:
    git -c user.email="oswold1979@gmail.com" -c user.name="Roman Golovin" commit -m "..."
    
  3. При закрытии задачи из TODO ставим ✅, обновляем changelog, коммитим
  4. Финальный wrap-up коммит в конце сессии если остались правки
  5. Никогда не кладём в git секреты: API-ключи, пароли, приватные ключи
  6. Утечки ключей записываем в TODO как срочную ротацию

Правила безопасности

  • Секреты только в Vaultwarden (vault.alatyr-service.ru) — никогда в чате Perplexity, никогда в git
  • .env файлы на серверах — chmod 600, owner oswold
  • SSH-ключи — приватные части никогда не покидают ноутбук/сервер
  • Ротация ключа при любой утечке (в чат, в лог, в скриншот)

Локальная работа

Windows 10/11 + WSL2

  • Основная работа в WSL2 (Ubuntu)
  • VS Code с расширением Remote-WSL
  • Git настроен в WSL: ~/.gitconfig

VS Code

  • Расширения (рекомендуемые):
  • Remote - WSL — работа в WSL2 из VS Code
  • GitLens — история коммитов в редакторе
  • ESLint — линтинг JS/TS
  • Prettier — форматирование
  • Docker — работа с docker-compose

Git

  • Юзер: Roman Golovin
  • Email: oswold1979@gmail.com
  • Настроен SSH-ключ для GitHub

Удалённые машины

VPS 46.17.99.183 (Hostkey vm-mini)

SSH: ssh oswold@46.17.99.183

  • Юзер oswold (не root), sudo при необходимости
  • Порт: 22 (стандартный, защищён fail2ban)
  • Прямой SSH из интернета работает
  • Что там живёт → vps-hostkey-vm-mini.md

Ragserver 192.168.1.200 (домашний мини-ПК)

SSH из LAN: ssh oswold@192.168.1.200

SSH через VPN (когда не дома): 1. Поднять AmneziaWG клиент на ноутбуке 2. ssh oswold@192.168.1.200 — работает через VPN

VPN обход DPI

Домашний провайдер Инетком режет vault.alatyr-service.ru по SNI.

Обходы (по приоритету): 1. AmneziaWG VPN (основной, работает всегда) → amneziawg-tunnels.md 2. IP fallback https://46.17.99.183:8443/ (обход SNI) 3. Мобильный интернет (не Инетком)

GitHub Actions

alatyr-service (эталон)

Работает по push в main: - .github/workflows/deploy.yml в репо - Секреты: SSH_PRIVATE_KEY в GitHub → авто-деплой на VPS - 5 успешных запусков (июль 2026)

alatyr-taverna (сломан → задача 30)

  • Workflow удалён (был раньше, потом удалили)
  • Нужно восстановить по образцу alatyr-service
  • Отличие: React/Vite (npm run build → deploy dist/)

alatyr-infra-kb (не нужен CI)

  • Только текст, нет сборки
  • RAG-sync через sync-to-openwebui.sh (пока вручную, задача 6 — cron)

RAG-based dev-помощь

Локальный AI-редактор: - Continue.dev + Ollama на ragserver — бесплатно, приватно, качество среднее - Cursor — отдельный редактор с AI-first, ~$20/мес, нужен VPN для платежа (RU заблокирован)

Perplexity Computer как AI-агент: - Инфраструктурные задачи (правка KB, git-операции, cron) - Через web-интерфейс + memory-правила для проекта Alatyr Infrastructure - Ежедневный дайджест по репо KB отключён 27.08.2026; прежняя задача ba645ae6 удалена и не должна создаваться повторно без отдельного решения владельца

Preview-деплои

Отдельная тема — preview через .pplx.app (задача 32): - Быстро задеплоить ветку feature/* для проверки перед merge в main - Работает через pplx-tool deploy_website из Perplexity Computer

Типичный цикл разработки

Новая фича в alatyr-service: 1. git checkout -b feature/xxx (в WSL или на VPS) 2. Написать код в VS Code 3. Локальный тест: npm run dev 4. Коммит + push в GitHub 5. GitHub Actions задеплоит в prod (после merge в main) 6. Проверка: curl -I https://alatyr-service.ru

Правка KB: 1. Через агента Perplexity Computer (проект Alatyr Infrastructure) 2. Или локально: git clone → правка в VS Code → git push 3. Раз в N минут (когда настроим cron) — sync в OpenWebUI RAG 4. Итого: правки в KB сразу же доступны в LLM-контексте

Правка на сервере: 1. ssh oswold@46.17.99.183 2. sudo nano /etc/nginx/sites-enabled/... 3. sudo nginx -t && sudo systemctl reload nginx 4. Задокументировать изменение в KB → коммит → sync в RAG

Известные проблемы workflow

  • RAG-sync только вручную (задача 6 — установить cron)
  • alatyr-taverna Actions не работает (задача 30)
  • Дубликат репо alatyr висит (задача 31a)
  • Preview-деплои не настроены (задача 32)

Связанные файлы