---
url: 'https://dxpr.com/uk/hc/%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D1%96%D1%8F/%D0%BD%D0%B0%D0%B2%D1%87%D0%B0%D0%BD%D0%BD%D1%8F-dxpr-builder/%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BA%D0%B0/%D1%83%D1%87%D0%B0%D1%81%D1%82%D1%8C-%D1%83-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D1%86%D1%96'
title: 'Участь у розробці | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T19:59:26+00:00'
updated: '2026-10-24T20:03:43+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: |-
  Розробка DXPR Builder відбувається на GitHub у
  github.com/dxpr/dxpr_builder. Усі
  внески дотримуються робочого процесу, описаного в
  CONTRIBUTING.md репозиторію.
tags:
  - Tooling
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T20:03:43+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: 'Участь у розробці'
      description: |-
        Розробка DXPR Builder відбувається на GitHub у
        github.com/dxpr/dxpr_builder. Усі
        внески дотримуються робочого процесу, описаного в
        CONTRIBUTING.md репозиторію.
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T19:59:26+0000'
      dateModified: '2026-10-24T20:03:43+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/uk/hc/%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D1%96%D1%8F/%D0%BD%D0%B0%D0%B2%D1%87%D0%B0%D0%BD%D0%BD%D1%8F-dxpr-builder/%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BA%D0%B0/%D1%83%D1%87%D0%B0%D1%81%D1%82%D1%8C-%D1%83-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D1%86%D1%96'
      articleSection: Інструменти
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/uk/hc/%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D1%96%D1%8F/%D0%BD%D0%B0%D0%B2%D1%87%D0%B0%D0%BD%D0%BD%D1%8F-dxpr-builder/%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BA%D0%B0/%D1%83%D1%87%D0%B0%D1%81%D1%82%D1%8C-%D1%83-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D1%86%D1%96'
      description: |-
        Розробка DXPR Builder відбувається на GitHub у
        github.com/dxpr/dxpr_builder. Усі
        внески дотримуються робочого процесу, описаного в
        CONTRIBUTING.md репозиторію.
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: Home
            item: 'https://dxpr.com/uk'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: uk
---
[Help Center](/uk/hc)/[Documentation](/uk/hc/%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D1%96%D1%8F) /[Вивчення DXPR Builder](/uk/hc/documentation/learn-dxpr-builder) /[Розширення](/uk/hc/documentation/learn-dxpr-builder/extend) /[Інструменти](/uk/hc/documentation/learn-dxpr-builder/extend/tooling) # Участь у розробці.

 Вивчення DXPR BuilderРозширенняІнструменти

   ## In this guide

Розробка DXPR Builder відбувається на GitHub у [github.com/dxpr/dxpr\_builder](https://github.com/dxpr/dxpr_builder). Усі внески дотримуються робочого процесу, описаного в [CONTRIBUTING.md](https://github.com/dxpr/dxpr_builder/blob/3.x/CONTRIBUTING.md) репозиторію.

## Git-процес

1. Кожен пул-реквест мусить бути прив’язаний до задачі GitHub
2. Конвенція іменування гілок: `person/target-branch/#issue-description` (напр. `jur/3.x/#42-fix-carousel-autoplay`)
3. Пишіть атомарні коміти, дотримуючись [стильгайду Git alphagov](https://github.com/alphagov/styleguides/blob/master/git.md)
4. Пул-реквести мусять містити короткий опис рішення
5. Тримайте зміни в межах задачі: без непов’язаного форматування чи рефакторингу

## Власник коду

[@jjroelofs](https://github.com/jjroelofs) власник коду. Жоден пул-реквест не може бути злитий без їхнього перегляду.

## Стандарти кодування

- PHP: [стандарти кодування Drupal](https://www.drupal.org/docs/develop/standards)
- JavaScript: лише ES6+ (без `var`, без jQuery в новому коді). Дотримуйтеся [стандартів кодування JavaScript Airbnb](https://github.com/airbnb/javascript) з винятками проєкту
- CSS: дотримуйтеся [дизайн-системи](https://github.com/dxpr/dxpr_builder/blob/3.x/DESIGN-SYSTEM.md) для власних властивостей та іменування токенів
- Зміна методу `showed` елемента мусить включати оновлений `dxpr_frontend.js`. Генеруйте його з повного виводу, який редактор друкує в консоль браузера, коли ви натискаєте кнопку збереження контейнера.
- Нові функції потребують покриття QA Analytics.

Запустіть `npm install` один раз після клонування. Він встановлює хук pre-commit Husky, який лінтує ваші підготовлені файли; див. [Тестування](/uk/hc/%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D1%96%D1%8F/%D0%BD%D0%B0%D0%B2%D1%87%D0%B0%D0%BD%D0%BD%D1%8F-dxpr-builder/%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BA%D0%B0/%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F).

## Запуск E2E-тестів

Тести запускаються слеш-командами в коментарях PR:

| Команда | Опис |
|---|---|
| `/e2e` | Запуск повних наборів редактора BS5 та анонімних наборів |
| `/e2e groups=group-name` | Запуск конкретних тестових груп |
| `/e2e tests=ClassName` | Запуск конкретних тестових класів |
| `/e2e-bs3` | Запуск набору редактора BS3 |
| `/e2eV2` | Запуск наборів BS5 на стеку DXPR CMS |
| `/e2e maven_ref=branch` | Тест із власною `dxpr_maven`-гілкою |

Коли зміна конструктора потребує зміни тесту, QA-інженер оновлює `dxpr_maven` у гілці, а ви запускаєте `/e2e maven_ref=<branch>` на своєму пул-реквесті. Пул-реквест конструктора зливається першим, потім `dxpr_maven`.

## Перед запитом перегляду

1. Впровадьте зміну
2. Ретельно протестуйте
3. Зробіть раунд прибирання/рефакторингу
4. Перетестуйте, щоб підтвердити, що нічого не зламалося
5. Закомітьте та запуште з чистою історією git
6. Перевірте, що перевірки лінтерів проходять
7. Прокоментуйте `/e2e` у PR, щоб запустити регресійні тести
8. Запросіть перегляд, коли всі перевірки пройдуть