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:
- При старте сессии —
git pullприватного репо github.com/oswold1979/alatyr-infra-kb - Правки коммитим сразу, без переспрашивания. Формат:
- При закрытии задачи из TODO ставим ✅, обновляем changelog, коммитим
- Финальный wrap-up коммит в конце сессии если остались правки
- Никогда не кладём в git секреты: API-ключи, пароли, приватные ключи
- Утечки ключей записываем в 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
- Юзер
oswold, sudo при необходимости - Что там живёт → ragserver-workstation.md
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→ deploydist/)
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)
Связанные файлы¶
- github-audit.md — все репозитории
- vps-hostkey-vm-mini.md — VPS
- ragserver-workstation.md — ragserver
- amneziawg-tunnels.md — VPN
- rag-sync.md — синк KB → RAG