Dela via


Bidra till semantisk kernel

Du kan bidra till semantisk kernel genom att skicka problem, starta diskussioner och skicka pull-begäranden (PR). Att bidra med kod är mycket uppskattat, men att bara lämna in problem för problem som du stöter på är också ett bra sätt att bidra eftersom det hjälper oss att fokusera våra ansträngningar.

Rapportera problem och feedback

Vi välkomnar alltid buggrapporter, API-förslag och övergripande feedback. Eftersom vi använder GitHub kan du använda flikarna Ärenden och diskussioner för att starta en konversation med teamet. Nedan följer några tips när du skickar in problem och feedback så att vi kan svara på din feedback så snabbt som möjligt.

Rapporteringsproblem

Nya problem för SDK kan rapporteras i vår lista över problem, men innan du skapar ett nytt problem söker du i listan över problem för att se till att det inte redan finns. Om du har problem med Semantic Kernel-dokumentationen (den här webbplatsen) kan du ange ett problem på lagringsplatsen för semantisk kerneldokumentation.

Om du hittar ett befintligt problem för det du vill rapportera kan du ta med din egen feedback i diskussionen. Vi rekommenderar också starkt uppröstning (👍 reaktion) det ursprungliga inlägget, eftersom det hjälper oss att prioritera populära frågor i vår kvarvarande uppgifter.

Skriva en bra felrapport

Bra felrapporter gör det enklare för underhållarna att verifiera och rotorsaka det underliggande problemet. Desto bättre en buggrapport, desto snabbare kan problemet lösas. Helst bör en felrapport innehålla följande information:

  • En beskrivning av problemet på hög nivå.
  • En minimal reproduktion, dvs. den minsta storleken på kod/konfiguration som krävs för att återskapa fel beteende.
  • En beskrivning av det förväntade beteendet, i kontrast till det faktiska beteende som observerats.
  • Information om miljön: OPERATIVSYSTEM/distribution, CPU-arkitektur, SDK-version osv.
  • Ytterligare information, t.ex. Är det en regression från tidigare versioner? Finns det några kända lösningar?

Skickar feedback

Om du har allmän feedback om semantisk kernel eller idéer om hur du gör det bättre kan du dela det i vår diskussionstavla. Innan du påbörjar en ny diskussion kan du söka i listan med diskussioner för att se till att den inte redan finns.

Vi rekommenderar att du använder kategorin idéer om du har en specifik idé som du vill dela och Q&A-kategorin om du har en fråga om semantisk kernel.

Du kan också starta diskussioner (och dela feedback som du har skapat) i Discord-communityn genom att gå med i Semantic Kernel Discord-servern.

Hjälp oss att prioritera feedback

Vi använder för närvarande uppröstade röster för att hjälpa oss att prioritera frågor och funktioner i vår kvarvarande uppgifter, så rösta upp eventuella frågor eller diskussioner som du vill se åtgärdade.

Om du tror att andra skulle ha nytta av en funktion rekommenderar vi också att du ber andra att rösta upp frågan. Detta hjälper oss att prioritera problem som påverkar de flesta användare. Du kan be kollegor, vänner eller communityn på Discord att rösta upp ett problem genom att dela länken till frågan eller diskussionen.

Skicka pull-begäranden

Vi välkomnar bidrag till semantisk kernel. Om du har en felkorrigering eller en ny funktion som du vill bidra med följer du stegen nedan för att skicka en pull-begäran (PR). Därefter granskar projektunderhållarna kodändringar och sammanfogar dem när de har godkänts.

Vi rekommenderar att du använder följande arbetsflöde för att bidra till semantisk kernel (det här är samma arbetsflöde som används av Semantic Kernel-teamet):

  1. Skapa ett problem för ditt arbete.
    • Du kan hoppa över det här steget för triviala ändringar.
    • Återanvänd ett befintligt problem i ämnet, om det finns ett.
    • Få en överenskommelse från teamet och communityn om att din föreslagna ändring är bra genom att använda diskussionen i frågan.
    • Ange tydligt i det problem som du kommer att ta på implementeringen. På så sätt kan vi tilldela problemet till dig och se till att någon annan inte av misstag arbetar med det.
  2. Skapa en personlig förgrening av lagringsplatsen på GitHub (om du inte redan har en).
  3. I din förgrening skapar du en gren av main (git checkout -b mybranch).
    • Namnge grenen så att den tydligt kommunicerar dina avsikter, till exempel "issue-123" eller "githubhandle-issue".
  4. Gör och checka in dina ändringar i din gren.
  5. Lägg till nya tester som motsvarar din ändring, om tillämpligt.
  6. Skapa lagringsplatsen med dina ändringar.
    • Kontrollera att versionerna är rena.
    • Kontrollera att alla tester skickas, inklusive dina nya tester.
  7. Skapa en PR mot lagringsplatsens huvudgren .
    • Ange i beskrivningen vilket problem eller vilken förbättring din ändring tar itu med.
    • Kontrollera att alla kontroller för kontinuerlig integrering skickas.
  8. Vänta på feedback eller godkännande av dina ändringar från kodunderhållarna.
  9. När områdesägare har loggat ut och alla kontroller är gröna sammanfogas din PR.

Dos och Don'ts vid bidrag

Följande är en lista över Dos and Don'ts som vi rekommenderar när du bidrar till Semantic Kernel för att hjälpa oss att granska och sammanfoga dina ändringar så snabbt som möjligt.

Göra:

  • Följ standardkodstilen för .NET och Python-kodformatet
  • Prioritera det aktuella formatet för projektet eller filen som du ändrar om det avviker från de allmänna riktlinjerna.
  • Inkludera tester när du lägger till nya funktioner. När du åtgärdar buggar börjar du med att lägga till ett test som visar hur det aktuella beteendet bryts.
  • Håll diskussionerna fokuserade. När ett nytt eller relaterat ämne kommer upp är det ofta bättre att skapa ett nytt problem än att följa diskussionen.
  • Ange tydligt i en fråga som du kommer att ta på dig när du implementerar den.
  • Blogga och/eller tweeta om dina bidrag!

Regler:

  • Överraska inte teamet med stora pull-begäranden. Vi vill stödja deltagare, så vi rekommenderar att du skickar in ett ärende och startar en diskussion så att vi kan komma överens om en riktning innan du investerar en stor mängd tid.
  • Checka inte in kod som du inte skrev. Om du hittar kod som du tycker passar bra att lägga till i Semantic Kernel kan du skapa ett problem och starta en diskussion innan du fortsätter.
  • Skicka inte in PR:er som ändrar licensieringsrelaterade filer eller rubriker. Om du tror att det finns ett problem med dem kan du skicka in ett ärende så diskuterar vi det gärna.
  • Skapa inte nya API:er utan att registrera ett problem och diskutera med teamet först. Att lägga till en ny offentlig yta i ett bibliotek är en stor sak och vi vill se till att vi får det rätt.

Icke-bakåtkompatibla ändringar

Bidrag måste upprätthålla API-signatur och beteendekompatibilitet. Om du vill göra en ändring som bryter mot befintlig kod kan du ange ett problem för att diskutera din idé eller ändra om du anser att en icke-bakåtkompatibel ändring är berättigad. Annars avvisas bidrag som inkluderar icke-bakåtkompatibla ändringar.

Processen för kontinuerlig integrering (CI)

Systemet för kontinuerlig integrering (CI) utför automatiskt nödvändiga versioner och kör tester (inklusive de som du också bör köra lokalt) för PRs. Versioner och testkörningar måste vara rena innan en PR kan sammanfogas.

Om CI-versionen misslyckas av någon anledning uppdateras PR-problemet med en länk som kan användas för att fastställa orsaken till felet så att det kan åtgärdas.

Bidra till dokumentationen

Vi accepterar också bidrag till lagringsplatsen för semantisk kerneldokumentation. Om du vill veta hur du gör bidrag börjar du med deltagarguiden för Microsoft Docs.