👍🎉 First off, thanks for taking the time to contribute! 🎉👍
When contributing to this project, please first discuss the changes you wish to make via an issue before making changes.
Please note the Code of Conduct document, please follow it in all your interactions with this project.
Unsure where to begin contributing? You can start by looking through the help-wanted
issues.
git clone https://github.com/eamodio/vscode-amethyst-theme.git
Prerequisites
From a terminal, where you have cloned the repository, execute the following command to install the required dependencies:
pnpm install
This project uses prettier for code formatting. You can run prettier across the code by calling pnpm run pretty
from a terminal.
To format the code as you make changes you can install the Prettier - Code formatter extension.
Add the following to your User Settings to run prettier:
"editor.formatOnSave": true,
To generate a VSIX (installation package) run the following from a terminal:
pnpm run package
- Open the
vscode-amethyst-theme
folder - Ensure the required dependencies are installed
- Choose the
Launch Theme
launch configuration from the launch dropdown in the Debug viewlet and pressF5
.
Please follow all the instructions in the PR template.
Use the prep-release script to prepare a new release. The script updates the package.json and CHANGELOG.md appropriately, commits the changes as Bumps to v{major}.{minor}.{patch}
, and creates a v{major}.{minor}.{patch}
tag which when pushed will trigger the CI to publish a release.
- Ensure you are on the
main
branch and have a clean working tree - Ensure the CHANGELOG.md has been updated with the release notes
- Run
pnpm run prep-release
and enter the desired{major}.{minor}.{patch}
version when prompted - Review the
Bumps to v{major}.{minor}.{patch}
commit - Run
git push --follow-tags
to push the commit and tag
Pushing the v{major}.{minor}.{patch}
tag will trigger the Publish Stable workflow to automatically package the extension, create a GitHub release, and deploy it to the VS Marketplace.
If the action fails and retries are unsuccessful, the VSIX can be built locally with pnpm run package
and uploaded manually to the marketplace. A GitHub release can also be created manually using v{major}.{minor}.{patch}
as the title and the notes from the CHANGELOG.md with the VSIX attached.
The Publish Pre-release workflow is automatically run every AM unless no new changes have been committed to main
. This workflow can also be manually triggered by running the Publish Pre-release
workflow from the Actions tab, no more than once per hour (because of the versioning scheme).