Skip to content

Commit 57a1978

Browse files
authored
ci(workflows): standardize workflow configuration (#5)
* chore: move logo.png to resources directory Move logo.png from root to resources/ to match README reference and keep assets organized in one location. * ci(workflows): standardize workflow configuration - build: always run on push to main (keep path filters for PRs) - lint-pr-title: rename from commit-lint, remove commit message linting - contributors: add html output format, run at 1:00 AM EST - publish: use calendar versioning (YYYY.MMDD.RUN_NUMBER) * ci(workflows): use shared reusable workflows from .github repo Update build and publish workflows to use the new vsc-vsix-build and vsc-vsix-publish reusable workflows. * docs(readme): format README to match template standards - Add emoji prefix to tagline - Add emoji prefixes to all section headers - Add emoji prefixes to feature list items - Add emoji prefixes to commands, security, and requirements lists - Add 🎉 to installation and development setup completion steps
1 parent dba2fb3 commit 57a1978

7 files changed

Lines changed: 48 additions & 198 deletions

File tree

.github/workflows/build.yml

Lines changed: 3 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -13,43 +13,9 @@ on:
1313
push:
1414
branches:
1515
- main
16-
paths:
17-
- 'src/**'
18-
- 'package.json'
19-
- 'package-lock.json'
20-
- 'tsconfig.json'
21-
- '.github/workflows/build.yml'
2216

2317
jobs:
2418
build:
25-
runs-on: ubuntu-latest
26-
steps:
27-
- name: Checkout code
28-
uses: actions/checkout@v4
29-
30-
- name: Setup Node.js
31-
uses: actions/setup-node@v4
32-
with:
33-
node-version: '20'
34-
cache: 'npm'
35-
36-
- name: Install dependencies
37-
run: npm ci
38-
39-
- name: Run linting
40-
run: npm run lint
41-
42-
- name: Run tests
43-
run: npm run test
44-
45-
- name: Build extension
46-
run: npm run build
47-
48-
- name: Package VSIX
49-
run: npx @vscode/vsce package -o CodingWithCalvin.VSC-MCPServer.vsix
50-
51-
- name: Upload VSIX artifact
52-
uses: actions/upload-artifact@v4
53-
with:
54-
name: vsix
55-
path: CodingWithCalvin.VSC-MCPServer.vsix
19+
uses: CodingWithCalvin/.github/.github/workflows/vsc-vsix-build.yml@main
20+
with:
21+
extension-name: VSC-MCPServer

.github/workflows/commit-lint.yml

Lines changed: 0 additions & 59 deletions
This file was deleted.

.github/workflows/contributors.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ name: Update Contributors
22

33
on:
44
schedule:
5-
- cron: '0 0 * * *'
5+
- cron: '0 6 * * *' # 1:00 AM EST / 2:00 AM EDT
66
workflow_dispatch:
77

88
jobs:
99
contributors:
1010
uses: CodingWithCalvin/.github/.github/workflows/contributors.yml@main
11+
with:
12+
output_format: html
1113
secrets: inherit
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Lint PR Title
2+
3+
on:
4+
pull_request:
5+
types: [opened, edited, reopened, synchronize]
6+
7+
permissions:
8+
contents: read
9+
pull-requests: read
10+
11+
jobs:
12+
lint-pr-title:
13+
name: Lint PR Title
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v4
18+
19+
- name: Setup Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: '20'
23+
24+
- name: Install commitlint
25+
run: |
26+
npm install --save-dev @commitlint/cli@18.4.3 @commitlint/config-conventional@18.4.3
27+
28+
- name: Validate PR title
29+
env:
30+
PR_TITLE: ${{ github.event.pull_request.title }}
31+
run: |
32+
echo "Validating PR title: $PR_TITLE"
33+
echo "$PR_TITLE" | npx commitlint --verbose

.github/workflows/publish.yml

Lines changed: 6 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -2,106 +2,14 @@ name: Publish to VS Code Marketplace
22

33
on:
44
workflow_dispatch:
5-
inputs:
6-
version:
7-
description: 'Version to release (e.g., 1.0.0)'
8-
required: true
9-
type: string
10-
11-
permissions:
12-
contents: write
13-
actions: read
145

156
jobs:
167
publish:
17-
runs-on: ubuntu-latest
18-
outputs:
19-
version: ${{ steps.version.outputs.version }}
20-
steps:
21-
- name: Checkout code
22-
uses: actions/checkout@v4
23-
with:
24-
fetch-depth: 0
25-
token: ${{ secrets.GITHUB_TOKEN }}
26-
27-
- name: Setup Node.js
28-
uses: actions/setup-node@v4
29-
with:
30-
node-version: '20'
31-
cache: 'npm'
32-
33-
- name: Install dependencies
34-
run: npm ci
35-
36-
- name: Run tests
37-
run: npm run test
38-
39-
- name: Build extension
40-
run: npm run build
41-
42-
- name: Set version
43-
id: version
44-
run: |
45-
npm version ${{ inputs.version }} --no-git-tag-version --allow-same-version
46-
echo "version=${{ inputs.version }}" >> $GITHUB_OUTPUT
47-
48-
- name: Package VSIX
49-
run: npx @vscode/vsce package -o CodingWithCalvin.VSC-MCPServer.vsix
50-
51-
- name: Publish to VS Code Marketplace
52-
run: npx @vscode/vsce publish -p ${{ secrets.VS_PAT }}
53-
54-
- name: Upload VSIX artifact
55-
uses: actions/upload-artifact@v4
56-
with:
57-
name: vsix
58-
path: CodingWithCalvin.VSC-MCPServer.vsix
59-
60-
changelog:
61-
needs: publish
62-
uses: CodingWithCalvin/.github/.github/workflows/generate-changelog.yml@main
63-
secrets: inherit
64-
65-
release:
66-
needs: [publish, changelog]
67-
runs-on: ubuntu-latest
68-
permissions:
69-
contents: write
70-
steps:
71-
- name: Download VSIX artifact
72-
uses: actions/download-artifact@v4
73-
with:
74-
name: vsix
75-
76-
- name: Create GitHub Release
77-
uses: softprops/action-gh-release@v1
78-
with:
79-
tag_name: v${{ needs.publish.outputs.version }}
80-
name: v${{ needs.publish.outputs.version }}
81-
body: ${{ needs.changelog.outputs.changelog }}
82-
files: CodingWithCalvin.VSC-MCPServer.vsix
83-
84-
bluesky:
85-
needs: [publish, release]
86-
uses: CodingWithCalvin/.github/.github/workflows/bluesky-post.yml@main
87-
with:
88-
post_text: |
89-
🚀 VSC as MCP v${{ needs.publish.outputs.version }} has been released!
90-
91-
[GitHub Release](https://github.com/CodingWithCalvin/VSC-MCPServer/releases/tag/v${{ needs.publish.outputs.version }})
92-
[VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VSC-MCPServer)
93-
embed_title: "VSC as MCP v${{ needs.publish.outputs.version }}"
94-
embed_description: "Supercharge your AI coding assistants with VS Code's powerful language intelligence!"
95-
secrets: inherit
96-
97-
x:
98-
needs: [publish, release]
99-
uses: CodingWithCalvin/.github/.github/workflows/x-post.yml@main
8+
uses: CodingWithCalvin/.github/.github/workflows/vsc-vsix-publish.yml@main
1009
with:
101-
post_text: |
102-
🚀 VSC as MCP v${{ needs.publish.outputs.version }} has been released!
103-
104-
GitHub Release: https://github.com/CodingWithCalvin/VSC-MCPServer/releases/tag/v${{ needs.publish.outputs.version }}
105-
VS Code Marketplace: https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VSC-MCPServer
10+
extension-name: VSC-MCPServer
11+
display-name: "VSC as MCP"
12+
marketplace-id: CodingWithCalvin.VSC-MCPServer
13+
description: "Supercharge your AI coding assistants with VS Code's powerful language intelligence!"
14+
hashtags: "#mcp #ai #claude"
10615
secrets: inherit
107-

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<h1 align="center">VSC as MCP</h1>
66

77
<p align="center">
8-
<strong>Supercharge your AI coding assistants with VS Code's powerful language intelligence!</strong>
8+
<strong>🚀 Supercharge your AI coding assistants with VS Code's powerful language intelligence!</strong>
99
</p>
1010

1111
<p align="center">
@@ -75,7 +75,7 @@ A Visual Studio Code extension that exposes an MCP (Model Context Protocol) serv
7575
1. Open VS Code
7676
2. Go to **Extensions** (Ctrl+Shift+X)
7777
3. Search for "VSC as MCP"
78-
4. Click **Install**
78+
4. Click **Install** 🎉
7979

8080
### Manual Installation
8181

@@ -151,7 +151,7 @@ Contributions are welcome! Whether it's bug reports, feature requests, or pull r
151151
1. Clone the repository
152152
2. Run `npm install`
153153
3. Run `npm run build`
154-
4. Press F5 to launch the Extension Development Host
154+
4. Press F5 to launch the Extension Development Host 🎉
155155

156156
## 📄 License
157157

File renamed without changes.

0 commit comments

Comments
 (0)