ДокументацияDocumentationContributingIntroduction

Введение

Добро пожаловать в официальную документацию open-source frontend Appbox.

Добро пожаловать в документацию Appbox
Мы рады сообщить, что frontend для Appbox теперь открыт на GitHub. Наша цель — развивать сообщество, которое совместно улучшает документацию, создает новые frontend-возможности и помогает сделать Appbox удобнее.

Наша документация пока находится на ранней стадии, но мы работаем над созданием полноценного ресурса, похожего на другие платформы в нашей сфере. Сейчас документация в основном сосредоточена на правилах участия, но мы планируем расширить ее подробной информацией обо всех приложениях, доступных в Appbox.

Пока документация не стала более полной, для срочных вопросов по конкретным приложениям или сервисам посетите нашу старую базу знаний. Если вам нужна техническая поддержка, вы можете создать тикет. Эти новые документы всегда доступны по ссылке в футере сайта, так что вы сможете следить за их развитием.

Планы на будущее

  • Подробные руководства по приложениям
    Установка, устранение неполадок и советы для каждого приложения, поддерживаемого на нашей платформе.
  • Ресурсы для пользователей и разработчиков
    От понятных руководств для начинающих до расширенных справочников по коду для настройки вашего опыта Appbox.
  • Контент от сообщества
    Мы приветствуем pull requests, обратную связь и предложения — все это помогает развивать проект для всех пользователей.

Начало работы

Если вы хотите посмотреть open-source frontend-код или внести вклад, клонируйте репозиторий Appbox:

git clone https://github.com/appbox-co/appbox.git

Затем перейдите в проект и установите зависимости:

cd appbox
pnpm install
pnpm dev

Локальный экземпляр будет доступен по адресу http://localhost:3000. Изучайте проект, вносите изменения и создавайте pull requests. Мы ценим любой вклад!

Инструменты разработки

Линтинг

Проект поставляется с полноценной настройкой линтинга на ESLint с TypeScript и интеграцией Prettier. Это обеспечивает единый стиль кода и помогает рано находить распространенные ошибки. Проверки линтинга можно запускать вручную:

# Запустить линтинг
pnpm lint
 
# Автоматически исправить исправимые проблемы
pnpm lint:fix

Наша конфигурация ESLint включает:

  • Правила для TypeScript через @typescript-eslint
  • Линтинг Next.js с eslint-config-next
  • Форматирование кода через интеграцию Prettier

Pre-commit hooks

Мы используем Husky для управления Git hooks. Это помогает гарантировать, что в репозиторий попадает только качественный код. Настроены следующие hooks:

  • pre-commit: запускает lint:fix перед каждым коммитом, чтобы поддерживать качество кода
  • commit-msg: использует commitlint для соблюдения формата conventional commit messages

Это значит, что перед принятием коммиты автоматически проверяются на качество кода и корректное форматирование, поддерживая высокий стандарт во всей кодовой базе.

Создание Pull Requests

Когда вы готовы отправить изменения, следуйте этим рекомендациям, чтобы повысить вероятность принятия Pull Request (PR):

Перед созданием PR

  1. Сделайте rebase от последней ветки main, чтобы избежать конфликтов слияния:

    git checkout main
    git pull origin main
    git checkout your-branch
    git rebase main
  2. Убедитесь, что линтинг проходит:

    pnpm lint:fix
  3. Проверьте, что код работает локально, протестировав соответствующую функциональность.

Рекомендации по PR

  1. Держите PR сфокусированными — один вопрос или функция на PR.
  2. Пишите понятные сообщения коммитов — следуйте формату conventional commits.
  3. Добавляйте понятные описания — объясните, что делает PR и зачем это нужно.
  4. Добавляйте тесты — где применимо, добавьте тесты, подтверждающие корректность изменений.
  5. Документируйте код — используйте комментарии для сложной логики и убедитесь, что имена функций описательны.
  6. Следуйте существующим паттернам — ваш код должен соответствовать стилю и паттернам остальной кодовой базы.

Для значительных изменений сначала рассмотрите создание issue, чтобы обсудить подход до того, как тратить время на код. Это помогает убедиться, что ваш вклад соответствует направлению проекта, и избежать лишней работы.