Kontrybucja
Każda dobrze utrzymywana biblioteka komponentów powinna posiadać jasny i szczegółowy przewodnik dla kontrybutorów. Taki przewodnik pomaga utrzymać spójność kodu, ułatwia współpracę w zespole i jest nieocenionym źródłem wiedzy dla wszystkich nowych developerów dołączających do zespołu.
Przewodnik taki:
- Ułatwia nowym kontrybutorom rozpoczęcie pracy nad projektem.
- Zapewnia spójność w kodzie poprzez określenie standardów kodowania.
- Redukuje liczbę błędów i konfliktów dzięki jasnym wytycznym dotyczącym pracy z repozytorium.
Co powinniśmy umieścić w takim dokumencie?
Wprowadzenie do projektu
- Krótkie omówienie celu naszego Design Systemu i główne funkcjonalności.
- Informacje, jak klonować repozytorium i uruchomić projekt lokalnie.
Standardy kodowania
- Styl kodowania, np. korzystanie z
Prettier
iESLint
. - Konwencje nazewnicze dla plików, komponentów i funkcji.
- Styl kodowania, np. korzystanie z
Struktura projektu
- Opis struktury katalogów w projekcie.
- Gdzie znajdują się kluczowe pliki i foldery, takie jak komponenty, style, testy i dokumentacja.
Praca z
Git
- Wytyczne dotyczące tworzenia gałęzi (
branching
), np.feature/
,bugfix/
,hotfix/
. - Zalecenia dotyczące tworzenia
commit
ów, (np. używanie konkretnej konwencji tytułów, opisów itp.).
- Wytyczne dotyczące tworzenia gałęzi (
Testowanie
- Wytyczne dotyczące pisania testów jednostkowych i integracyjnych.
- Narzędzia używane do testowania, np.
Jest
,React Testing Library
.
Proces
Pull Request
(PR)- Jak tworzyć
Pull Requesty
. - Szablon PR, który należy wypełnić (np. co zostało zmienione, dlaczego, jak przetestować?).
- Kryteria akceptacji PR (np. minimalna liczba recenzji, przejście testów CI/CD, pokrycie testami).
- Jak tworzyć
Wersjonowanie i wydania
- Jak wersjonować zmiany zgodnie z Semantic Versioning.
- Proces tworzenia nowych wydań (releases).
Komunikacja i wsparcie
- Główne kanały komunikacji w zespole, np. Slack, e-mail.
- Jak zadawać pytania i gdzie szukać pomocy.
Przykład struktury przewodnika dla kontrybutorów:
CONTRIBUTING.md
- Wprowadzenie
- Instalacja i uruchomienie
- Standardy kodowania
- Struktura projektu
- Praca z Git
- Testowanie
- Tworzenie Pull Requestów
- Wersjonowanie i wydania
- Komunikacja i wsparcie
Pamiętaj, że im więcej czasu poświęcisz na stworzenie porządnego przewodnika, tym więcej później go odzyskasz w trakcie dołączania nowych osób do projektu.