Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions .commitlintrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,20 @@ extends:
rules:
# Type enum - allowed commit types
type-enum:
- 2 # Level: error
- 2 # Level: error
- always
- # Allowed types:
- feat # New feature
- fix # Bug fix
- docs # Documentation only changes
- style # Code style changes (formatting, missing semi-colons, etc)
- refactor # Code refactoring (neither fixes a bug nor adds a feature)
- perf # Performance improvements
- test # Adding or updating tests
- build # Changes to build system or dependencies
- ci # CI/CD configuration changes
- chore # Other changes that don't modify src or test files
- revert # Revert a previous commit
- feat # New feature
- fix # Bug fix
- docs # Documentation only changes
- style # Code style changes (formatting, missing semi-colons, etc)
- refactor # Code refactoring (neither fixes a bug nor adds a feature)
- perf # Performance improvements
- test # Adding or updating tests
- build # Changes to build system or dependencies
- ci # CI/CD configuration changes
- chore # Other changes that don't modify src or test files
- revert # Revert a previous commit

# Type case should be lowercase
type-case:
Expand Down Expand Up @@ -62,17 +62,17 @@ rules:

# Body should have a blank line before it
body-leading-blank:
- 1 # Warning level
- 1 # Warning level
- always

# Footer should have a blank line before it
footer-leading-blank:
- 1 # Warning level
- 1 # Warning level
- always

# Body max line length
body-max-line-length:
- 1 # Warning level
- 1 # Warning level
- always
- 100

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/commit-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history for all branches and tags
fetch-depth: 0 # Fetch all history for all branches and tags

- name: Setup Node.js
uses: actions/setup-node@v4
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/preview-changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ jobs:
needs: generate

steps:
- name: Display changelog preview
run: |
echo "=========================================="
echo "CHANGELOG PREVIEW"
echo "=========================================="
echo ""
echo "${{ needs.generate.outputs.changelog }}"
shell: bash
- name: Display changelog preview
run: |
echo "=========================================="
echo "CHANGELOG PREVIEW"
echo "=========================================="
echo ""
echo "${{ needs.generate.outputs.changelog }}"
shell: bash
6 changes: 4 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ jobs:
#github #githubactions #devops #automation
embed_url: https://github.com/marketplace/actions/visual-studio-marketplace-publisher
embed_title: Visual Studio Marketplace Publisher
embed_description: Publish your Visual Studio extensions to the marketplace with ease!
embed_description:
Publish your Visual Studio extensions to the marketplace with ease!
secrets:
BLUESKY_USERNAME: ${{ secrets.BLUESKY_USERNAME }}
BLUESKY_APP_PASSWORD: ${{ secrets.BLUESKY_APP_PASSWORD }}
Expand All @@ -93,7 +94,8 @@ jobs:
#github #githubactions #devops #automation
article_url: https://github.com/marketplace/actions/visual-studio-marketplace-publisher
article_title: Visual Studio Marketplace Publisher
article_description: Publish your Visual Studio extensions to the marketplace with ease!
article_description:
Publish your Visual Studio extensions to the marketplace with ease!
secrets:
LINKEDIN_ACCESS_TOKEN: ${{ secrets.LINKEDIN_ACCESS_TOKEN }}
LINKEDIN_CLIENT_ID: ${{ secrets.LINKEDIN_CLIENT_ID }}
47 changes: 29 additions & 18 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,28 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This file provides guidance to Claude Code (claude.ai/code) when working with
code in this repository.

## Critical Rules

**These rules override all other instructions:**

1. **NEVER commit directly to main** - Always create a feature branch and submit a pull request
1. **NEVER commit directly to main** - Always create a feature branch and submit
a pull request
2. **Conventional commits** - Format: `type(scope): description`
3. **GitHub Issues for TODOs** - Use `gh` CLI to manage issues, no local TODO files. Use conventional commit format for issue titles
3. **GitHub Issues for TODOs** - Use `gh` CLI to manage issues, no local TODO
files. Use conventional commit format for issue titles
4. **Pull Request titles** - Use conventional commit format (same as commits)
5. **Branch naming** - Use format: `type/scope/short-description` (e.g., `feat/action/new-input`)
5. **Branch naming** - Use format: `type/scope/short-description` (e.g.,
`feat/action/new-input`)
6. **Working an issue** - Always create a new branch from an updated main branch
7. **Check branch status before pushing** - Verify the remote tracking branch still exists. If a PR was merged/deleted, create a new branch from main instead
8. **No co-authors** - Do not add co-author information on commits or pull requests
9. **No "generated by" statements** - Do not add generated-by statements on pull requests
7. **Check branch status before pushing** - Verify the remote tracking branch
still exists. If a PR was merged/deleted, create a new branch from main
instead
8. **No co-authors** - Do not add co-author information on commits or pull
requests
9. **No "generated by" statements** - Do not add generated-by statements on pull
requests

---

Expand All @@ -29,22 +37,23 @@ gh issue close <number>

### Conventional Commit Types

| Type | Description |
|------|-------------|
| `feat` | New feature |
| `fix` | Bug fix |
| `docs` | Documentation only |
| Type | Description |
| ---------- | ------------------------------------------------------- |
| `feat` | New feature |
| `fix` | Bug fix |
| `docs` | Documentation only |
| `refactor` | Code change that neither fixes a bug nor adds a feature |
| `test` | Adding or updating tests |
| `chore` | Maintenance tasks |
| `perf` | Performance improvement |
| `ci` | CI/CD changes |
| `test` | Adding or updating tests |
| `chore` | Maintenance tasks |
| `perf` | Performance improvement |
| `ci` | CI/CD changes |

---

## Project Overview

GitHub Action to publish Visual Studio extensions to the Visual Studio Marketplace. This action only runs on Windows-based runners.
GitHub Action to publish Visual Studio extensions to the Visual Studio
Marketplace. This action only runs on Windows-based runners.

## Commands

Expand All @@ -70,12 +79,14 @@ npm run bundle # Format + package
This is a single-file TypeScript GitHub Action:

- `src/index.ts` - The entire action logic:

1. Validates Windows platform requirement
2. Resolves paths for publish manifest and VSIX file
3. Locates Visual Studio installation via `vswhere.exe`
4. Runs `VsixPublisher.exe` to publish the extension

- `action.yml` - Action metadata defining inputs (`marketplace-pat`, `publish-manifest-path`, `vsix-path`, `vs-version`, `vs-prerelease`)
- `action.yml` - Action metadata defining inputs (`marketplace-pat`,
`publish-manifest-path`, `vsix-path`, `vs-version`, `vs-prerelease`)
- `dist/index.js` - Bundled output (committed, built with `@vercel/ncc`)
- `__tests__/index.test.ts` - Jest tests

Expand Down
24 changes: 14 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,25 @@

📦 Publish your Visual Studio extensions to the marketplace with ease!

This GitHub Action publishes your Visual Studio extension (.vsix) to the Visual Studio Marketplace.
This GitHub Action publishes your Visual Studio extension (.vsix) to the Visual
Studio Marketplace.

## 🚀 Usage

You can use the Visual Studio Marketplace Publisher GitHub Action by configuring a YAML-based workflow file, e.g. `.github/workflows/deploy.yml`.
You can use the Visual Studio Marketplace Publisher GitHub Action by configuring
a YAML-based workflow file, e.g. `.github/workflows/deploy.yml`.

> ⚠️ **Note:** This action only works on a Windows-based runner.

## 📥 Inputs

| Input | Required | Description |
|-------|----------|-------------|
| `marketplace-pat` | Yes | Your Personal Access Token for the Visual Studio Marketplace |
| `publish-manifest-path` | Yes | Path to your publish manifest (JSON file) |
| `vsix-path` | Yes | Path to the local VSIX package to publish |
| `vs-version` | No | Version of Visual Studio tooling to use (default: `latest`) |
| `vs-prerelease` | No | Allow pre-release Visual Studio tooling (default: `false`) |
| Input | Required | Description |
| ----------------------- | -------- | ------------------------------------------------------------ |
| `marketplace-pat` | Yes | Your Personal Access Token for the Visual Studio Marketplace |
| `publish-manifest-path` | Yes | Path to your publish manifest (JSON file) |
| `vsix-path` | Yes | Path to the local VSIX package to publish |
| `vs-version` | No | Version of Visual Studio tooling to use (default: `latest`) |
| `vs-prerelease` | No | Allow pre-release Visual Studio tooling (default: `false`) |

## 📋 Example

Expand All @@ -49,7 +51,9 @@ steps:
## 👥 Contributors

<!-- readme: contributors -start -->
[![CalvinAllen](https://avatars.githubusercontent.com/u/41448698?v=4&s=64)](https://github.com/CalvinAllen)

[![CalvinAllen](https://avatars.githubusercontent.com/u/41448698?v=4&s=64)](https://github.com/CalvinAllen)

<!-- readme: contributors -end -->

## 📄 License
Expand Down