-
Notifications
You must be signed in to change notification settings - Fork 0
Development
mrSaT13 edited this page Mar 24, 2026
·
1 revision
Руководство для контрибьюторов
| Зависимость | Версия | Установка |
|---|---|---|
| Node.js | ≥18.x | nvm |
| pnpm | ≥8.x | npm install -g pnpm |
| Git | ≥2.30 | git-scm.com |
git clone https://github.com/mrSaT13/kumaflow.git
cd kumaflowpnpm install# Основной процесс + рендерер с hot-reload
pnpm run electron:dev
# Только фронтенд (быстрее для тестов)
pnpm run dev:web# Все платформы
pnpm run build
# Конкретная ОС
pnpm run build:win # Windows (.exe)
pnpm run build:mac # macOS (.dmg)
pnpm run build:linux # Linux (.deb + AppImage)kumaflow/
├── electron/ # Main процесс (Node.js)
│ ├── main.ts # Точка входа Electron
│ ├── ipc/ # IPC-обработчики
│ └── services/ # Фоновые сервисы
│
├── src/ # Renderer процесс (React + Vite)
│ ├── components/ # UI-компоненты
│ ├── pages/ # Страницы приложения
│ ├── hooks/ # React-хуки
│ ├── lib/ # Утилиты, API-клиенты
│ └── styles/ # Глобальные стили, темы
│
├── resources/ # Статические ресурсы
├── cypress/ # E2E-тесты
└── build/ # Скрипты сборки
🔷 Frontend: React 18 + TypeScript + Vite + TailwindCSS
🔷 Backend: Electron (Node.js) + IPC
🔷 ML: Python-микросервис + ONNX Runtime
🔷 State: Zustand + React Query
🔷 Testing: Cypress (E2E) + Vitest (unit)
# Unit-тесты
pnpm run test:unit
# E2E-тесты
pnpm run test:e2e
# Линтинг и форматирование
pnpm run lint
pnpm run format
# Проверка типов
pnpm run typecheck- ✅ Строгий режим (
strict: true) - ✅ Явные типы для функций и пропсов
- ✅ Избегать
any, использоватьunknown
- ✅ Функциональные компоненты + хуки
- ✅ Мемоизация через
React.memo,useMemo - ✅ Разделение логики: компоненты ↔ хуки ↔ утилиты
Используйте Conventional Commits:
feat(ml): добавить анализ энергии в Vibe Similarity
fix(ui): исправить отображение прогресса на мобильных
docs(wiki): обновить руководство по настройке
chore(deps): обновить Electron до 40.1.2
- Создайте issue с описанием изменения
- Форкните репозиторий и создайте ветку:
git checkout -b feat/your-feature-name
- Внесите изменения, добавьте тесты
- Убедитесь, что все проверки проходят:
pnpm run lint && pnpm run typecheck && pnpm run test:unit
- Откройте PR с описанием:
- 🔗 Ссылка на issue
- 📝 Что изменено
- 🧪 Как протестировать
- 📸 Скриншоты (для UI)
⏱️ Мы стараемся ревьювить PR в течение 3-5 дней.
Пути к логам:
• Windows: %APPDATA%\kumaflow\logs\
• macOS: ~/Library/Logs/kumaflow/
• Linux: ~/.config/kumaflow/logs/
# Запуск с открытыми DevTools
pnpm run electron:dev -- --remote-debugging-port=9222
# Включение подробных логов
export DEBUG=kumaflow:*
pnpm run electron:devНужна помощь? Откройте Discussion или Issue