# Contributing to sublime-syntax-definition-template-tag Open source projects like `sublime-syntax-definition-template-tag` live on your words of encouragement and contribution. Please give feedback, report issues, or submit pull requests! Here are some guidelines to help you and everyone else. ## Local development
Install dependencies 1. Fork and clone this repo. ```sh git clone git@github.com:/sublime-syntax-definition-template-tag.git ``` 1. Change directory. ```sh cd sublime-syntax-definition-template-tag ``` 1. Use [`pnpm`](https://pnpm.io/installation) to install dependencies. ```sh pnpm install ```
Check and fix errors 1. As you write code, please check that it meets formatting and linting rules. ```sh pnpm lint ``` 1. You can run `lint:fix` to fix errors. ```sh pnpm lint:fix ```
Run tests 1. When you write code, please check that all tests continue to pass. ```sh pnpm test ```
Add changeset to pull request 1. To record how a pull request affects packages, you will want to add a changeset. The changeset provides a summary of the code change. It also describes how package versions should be updated (major, minor, or patch) as a result of the code change. ```sh pnpm changeset ```
Publish package (for admins) 1. Generate a [personal access token](https://github.com/settings/tokens/) in GitHub, with default values for scopes (none selected). 1. Run the `release:prepare` script. This removes changesets, updates the package version (e.g. from `0.1.1` to `0.1.2`), and updates the `CHANGELOG`. ```sh GITHUB_TOKEN= pnpm release:prepare ``` 1. Review the file changes. Commit them in a branch, then open a pull request to merge the changes to the `main` branch. ```sh git checkout -b tag-0.1.2 git add . git commit -m "Tagged 0.1.2" git push origin tag-0.1.2 ``` 1. [Create a tag](https://github.com/ijlee2/sublime-syntax-definition-template-tag/releases/new) and provide release notes. The tag name should match the package version (e.g. `0.1.2`). 1. Update the release branches. We can use branches to publish multiple Sublime syntax definitions to [Package Control](https://packagecontrol.io). ```sh pnpm release:publish git push origin gjs gts ```