Preskoči na sadržaj

Doprinos

Postavljanje

Napravi jednu malu promjenu na pravom mjestu i pošalji je kao pull request.

  • Prvo otvori issue ili komentiraj neki postojeći. Napiši što želiš promijeniti i zašto.
  • Pričekaj odgovor, da ne napraviš nešto što neće biti spojeno.
  • Završi Postavljanje da možeš izgraditi i pokrenuti HolyArrs.

Pitanja idu na Discord. Ideje idu na r/HolyArrs. Issueji su za bugove i roadmap.

Pošalji prvi pull request

Poveznica na Pošalji prvi pull request
  1. Nađi modul kojem tvoja promjena pripada. Imena u Modulima odgovaraju imenima mapa, pa je pogrešna Discord obavijest promjena u alerts.

  2. Napravi promjenu u app/backend/internal/<module>/ i app/frontend/src/lib/<module>/. Drži se jednog popravka ili jedne značajke.

  3. Izgradi web aplikaciju, zatim program, i isprobaj promjenu u pregledniku. Vidi Postavljanje.

  4. Pokreni provjere iz Testiranja.

    Ne bi smjelo biti nijedne greške.

  5. Ako mijenjaš stranicu, pokreni njezin end-to-end projekt, na primjer npm --prefix app/frontend run e2e -- --project=movies.

  6. Otvori pull request. Poveži issue, napiši što se promijenilo i kako je promjena testirana, te dodaj ili ažuriraj testove za promjenu.

  7. Na tvoj prvi pull request bot traži da potpišeš ugovor o licenci za doprinositelje. Odgovori jednom rečenicom koju traži.

Promjena Idi na
Nova ruta Moduli
Novi modul Moduli. Prvo otvori issue
Zadržana značajka Postavljanje
Verzija Izdavanje verzija. Samo za maintainere

Kako izgleda dobar pull request

Poveznica na Kako izgleda dobar pull request
  • Piši komentare koji kažu zašto kod radi to što radi. Bez brojeva iz roadmapa, datuma, imena i dugih crtica u komentarima.
  • Ne diraj tekstove u aplikaciji osim ako se issue ne tiče tekstova.
  • Objavljene API putanje, imena polja, ključeve postavki, imena tablica i imena zadataka ostavi kakvi jesu. Dodaj, nikad ne preimenuj.

Simptom. Provjera strukture ne prolazi. Uzrok. Poruka navodi datoteku i pravilo. Rješenje. Premjesti kod ili predaj obične podatke iz višeg modula. Vidi Moduli.

Simptom. Web aplikacija izgleda staro. Uzrok. Program poslužuje build koji je ugradio. Rješenje. Izgradi web aplikaciju ponovno prije programa.

Simptom. End-to-end testovi se ne mogu pokrenuti. Uzrok. Testni preglednik nije instaliran. Rješenje. Izvrši npx --prefix app/frontend playwright install chromium.

Pravila koja pull request mora poštovati
  • Modul razgovara s drugim modulom samo preko njegovog servicea (Go) ili njegovog index.ts (web). Nikad preko njegovog storea ili njegovih datoteka.
  • SQL živi samo u store*.go datotekama modula, nad tablicama tog modula.
  • Dio weba ide u lib/ui samo kad ga koriste 2 ili više modula.
  • Nema paketa util, common, shared ni helpers.
  • Svaki vanjski poziv ide kroz core/outbound.

Testovi provjeravaju ta pravila, pa pogrešan import ruši build. Cijeli popis i imena provjera su u Modulima.

Što pokreće CI
Job Pokreće
Web check, lint, test, build i end-to-end paket
Go go build, go vet i go test -timeout 60m ./... na amd64 i arm64, nativno i pod emulacijom
Race go test -race ./...
Contract Podudaranje s openapi.json, provjere scopea na svakoj ruti, paket za preuzimatelje
Fault i scale Pokretanja s rušenjem, sporim upisom, lošim vanjskim servisom i opterećenjem memorije
Image Razvojni image se izgradi, pokrene i javi svoju verziju

Pojedinosti o dugim pokretanjima su u Testiranju.

HolyArrs je besplatan. Ako ti je uštedio vrijeme, daj mu zvjezdicu na GitHubu, podrži ga ili počasti me kavom.