---
title: "Courses VSCode Extension"
---

> Documentation Index
> Fetch the complete documentation index at: https://contribute.freecodecamp.org/llms.txt
> Use this file to discover all available pages before exploring further.

# 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 -- --no-git-tag-version <tag_type>
   ```

   Where `<tag_type>` is one of: `major`, `minor`, `patch`.

   The `--no-git-tag-version` flag updates the package version without creating a Git commit or tag. These are created in the following steps.

2. Push the new version to `main`:

   ```bash
   git commit -am "<tag_type>(<version>): <description>"
   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

Source: https://contribute.freecodecamp.org/courses-vscode-extension/index.mdx
