Jamii

Swa inakaribisha wachangiaji wa kila kiwango — kutoka maelezo ya kwanza kwenye msimbo hadi vipengele vipya vya lugha. Kanuni ya kwanza ya mradi: kila mchango huandikwa kwa Kiswahili.

Jinsi ya kuchangia

Kuanzia

Tafuta lebo good-first-issue kwenye masuala. Kazi za kuanzia: kuongeza maoni ya Kiswahili kwenye msimbo, kutafsiri nyaraka, kuandika majaribio rahisi, na kurekebisha maonyo ya mkusanyaji.

Kuripoti hitilafu

Tumia kiolezo cha Ripoti ya Hitilafu. Hakikisha umejumuisha hatua za kuzalisha hitilafu, matokeo halisi na yanayotarajiwa, na mazingira yako (mfumo wa uendeshaji, LLVM, Rust).

Kupendekeza vipengele

Tumia kiolezo cha Ombi la Kipengele. Jadili kwanza kabla ya kuanza kutekeleza. Swa inalenga kuwa rahisi: mbadala wa C, si C++ wala Rust.

Kutuma mabadiliko

  1. Fork hazina na uunde tawi lako.
  2. Andika msimbo wako kwa Kiswahili.
  3. Hakikisha majaribio yote yanapita: cargo test.
  4. Tumia ujumbe wa commit kwa Kiswahili.
  5. Eleza kwa nini unafanya mabadiliko, si nini tu.

Mwongozo kamili: CONTRIBUTING.md.

Sheria ya tawi kuu

Tawi kuu (main) linalindwa; kila mabadiliko huingia kupitia ombi la kuvuta. Tawi la kipengele linaitwa feat/jina au kurekebisha/jina.

Mzizi wa uaminifu

msingi/mbegu.s na msingi/kwanza.bin ni mzizi wa uaminifu wa mnyororo mzima wa kujikusanya.

Mpangilio wa lazima: badilisha msingi/mbegu.s; jenga na jaribu kwa chanzo kidogo kwanza, kisha kwa mkusanyiko mzima; endesha jaribio la mkazo la wito wa mbele (angalau 1,000 — jaribio_mbegu_mkazo_wito); kisha tu gandisha (mbegu.bin + mbegu.hex), thibitisha kwa skripti ya mzizi, na endesha cargo test nzima:

bash
bash gharama/jenga-kwanza.sh
$ bash gharama/jenga-kwanza.sh kwanza inajijenga sawa mbegu.bin inazalika kutoka baiti za mkono

Kwa nini ukali huu: hitilafu kwenye mzizi ni ya darasa baya zaidi. Mbegu iliyovunjika inaweza bado kutoa fixpoint imara lakini mbaya, na mnyororo mzima unashindwa kimya kimya.

Falsafa ya msimbo

  1. Kiswahili kwanza. Vigeu, kazi, na maoni yote kwa Kiswahili.
  2. Rahisi. Swa inalenga kuwa mbadala wa C, si C++ au Rust.
  3. Imara. Hakuna paniki, hakuna tabia isiyotabirika.
  4. Inayojikusanya. Lengo kuu ni kuondoa utegemezi wa Rust kabisa.

Kanuni za maadili

Mradi unafuata Kanuni za Maadili zilizochukuliwa kutoka Contributor Covenant, toleo la 2.1. Mawasiliano yote ya mradi yanakuwa kwa Kiswahili. Matukio ya tabia yasiyokubalika yanaweza kuripotiwa kwa viongozi wa mradi kupitia masuala ya hazina, na yanachunguzwa kwa usiri.

Usalama

Maelezo yajumuishe: maelezo ya athari, hatua za kuzalisha, athari inayowezekana, na marekebisho yanayopendekezwa (ikiwa yapo). Jibu linakuja ndani ya saa 72.

Mahali pa kuzungumza

Karibu kwenye jamii ya Swa. Asante kwa kuchangia.