---
url: 'https://dxpr.com/pl/hc/dokumentacja/nauka-dxpr-builder/programowanie/jak-wspoltworzyc-projekt'
title: 'Jak współtworzyć projekt | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T11:38:22+00:00'
updated: '2026-10-24T19:36:26+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: |-
  Rozwój kreatora DXPR odbywa się na GitHubie w
  github.com/dxpr/dxpr_builder. Wszystkie
  wkłady podążają za przebiegiem opisanym w
  CONTRIBUTING.md repozytorium.
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-24T19:36:26+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: 'Jak współtworzyć projekt'
      description: |-
        Rozwój kreatora DXPR odbywa się na GitHubie w
        github.com/dxpr/dxpr_builder. Wszystkie
        wkłady podążają za przebiegiem opisanym w
        CONTRIBUTING.md repozytorium.
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T11:38:22+0000'
      dateModified: '2026-10-24T19:36:26+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/pl/hc/dokumentacja/nauka-dxpr-builder/programowanie/jak-wspoltworzyc-projekt'
      articleSection: Narzędzia
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/pl/hc/dokumentacja/nauka-dxpr-builder/programowanie/jak-wspoltworzyc-projekt'
      description: |-
        Rozwój kreatora DXPR odbywa się na GitHubie w
        github.com/dxpr/dxpr_builder. Wszystkie
        wkłady podążają za przebiegiem opisanym w
        CONTRIBUTING.md repozytorium.
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: 'Strona Główna'
            item: 'https://dxpr.com/pl'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: pl
---
[Centrum pomocy](/pl/hc)/[Dokumentacja](/pl/hc/dokumentacja) /[Poznaj DXPR Builder](/pl/hc/documentation/learn-dxpr-builder) /[Rozszerzenia](/pl/hc/documentation/learn-dxpr-builder/extend) /[Narzędzia](/pl/hc/documentation/learn-dxpr-builder/extend/tooling) # Jak współtworzyć projekt.

 Poznaj DXPR BuilderRozszerzeniaNarzędzia

   ## W tym przewodniku

Rozwój kreatora DXPR odbywa się na GitHubie w [github.com/dxpr/dxpr\_builder](https://github.com/dxpr/dxpr_builder). Wszystkie wkłady podążają za przebiegiem opisanym w [CONTRIBUTING.md](https://github.com/dxpr/dxpr_builder/blob/3.x/CONTRIBUTING.md) repozytorium.

## Przebieg pracy z gitem

1. Każdy pull request musi być powiązany ze zgłoszeniem GitHub
2. Konwencja nazewnictwa gałęzi: `person/target-branch/#issue-description` (np. `jur/3.x/#42-fix-carousel-autoplay`)
3. Pisz atomowe commity według [przewodnika stylu gita alphagov](https://github.com/alphagov/styleguides/blob/master/git.md)
4. Pull requesty muszą zawierać krótki opis rozwiązania
5. Trzymaj zmiany w zakresie zgłoszenia: bez niepowiązanego formatowania i refaktoryzacji

## Właściciel kodu

[@jjroelofs](https://github.com/jjroelofs) pełni rolę właściciela kodu. Żaden pull request nie może zostać scalony bez recenzji właściciela kodu.

## Standardy kodowania

- PHP: [standardy kodowania Drupala](https://www.drupal.org/docs/develop/standards)
- JavaScript: tylko ES6+ (bez `var`, bez jQuery w nowym kodzie). Przestrzegaj [standardów kodowania JavaScript Airbnb](https://github.com/airbnb/javascript) z wyjątkami projektu
- CSS: przestrzegaj [systemu projektowego](https://github.com/dxpr/dxpr_builder/blob/3.x/DESIGN-SYSTEM.md) dla właściwości własnych i nazewnictwa tokenów
- Zmiana metody `showed` elementu musi zawierać zaktualizowany `dxpr_frontend.js`. Wygeneruj go z pełnego wyniku wypisywanego przez edytor do konsoli przeglądarki po kliknięciu przycisku zapisu kontenera.
- Nowe funkcje wymagają pokrycia QA Analytics.

Uruchom `npm install` raz po sklonowaniu. Instaluje hook pre-commit Husky, który lintuje pliki staged; zobacz [testowanie](/pl/hc/dokumentacja/nauka-dxpr-builder/programowanie/testowanie).

## Uruchamianie testów E2E

Testy wyzwalane są poleceniami slash w komentarzach PR:

| Polecenie | Opis |
|---|---|
| `/e2e` | Uruchom pełne pakiety edytora BS5 i anonimowe |
| `/e2e groups=group-name` | Uruchom wybrane grupy testów |
| `/e2e tests=ClassName` | Uruchom wybrane klasy testów |
| `/e2e-bs3` | Uruchom pakiet edytora BS3 |
| `/e2eV2` | Uruchom pakiety BS5 na stosie DXPR CMS |
| `/e2e maven_ref=branch` | Testuj z gałęzią `dxpr_maven` o własnej nazwie |

Gdy zmiana kreatora wymaga zmiany testu, inżynier QA aktualizuje `dxpr_maven` na gałęzi, a ty uruchamiasz `/e2e maven_ref=<branch>` na swoim pull requeście. Pull request kreatora scala się najpierw, potem ten `dxpr_maven`.

## Przed poproszeniem o recenzję

1. Zaimplementuj zmianę
2. Starannie przetestuj
3. Wykonaj rundę porządków/refaktoryzacji
4. Przetestuj ponownie, aby potwierdzić, że nic się nie zepsuło
5. Scommituj i wypchnij z czystą historią gita
6. Sprawdź, czy kontrole lintera przechodzą
7. Skomentuj `/e2e` w PR, aby uruchomić testy regresji
8. Poproś o recenzję, gdy wszystkie kontrole przejdą