Спасибо за интерес к проекту Hercules! Этот документ описывает, как развернуть окружение, оформить изменения и отправить их в проект.
- Кодекс поведения
- Настройка окружения
- Структура веток
- Соглашения о коммитах
- Стиль кода
- Процесс Pull Request
- Сообщение об ошибках
Участвуя в проекте, вы соглашаетесь соблюдать Кодекс поведения.
- .NET 10 SDK
- Node.js 20+ (для фронтенда
hercules-web) - (опционально) Ollama для локального инференса
git clone https://github.com/<owner>/hercules.git
cd hercules
# Бэкенд
dotnet restore
dotnet build Hercules.slnx
# Фронтенд
cd hercules-web && npm install && cd ..Подробнее: docs/QUICKSTART.md.
main— стабильная ветка, всегда собирается.feature/<краткое-имя>— новая функциональность.fix/<краткое-имя>— исправление ошибки.docs/<краткое-имя>— изменения документации.
Ветки создавайте от актуального main.
Используем Conventional Commits:
<тип>(<область>): <краткое описание>
[тело — по желанию]
Типы: feat, fix, docs, refactor, test, chore, perf, build, ci.
Примеры:
feat(llm): добавить поддержку streaming-ответов для Ollama
fix(memory): корректно экранировать кириллицу в user_profile.md
docs(api): описать эндпоинт /api/skills/{id}/improve
- Следуйте правилам из
.editorconfig. nullableвключён — избегайте подавления предупреждений без причины.- Комментарии и сообщения для пользователя — на русском языке.
- Имена типов/методов —
PascalCase, локальные переменные/параметры —camelCase. - Перед PR прогоните:
dotnet build Hercules.slnx -warnaserror dotnet format Hercules.slnx --verify-no-changes
- Типизируйте обращения к API через
src/lib/api.ts. - Используйте утилитарные классы TailwindCSS, избегайте инлайн-стилей.
- Создайте ветку от
main. - Внесите изменения и убедитесь, что проект собирается без ошибок и предупреждений.
- Обновите документацию (
README.md/docs/) при изменении поведения. - Оформите PR по шаблону, опишите мотивацию и способ проверки.
- Дождитесь прохождения CI и ревью.
Открывайте Issue по соответствующему шаблону. Указывайте:
- версию .NET (
dotnet --version) и ОС; - активный LLM-провайдер;
- шаги воспроизведения и ожидаемое/фактическое поведение;
- логи или скриншоты при наличии.
Уязвимости безопасности — см. SECURITY.md (не открывайте публичные Issue).