Skip to content

Latest commit

 

History

History
171 lines (112 loc) · 4.29 KB

File metadata and controls

171 lines (112 loc) · 4.29 KB

Contributing to JARVIS 🚀

Спасибо за интерес к JARVIS — офлайн/онлайн голосовому ассистенту для Windows!
Этот проект открыт для вкладов от разработчиков всех уровней — от фиксов багов до улучшений функциональности.

🚀 Что можно улучшать

Вот примеры полезных вкладов:

  • 🐞 Исправление багов
  • ✨ Новые голосовые команды
  • 📈 Улучшение логики wake-word / STT
  • 🤖 Улучшение AI-режима (Gemini / context handling)
  • 📚 Улучшение документации / примеров
  • 🧪 Добавление тестов
  • ⚙️ CI / DevOps / сборки

🛠 Как начать

1. Fork & Clone

Сначала сделайте Fork репозитория, затем:

git clone https://github.com/your-username/JARVIS.git
cd JARVIS

2. Настройка окружения

python -m venv .venv

Активируй окружение:

CMD (Windows):

.\.venv\Scripts\activate

PowerShell:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
.\.venv\Scripts\Activate.ps1

3. Установка зависимостей

pip install -r requirements.txt

🌿 Ветки и стратегия

Мы используем следующую модель веток:

Ветка Назначение
main Стабильный релиз
dev Активная разработка
feature/* Новые фичи
fix/* Исправления

👉 Всегда создавайте свою ветку от dev:

git checkout dev
git pull
git checkout -b feature/awesome-feature

💡 Стиль коммитов

Пожалуйста, оформляйте коммиты по стандарту:

feat: добавил новую команду open_browser
fix: исправил зависание STT
docs: обновил CONTRIBUTING.md
refactor: переработал wake-loop

🧪 Тестирование

Перед PR убедитесь, что:

  • Jarvis запускается
  • Wakeword работает корректно
  • STT распознаёт команды стабильно
  • Системные команды Chrome / Explorer / shutdown работают

Запускаем:

python main.py

Если модульные тесты добавлены — запускаем их тоже.


📋 Оформление Pull Request

  1. Открывайте PR в ветку dev
  2. Пишите понятное описание
  3. При необходимости прикладывайте логи / видео / примеры
  4. Убедитесь, что код хорошо документирован

📜 Код и стиль

Рекомендуем:

  • Соответствие PEP8
  • Type hints там, где возможно
  • Понятные имена функций
  • Комментарии + docstrings
  • Российская документация допускается

📣 Report Issues

Если ты нашёл баг:

  1. Проверь, что используешь последнюю версию репо
  2. Поищи похожие Issues
  3. Открой новый Issue с:
  • Точными шагами воспроизведения
  • Логами/скриншотами
  • Версией ОС, Python и деталей микрофона

🧑‍💻 Где просить помощь

Если есть вопросы или идеи:

  • Создавай Issue
  • Пиши комменты в PR
  • Предлагай улучшения документации

🤝 Благодарности

Спасибо за вклад 💙 Любые идеи, баг-фиксы или улучшения делают проект лучше!


📜 Лицензия

Пожалуйста, придерживайтесь лицензии MIT при добавлении кода и контента.