# Courses VSCode Extension This details the maintenance guidelines for the [freeCodeCamp/courses-vscode-extension](https://github.com/freeCodeCamp/courses-vscode-extension) repository which contains the source code for the [freeCodeCamp - Courses](https://marketplace.visualstudio.com/items?itemName=freeCodeCamp.freecodecamp-courses) extension. ## Publishing the Extension A GitHub Action automagically publishes the extension to the Visual Studio Marketplace, on the release of a new GitHub Release. 1. Package a new version of the extension: ```bash npm run pack -- ``` Where `` is one of: `major`, `minor`, `patch`. 2. Push the new version to `main`: ```bash git commit -am "(): " git push ``` Optionally, you can push directly to `upstream/main`, but opening a new PR is recommended for a sanity check. 3. Create a new GitHub Release using the GitHub UI: - Correctly increment the version number, when creating a new tag. - Upload the `.vsix` file with the release. - Publish the release, and confirm the action succeeded. > [!NOTE] > Creating a release requires write access to the `freeCodeCamp/courses-vscode-extension` repository. ## Manually Publishing the Extension A manual upload to the Visual Studio Marketplace can be achieved, by following these steps: 1. Visit https://marketplace.visualstudio.com/ and sign in 2. Navigate to the [freeCodeCamp Publisher page](https://marketplace.visualstudio.com/manage/publishers/freecodecamp) 3. Select the relevant extension, and select `Update` 4. Upload the file from your local files