diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 632e5f6..56e14af 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,43 +13,9 @@ on: push: branches: - main - paths: - - 'src/**' - - 'package.json' - - 'package-lock.json' - - 'tsconfig.json' - - '.github/workflows/build.yml' jobs: build: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - cache: 'npm' - - - name: Install dependencies - run: npm ci - - - name: Run linting - run: npm run lint - - - name: Run tests - run: npm run test - - - name: Build extension - run: npm run build - - - name: Package VSIX - run: npx @vscode/vsce package -o CodingWithCalvin.VSC-MCPServer.vsix - - - name: Upload VSIX artifact - uses: actions/upload-artifact@v4 - with: - name: vsix - path: CodingWithCalvin.VSC-MCPServer.vsix + uses: CodingWithCalvin/.github/.github/workflows/vsc-vsix-build.yml@main + with: + extension-name: VSC-MCPServer diff --git a/.github/workflows/commit-lint.yml b/.github/workflows/commit-lint.yml deleted file mode 100644 index e765427..0000000 --- a/.github/workflows/commit-lint.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: Lint Commit Messages - -on: - pull_request: - types: [opened, edited, reopened, synchronize] - -permissions: - contents: read - pull-requests: read - -jobs: - lint-pr-title: - name: Lint PR Title - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: Install commitlint - run: | - npm install --save-dev @commitlint/cli@18.4.3 @commitlint/config-conventional@18.4.3 - - - name: Validate PR title - env: - PR_TITLE: ${{ github.event.pull_request.title }} - run: | - echo "Validating PR title: $PR_TITLE" - echo "$PR_TITLE" | npx commitlint --verbose - - commitlint: - name: Lint Commit Messages - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: 0 # Fetch all history for all branches and tags - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: Install commitlint - run: | - npm install --save-dev @commitlint/cli@18.4.3 @commitlint/config-conventional@18.4.3 - - - name: Validate PR commits - run: | - # Get the base branch (usually main) - BASE_SHA=$(git merge-base origin/${{ github.base_ref }} HEAD) - - # Lint all commits in the PR - npx commitlint --from $BASE_SHA --to HEAD --verbose diff --git a/.github/workflows/contributors.yml b/.github/workflows/contributors.yml index 6c91a77..060a0b5 100644 --- a/.github/workflows/contributors.yml +++ b/.github/workflows/contributors.yml @@ -2,10 +2,12 @@ name: Update Contributors on: schedule: - - cron: '0 0 * * *' + - cron: '0 6 * * *' # 1:00 AM EST / 2:00 AM EDT workflow_dispatch: jobs: contributors: uses: CodingWithCalvin/.github/.github/workflows/contributors.yml@main + with: + output_format: html secrets: inherit diff --git a/.github/workflows/lint-pr-title.yml b/.github/workflows/lint-pr-title.yml new file mode 100644 index 0000000..db3deee --- /dev/null +++ b/.github/workflows/lint-pr-title.yml @@ -0,0 +1,33 @@ +name: Lint PR Title + +on: + pull_request: + types: [opened, edited, reopened, synchronize] + +permissions: + contents: read + pull-requests: read + +jobs: + lint-pr-title: + name: Lint PR Title + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install commitlint + run: | + npm install --save-dev @commitlint/cli@18.4.3 @commitlint/config-conventional@18.4.3 + + - name: Validate PR title + env: + PR_TITLE: ${{ github.event.pull_request.title }} + run: | + echo "Validating PR title: $PR_TITLE" + echo "$PR_TITLE" | npx commitlint --verbose diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 31704b1..48c2d09 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -2,106 +2,14 @@ name: Publish to VS Code Marketplace on: workflow_dispatch: - inputs: - version: - description: 'Version to release (e.g., 1.0.0)' - required: true - type: string - -permissions: - contents: write - actions: read jobs: publish: - runs-on: ubuntu-latest - outputs: - version: ${{ steps.version.outputs.version }} - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - cache: 'npm' - - - name: Install dependencies - run: npm ci - - - name: Run tests - run: npm run test - - - name: Build extension - run: npm run build - - - name: Set version - id: version - run: | - npm version ${{ inputs.version }} --no-git-tag-version --allow-same-version - echo "version=${{ inputs.version }}" >> $GITHUB_OUTPUT - - - name: Package VSIX - run: npx @vscode/vsce package -o CodingWithCalvin.VSC-MCPServer.vsix - - - name: Publish to VS Code Marketplace - run: npx @vscode/vsce publish -p ${{ secrets.VS_PAT }} - - - name: Upload VSIX artifact - uses: actions/upload-artifact@v4 - with: - name: vsix - path: CodingWithCalvin.VSC-MCPServer.vsix - - changelog: - needs: publish - uses: CodingWithCalvin/.github/.github/workflows/generate-changelog.yml@main - secrets: inherit - - release: - needs: [publish, changelog] - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - name: Download VSIX artifact - uses: actions/download-artifact@v4 - with: - name: vsix - - - name: Create GitHub Release - uses: softprops/action-gh-release@v1 - with: - tag_name: v${{ needs.publish.outputs.version }} - name: v${{ needs.publish.outputs.version }} - body: ${{ needs.changelog.outputs.changelog }} - files: CodingWithCalvin.VSC-MCPServer.vsix - - bluesky: - needs: [publish, release] - uses: CodingWithCalvin/.github/.github/workflows/bluesky-post.yml@main - with: - post_text: | - 🚀 VSC as MCP v${{ needs.publish.outputs.version }} has been released! - - [GitHub Release](https://github.com/CodingWithCalvin/VSC-MCPServer/releases/tag/v${{ needs.publish.outputs.version }}) - [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VSC-MCPServer) - embed_title: "VSC as MCP v${{ needs.publish.outputs.version }}" - embed_description: "Supercharge your AI coding assistants with VS Code's powerful language intelligence!" - secrets: inherit - - x: - needs: [publish, release] - uses: CodingWithCalvin/.github/.github/workflows/x-post.yml@main + uses: CodingWithCalvin/.github/.github/workflows/vsc-vsix-publish.yml@main with: - post_text: | - 🚀 VSC as MCP v${{ needs.publish.outputs.version }} has been released! - - GitHub Release: https://github.com/CodingWithCalvin/VSC-MCPServer/releases/tag/v${{ needs.publish.outputs.version }} - VS Code Marketplace: https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VSC-MCPServer + extension-name: VSC-MCPServer + display-name: "VSC as MCP" + marketplace-id: CodingWithCalvin.VSC-MCPServer + description: "Supercharge your AI coding assistants with VS Code's powerful language intelligence!" + hashtags: "#mcp #ai #claude" secrets: inherit - diff --git a/README.md b/README.md index 3cca2a8..fb6a9da 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

VSC as MCP

- Supercharge your AI coding assistants with VS Code's powerful language intelligence! + 🚀 Supercharge your AI coding assistants with VS Code's powerful language intelligence!

@@ -75,7 +75,7 @@ A Visual Studio Code extension that exposes an MCP (Model Context Protocol) serv 1. Open VS Code 2. Go to **Extensions** (Ctrl+Shift+X) 3. Search for "VSC as MCP" -4. Click **Install** +4. Click **Install** 🎉 ### Manual Installation @@ -151,7 +151,7 @@ Contributions are welcome! Whether it's bug reports, feature requests, or pull r 1. Clone the repository 2. Run `npm install` 3. Run `npm run build` -4. Press F5 to launch the Extension Development Host +4. Press F5 to launch the Extension Development Host 🎉 ## 📄 License diff --git a/logo.png b/resources/logo.png similarity index 100% rename from logo.png rename to resources/logo.png