5.7 KiB
title |
---|
Retningslinjer |
Bidra til Castopod
Elsker du Castopod og ønsker å hjelpe til? Takk så mye, det er noe å gjøre for alle!
Vennligst ta deg et øyeblikk til å gjennomgå dette dokumentet for å gjøre bidragsprosessen enkel og effektiv for alle involverte.
Å følge disse retningslinjene bidrar til å kommunisere at du respekterer utviklernes tid i forvaltningen og utviklingen av dette åpne prosjektet. Som takk bør de gjengjelde denne respekten ved å håndtere problemene dine eller vurdere lappene og funksjonene dine.
::: info Merk
Enhver bidrag gjort på et annet depot enn det originale depotet vil ikke bli akseptert.
:::
Bruk av oppgavesystemet
Oppgavesystemet er den foretrukne kanalen for feilrapporter, forespørsler om funksjoner og sending av trekkforespørsler.
⚠️ Sikkerhetsproblemer og sårbarheter
Hvis du oppdager noen sikkerhetsproblemer eller sårbarheter i Castopod-koden, vennligst kontakt oss direkte på e-post til security@castopod.org.
Feilrapporter
En feil er et påvisbart problem som skyldes koden i depotet. Gode feilrapporter er svært nyttige - takk!
Retningslinjer for feilrapporter:
-
Bruk søkefunksjonen for problemer — sjekk om problemet allerede er rapportert.
-
Sjekk om problemet er løst — prøv å gjenskape det ved å bruke den nyeste
main
-grenen i depotet. -
Isoler problemet — ideelt sett, opprett en reduksjonstest og et levende eksempel.
En god feilrapport bør ikke etterlate andre behov for å be om mer informasjon. Vennligst forsøk å være så detaljert som mulig i din rapport. Hva er miljøet ditt? Hvilke trinn vil gjenskape problemet? Hvilke nettlesere og operativsystemer opplever problemet? Hva forventer du som utfallet? Alle disse detaljene vil hjelpe folk med å fikse eventuelle potensielle feil.
Malene for oppgaver har blitt opprettet for dette prosjektet. Du kan bruke dem til å hjelpe deg å følge disse retningslinjene.
Funksjonsforespørsler
Funksjonsforespørsler er velkomne. Men ta deg et øyeblikk til å finne ut om ideen din passer innenfor prosjektets omfang og mål. Det er opp til deg å argumentere godt for å overbevise prosjektets utviklere om fordelene med denne funksjonen. Vennligst gi så mye detaljer og sammenheng som mulig.
Trekkforespørsler
Gode trekkforespørsler - lapper, forbedringer, nye funksjoner - er en fantastisk hjelp. De bør være fokusert på et bestemt område og unngå å inneholde irrelevante lapper.
Spør først før du begynner på en betydelig trekkforespørsel (f.eks. implementering av funksjoner, omstrukturering av kode, overføring til et annet språk), ellers risikerer du å bruke mye tid på noe som prosjektets utviklere kanskje ikke ønsker å fusjonere inn i prosjektet.
Vennligst følg kodestandardene som brukes gjennom hele prosjektet (innrykk, korrekte kommentarer, osv.) og eventuelle andre krav (som testdekning).
Å følge følgende prosess er den beste måten å få arbeidet ditt inkludert i prosjektet:
- Gaffel prosjektet, klone gaflen din og konfigurere fjernkontrollene:
# Klone gaflen av depotet til gjeldende mappe
git clone https://code.castopod.org/<ditt-brukernavn>/castopod.git
# Naviger til den nyklonede mappen
cd castopod
# Tilordne originaldepotet til en fjernkontroll som kalles "upstream"
git remote add upstream https://code.castopod.org/adaures/castopod.git
- Hvis du klonet for en stund siden, få de nyeste endringene fra upstream:
git checkout main
git pull upstream main
- Opprett en ny emnegren (fra
main
-grenen) for å inneholde funksjonen, endringen eller reparasjonen:
git checkout -b <emne-gren-navn>
-
Commit endringene dine i logiske deler. Vennligst følg disse git commit-meldingsretningslinjene, ellers kan koden din være usannsynlig å fusjoneres inn i hovedprosjektet. Bruk Gits interaktive omgjøring -funksjon til å rydde opp i commitene dine før du publiserer dem.
-
Flet dine lokale endringer (eller omgjør) fra oppstrømsgrenen til ditt emnet gren:
git pull [--omgjør] oppstrøm main
- Trykk emnet gren opp til gaflen din:
git push origin <emne-gren-navn>
- Åpne en trekkforespørsel med en tydelig tittel og beskrivelse.
VIKTIG: Ved å sende en lapp samtykker du i at prosjekteierne kan lisensiere arbeidet ditt under vilkårene for GNU AGPLv3.
Samarbeidsretningslinjer
Det er noen grunnleggende regler for å sikre høy kvalitet på prosjektet:
- Før en fusjon krever en trekkforespørsel minst to godkjennelser fra samarbeiderne, med mindre det er en arkitektonisk endring, en stor funksjon, osv. I så fall må minst 50% av kjerne-teamet være enige om å fusjonere det, der hver teammedlem har full rett til å legge ned veto. (dvs. alle kan blokkere alle trekkforespørsler)
- En trekkforespørsel skal være åpen i minst to dager før fusjonering (gjelder ikke trivielle bidrag som å rette en skrivefeil). Slik har alle nok tid til å se på det.
Du er alltid velkommen til å diskutere og foreslå forbedringer til disse retningslinjene.