This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
- Fork the repository and create your branch from
main. - Make your changes and ensure they pass the existing tests and linting.
- Submit a pull request with a clear description of the changes.
This project adheres to Semantic Versioning (SemVer). In short:
- MAJOR (
X.0.0) – incompatible API changes. - MINOR (
0.X.0) – new functionality that is backwards-compatible. - PATCH (
0.0.X) – backwards-compatible bug fixes.
We cut a new patch release every week if there are any unreleased fixes on
main. If no fixes have landed since the last release, the weekly release is
skipped. All released versions are listed on the
GitHub Releases page.
Both the TypeScript and Python packages share a single version number defined in
the VERSION file at the repository root. When bumping the version:
# Set the version and propagate to package.json + pyproject.toml
python -m scripts.version.sync 0.2.0To verify all manifests are in sync (also runs automatically in CI):
python -m scripts.version.validateA PR will fail the Version Check workflow if the version in VERSION,
typescript/package.json, or python/pyproject.toml don't match.
A GitHub Actions workflow (.github/workflows/auto-patch-bump.yml) runs every
Monday at 00:00 UTC. If there are unreleased commits on main since the last
GitHub Release, the workflow automatically opens a PR that increments the patch
version and syncs all manifests. If a previous bump PR is still open and main
has advanced beyond it (new commits landed since the PR was created), the stale
PR is closed and replaced with a fresh one. If the existing PR still covers the
current state of main, no action is taken. Maintainers review and merge the
bump PR to trigger the release.
- Bump the version:
python -m scripts.version.sync X.Y.Z - Update
CHANGELOG.mdwith the new version and release notes. - Commit, push, and merge the PR.
- Create a GitHub Release targeting
mainwith tagvX.Y.Z. - Azure Pipelines automatically publishes both packages to the ADO feed.
Please use GitHub Issues to report bugs or suggest features. Before creating a new issue, please search existing issues to avoid duplicates.