Thank you for your interest in contributing to Blackbox! We welcome contributions from everyone.
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/blackbox.git - Create a branch:
git checkout -b feature/your-feature - Make your changes
- Test your changes thoroughly
- Commit with clear messages:
git commit -am 'Add feature: description' - Push to your fork:
git push origin feature/your-feature - Create a Pull Request
- Follow the existing code style and conventions
- Write clear, descriptive commit messages
- Include tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting a PR
- Ensure your PR description clearly describes the changes
- Reference related issues if applicable
- Ensure CI/CD checks pass
- Request review from maintainers
- Address any feedback or changes requested
Each VS Code extension version is a tag vscode-v<version>, a GitHub Release and an entry in editors/vscode/CHANGELOG.md.
-
Bump
versionineditors/vscode/package.json(npm version <x.y.z> --no-git-tag-version). -
In
editors/vscode/CHANGELOG.md, rename## Unreleased(where changes collect, one bullet per user-visible change) to## <x.y.z> (Pre-release) — <YYYY-MM-DD>. Leave out(Pre-release)for a stable release. Check it withnode scripts/release-notes.js <x.y.z>. -
Merge to
main, then tag that commit and push the tag:git tag vscode-v<x.y.z> && git push origin vscode-v<x.y.z>
-
The Release VS Code Extension workflow does the rest:
- checks the tag,
package.jsonand changelog agree; - runs the unit and VS Code tests;
- packages the
.vsixonce; - creates the GitHub Release with the changelog notes and the
.vsixattached; - publishes that same
.vsixto the VS Code Marketplace and Open VSX.
If a check fails, nothing is released: fix it, delete the tag, and tag again.
- checks the tag,
To try the pipeline on a branch without releasing anything, run the workflow by hand from the Actions tab: it builds, tests and packages only.
- Use the GitHub issue tracker
- Provide a clear description of the problem
- Include steps to reproduce
- Share relevant environment details
Feel free to open a discussion or issue if you have questions about contributing.
Thank you for helping improve Blackbox!