Training
Module
Learn how the semantic kernel SDK connects native code to large language models to create smart applications.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
You can contribute to Semantic Kernel by submitting issues, starting discussions, and submitting pull requests (PRs). Contributing code is greatly appreciated, but simply filing issues for problems you encounter is also a great way to contribute since it helps us focus our efforts.
We always welcome bug reports, API proposals, and overall feedback. Since we use GitHub, you can use the Issues and Discussions tabs to start a conversation with the team. Below are a few tips when submitting issues and feedback so we can respond to your feedback as quickly as possible.
New issues for the SDK can be reported in our list of issues, but before you file a new issue, please search the list of issues to make sure it does not already exist. If you have issues with the Semantic Kernel documentation (this site), please file an issue in the Semantic Kernel documentation repository.
If you do find an existing issue for what you wanted to report, please include your own feedback in the discussion. We also highly recommend up-voting (👍 reaction) the original post, as this helps us prioritize popular issues in our backlog.
Good bug reports make it easier for maintainers to verify and root cause the underlying problem. The better a bug report, the faster the problem can be resolved. Ideally, a bug report should contain the following information:
If you have general feedback on Semantic Kernel or ideas on how to make it better, please share it on our discussions board. Before starting a new discussion, please search the list of discussions to make sure it does not already exist.
We recommend using the ideas category if you have a specific idea you would like to share and the Q&A category if you have a question about Semantic Kernel.
You can also start discussions (and share any feedback you've created) in the Discord community by joining the Semantic Kernel Discord server.
We currently use up-votes to help us prioritize issues and features in our backlog, so please up-vote any issues or discussions that you would like to see addressed.
If you think others would benefit from a feature, we also encourage you to ask others to up-vote the issue. This helps us prioritize issues that are impacting the most users. You can ask colleagues, friends, or the community on Discord to up-vote an issue by sharing the link to the issue or discussion.
We welcome contributions to Semantic Kernel. If you have a bug fix or new feature that you would like to contribute, please follow the steps below to submit a pull request (PR). Afterwards, project maintainers will review code changes and merge them once they've been accepted.
We recommend using the following workflow to contribute to Semantic Kernel (this is the same workflow used by the Semantic Kernel team):
git checkout -b mybranch
).
The following is a list of Dos and Don'ts that we recommend when contributing to Semantic Kernel to help us review and merge your changes as quickly as possible.
Contributions must maintain API signature and behavioral compatibility. If you want to make a change that will break existing code, please file an issue to discuss your idea or change if you believe that a breaking change is warranted. Otherwise, contributions that include breaking changes will be rejected.
The continuous integration (CI) system will automatically perform the required builds and run tests (including the ones you should also run locally) for PRs. Builds and test runs must be clean before a PR can be merged.
If the CI build fails for any reason, the PR issue will be updated with a link that can be used to determine the cause of the failure so that it can be addressed.
We also accept contributions to the Semantic Kernel documentation repository.
Training
Module
Learn how the semantic kernel SDK connects native code to large language models to create smart applications.