Sdílet prostřednictvím


Přispívání do sémantického jádra

Do sémantického jádra můžete přispívat odesláním problémů, zahájením diskuzí a odesláním žádostí o přijetí změn. Přispívání kódu je velmi vděčné, ale jednoduše zařazování problémů, se kterými se setkáte, je také skvělý způsob, jak přispívat, protože nám pomáhá soustředit se na naše úsilí.

Hlášení problémů a názory

Vždy vítáme zprávy o chybách, návrhy rozhraní API a celkovou zpětnou vazbu. Vzhledem k tomu, že používáme GitHub, můžete zahájit konverzaci s týmem pomocí karet Problémy a diskuze . Níže je několik tipů, jak odeslat problémy a zpětnou vazbu, abychom mohli na vaši zpětnou vazbu reagovat co nejrychleji.

Hlášení problémů

Nové problémy sady SDK je možné hlásit v našem seznamu problémů, ale před vytvořením nového problému vyhledejte seznam problémů a ujistěte se, že ještě neexistuje. Pokud máte problémy s dokumentací k sémantickému jádru (tento web), vytvořte problém v úložišti dokumentace k sémantickému jádru.

Pokud zjistíte existující problém pro to, co chcete nahlásit, uveďte do diskuze vlastní zpětnou vazbu. Důrazně doporučujeme také up-voting (👍 reakce) původní příspěvek, protože nám to pomáhá určit prioritu oblíbených problémů v našem backlogu.

Psaní zprávy o dobré chybě

Dobré zprávy o chybách usnadňují správci ověření a původní příčinu problému. Čím je zpráva o chybách lepší, tím rychleji se dá problém vyřešit. V ideálním případě by zpráva o chybě měla obsahovat následující informace:

  • Obecný popis problému.
  • Minimální reprodukci, tj. nejmenší velikost kódu nebo konfigurace potřebné k reprodukci nesprávného chování.
  • Popis očekávaného chování, na rozdíl od skutečného zjištěného chování .
  • Informace o prostředí: operační systém/ distribuce, architektura procesoru, verze sady SDK atd.
  • Další informace, například regrese z předchozích verzí? Existují nějaká známá alternativní řešení?

Odesílání zpětné vazby

Pokud máte obecnou zpětnou vazbu k sémantickému jádru nebo nápady, jak ho vylepšit, sdílejte ho na naší diskuzní vývěsce. Než začnete s novou diskuzí, vyhledejte seznam diskuzí a ujistěte se, že ještě neexistuje.

Kategorii nápadů doporučujeme použít, pokud máte konkrétní nápad, který chcete sdílet, a kategorii Q&A, pokud máte dotaz na sémantické jádro.

Můžete také zahájit diskuze (a sdílet zpětnou vazbu, kterou jste vytvořili) v komunitě Discord tím, že se připojíte k serveru Semantic Kernel Discord.

Pomozte nám určit prioritu zpětné vazby

Aktuálně používáme up-votes, abychom nám pomohli určit prioritu problémů a funkcí v našem backlogu, takže prosím hlasujte o všech problémech nebo diskuzích, které byste chtěli vidět.

Pokud si myslíte, že by ostatní měli prospěch z nějaké funkce, doporučujeme, abyste ostatní požádali o hlasování o problému. To nám pomáhá určit prioritu problémů, které mají vliv na většinu uživatelů. Můžete se zeptat kolegů, přátel nebo komunity na Discordu a hlasovat o problému tak, že nasdílíte odkaz na problém nebo diskuzi.

Odesílání žádostí o přijetí změn

Vítáme příspěvky do sémantického jádra. Pokud máte opravu chyb nebo novou funkci, kterou chcete přispívat, odešlete žádost o přijetí změn podle následujících kroků. Potom správci projektu zkontrolují změny kódu a po přijetí je sloučí.

K přispívání do sémantického jádra doporučujeme použít následující pracovní postup (to je stejný pracovní postup, který používá tým sémantických jader):

  1. Vytvořte problém pro vaši práci.
    • Tento krok můžete přeskočit pro triviální změny.
    • Pokud existuje, znovu použijte existující problém v tématu.
    • Získejte dohodu od týmu a komunity, kterou jste navrhli, je dobrou v diskuzi v tomto problému.
    • Jasně v tomto problému uveďte, že provedete implementaci. To nám umožní přiřadit problém vám a zajistit, aby na něm nechtěně nechtěně fungoval někdo jiný.
  2. Vytvořte osobní fork úložiště na GitHubu (pokud ho ještě nemáte).
  3. Ve forku vytvořte větev mimo hlavní (git checkout -b mybranch).
    • Pojmenujte větev tak, aby jasně komunikuje s vašimi záměry, například "issue-123" nebo "githubhandle-issue".
  4. Proveďte a potvrďte změny ve větvi.
  5. Pokud je to možné, přidejte nové testy odpovídající vaší změně.
  6. Sestavte úložiště s vašimi změnami.
    • Ujistěte se, že jsou sestavení čistá.
    • Ujistěte se, že všechny testy procházejí, včetně nových testů.
  7. Vytvořte žádost o přijetí změn proti hlavní větvi úložiště.
    • Uveďte v popisu, jaký problém nebo vylepšení vaše změna řeší.
    • Ověřte, že všechny kontroly kontinuální integrace procházejí.
  8. Počkejte na zpětnou vazbu nebo schválení změn od správce kódu.
  9. Když se vlastníci oblastí odhlásili a všechny kontroly jsou zelené, vaše žádost o přijetí změn se sloučí.

Dos a Don'ts while contributing

Následuje seznam úkolů Dos a Don'ts, které doporučujeme, když přispíváme k sémantickému jádru, abychom mohli co nejrychleji zkontrolovat a sloučit změny.

Je to:

  • Postupujte podle standardního stylu kódování .NET a stylu kódu Pythonu.
  • Pokud se liší od obecných pokynů, dejte přednost aktuálnímu stylu projektu nebo souboru, který měníte.
  • Při přidávání nových funkcí můžete zahrnout testy. Při opravě chyb začněte přidáním testu, který zvýrazní, jak se aktuální chování přeruší.
  • Zaměřte se na diskuze. Když se objeví nové nebo související téma, je často lepší vytvořit nový problém než sledovat diskuzi bokem.
  • Jasně uveďte problém, který budete muset provést při jeho implementaci.
  • Blog a/nebo tweet o vašich příspěvech!

Nedělat:

  • Nepřekvapujte tým velkými žádostmi o přijetí změn. Chceme podporovat přispěvatele, proto doporučujeme vytvořit problém a zahájit diskuzi, abychom se dohodli na směru, než začnete investovat velké množství času.
  • Nepopisujte kód, který jste nenapsali. Pokud najdete kód, který si myslíte, že je vhodné přidat do sémantického jádra, založte problém a před pokračováním spusťte diskuzi.
  • Neodesílejte žádosti o přijetí změn, které mění licenční soubory nebo hlavičky. Pokud se domníváte, že došlo k problému s nimi, zapište problém a rádi ho probereme.
  • Nevytvávejte nová rozhraní API bez vytvoření problému a nejprve se s týmem diskutujte. Přidání nové veřejné plochy do knihovny je velký problém a chceme se ujistit, že je to správné.

Zásadní změny

Příspěvky musí udržovat podpis rozhraní API a kompatibilitu chování. Pokud chcete provést změnu, která by přerušila stávající kód, vytvořte problém, který vám pomůže prodiskutovat váš nápad nebo změnu, pokud se domníváte, že je změna způsobující chybu zaručená. V opačném případě budou příspěvky, které zahrnují zásadní změny, odmítnuty.

Proces kontinuální integrace (CI)

Systém kontinuální integrace (CI) automaticky provede požadované sestavení a spustí testy (včetně těch, které byste měli spustit také místně) pro žádosti o přijetí změn. Sestavení a testovací spuštění musí být před sloučením žádosti o přijetí změn vyčištěna.

Pokud se sestavení CI z nějakého důvodu nezdaří, problém s žádostmi o přijetí změn se aktualizuje odkazem, který se dá použít k určení příčiny selhání, aby bylo možné ho vyřešit.

Přispívání do dokumentace

Přijímáme také příspěvky do úložiště dokumentace k sémantickému jádru.