Skip to content

Commit 4ebb437

Browse files
committed
Merge remote-tracking branch 'origin/main' into 055-frontend-major-upgrades
# Conflicts: # frontend/src/components/ServerCard.vue # specs/053-oss-repo-improvements/spec.md
2 parents 3c4d2e0 + 0597962 commit 4ebb437

36 files changed

Lines changed: 4374 additions & 2073 deletions
File renamed without changes.
File renamed without changes.

.github/actions/build-linux-packages/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ runs:
4343
ls -la linux-packages/
4444
4545
- name: Upload Linux packages artifact
46-
uses: actions/upload-artifact@v4
46+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
4747
with:
4848
name: linux-packages-${{ inputs.goarch }}
4949
path: linux-packages/*

.github/labels.yml

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
# Kubernetes-style label taxonomy for mcpproxy-go
2+
# Synced to GitHub via .github/workflows/label-sync.yml (crazy-max/ghaction-github-labeler)
3+
#
4+
# Color families:
5+
# kind/* — indigo/purple (#5C4DBF – #7C6DD8)
6+
# area/* — teal/cyan (#0B7A75 – #1AA3A0)
7+
# priority/* — red/orange (#B60205 – #E4A000)
8+
# triage/* — grey/slate (#4A5568 – #B0BEC5)
9+
# size/* — green (#1A7F37 – #A2D7A0)
10+
# kept defaults — GitHub conventional colours
11+
12+
# ---------------------------------------------------------------------------
13+
# kind/* — what type of change is this?
14+
# ---------------------------------------------------------------------------
15+
- name: "kind/bug"
16+
color: "D93F0B"
17+
description: "Something isn't working"
18+
19+
- name: "kind/feature"
20+
color: "6E40C9"
21+
description: "New capability or user-visible behaviour"
22+
23+
- name: "kind/enhancement"
24+
color: "7C6DD8"
25+
description: "Improvement to an existing feature"
26+
27+
- name: "kind/docs"
28+
color: "5C4DBF"
29+
description: "Documentation only changes"
30+
31+
- name: "kind/refactor"
32+
color: "8B7FE8"
33+
description: "Code restructuring with no behaviour change"
34+
35+
- name: "kind/test"
36+
color: "9B8FF5"
37+
description: "Adding or improving tests"
38+
39+
- name: "kind/chore"
40+
color: "A89FD8"
41+
description: "Maintenance, build, dependency, or CI changes"
42+
43+
- name: "kind/security"
44+
color: "B60205"
45+
description: "Security fix or hardening"
46+
47+
- name: "kind/question"
48+
color: "C0B0EF"
49+
description: "Further information is requested or a design question"
50+
51+
# ---------------------------------------------------------------------------
52+
# area/* — which part of the codebase / product domain?
53+
# ---------------------------------------------------------------------------
54+
- name: "area/proxy"
55+
color: "0B7A75"
56+
description: "Core MCP proxy engine and tool routing"
57+
58+
- name: "area/oauth"
59+
color: "0E8F89"
60+
description: "OAuth 2.1 / PKCE authentication flows"
61+
62+
- name: "area/docker"
63+
color: "11A39D"
64+
description: "Docker security isolation and container lifecycle"
65+
66+
- name: "area/tray"
67+
color: "14B8B1"
68+
description: "macOS / Windows system-tray application"
69+
70+
- name: "area/web-ui"
71+
color: "17CCC4"
72+
description: "Vue 3 web dashboard (frontend/)"
73+
74+
- name: "area/cli"
75+
color: "1AA3A0"
76+
description: "Command-line interface (mcpproxy CLI commands)"
77+
78+
- name: "area/storage"
79+
color: "0E8080"
80+
description: "BBolt database, config, and persistence"
81+
82+
- name: "area/search"
83+
color: "1296A0"
84+
description: "BM25 / Bleve search index and tool discovery"
85+
86+
- name: "area/teams"
87+
color: "0A6E6E"
88+
description: "Server edition multi-user / teams features"
89+
90+
- name: "area/telemetry"
91+
color: "178080"
92+
description: "Anonymous usage telemetry and feedback"
93+
94+
- name: "area/build-ci"
95+
color: "1BAAAA"
96+
description: "GitHub Actions, Makefile, build scripts"
97+
98+
- name: "area/packaging"
99+
color: "1DB8B8"
100+
description: "Homebrew, .deb, Windows installer, Docker image"
101+
102+
# ---------------------------------------------------------------------------
103+
# priority/* — how urgent / impactful?
104+
# ---------------------------------------------------------------------------
105+
- name: "priority/critical"
106+
color: "B60205"
107+
description: "Must fix immediately — data loss, security, or total breakage"
108+
109+
- name: "priority/high"
110+
color: "D93F0B"
111+
description: "Should be addressed in the current or next release"
112+
113+
- name: "priority/medium"
114+
color: "E4A000"
115+
description: "Important but not blocking a release"
116+
117+
- name: "priority/low"
118+
color: "F9D0C4"
119+
description: "Nice to have; address when bandwidth allows"
120+
121+
# ---------------------------------------------------------------------------
122+
# triage/* — where is this issue in the triage lifecycle?
123+
# ---------------------------------------------------------------------------
124+
- name: "triage/needs-triage"
125+
color: "4A5568"
126+
description: "Newly opened; not yet reviewed by a maintainer"
127+
128+
- name: "triage/accepted"
129+
color: "718096"
130+
description: "Triaged and accepted for the backlog"
131+
132+
- name: "triage/duplicate"
133+
color: "A0AEC0"
134+
description: "This issue or PR already exists"
135+
136+
- name: "triage/wontfix"
137+
color: "B0BEC5"
138+
description: "This will not be worked on"
139+
140+
- name: "triage/needs-information"
141+
color: "CBD5E0"
142+
description: "More information is needed from the reporter"
143+
144+
# ---------------------------------------------------------------------------
145+
# size/* — estimated effort (set by maintainer or PR automation)
146+
# ---------------------------------------------------------------------------
147+
- name: "size/XS"
148+
color: "1A7F37"
149+
description: "Trivial change — a few lines"
150+
151+
- name: "size/S"
152+
color: "2EA44F"
153+
description: "Small — less than a day of work"
154+
155+
- name: "size/M"
156+
color: "57C374"
157+
description: "Medium — a few days of work"
158+
159+
- name: "size/L"
160+
color: "85D99E"
161+
description: "Large — up to a week of work"
162+
163+
- name: "size/XL"
164+
color: "A2D7A0"
165+
description: "Extra-large — multi-week or architectural change"
166+
167+
# ---------------------------------------------------------------------------
168+
# GitHub conventional labels — keep as-is
169+
# ---------------------------------------------------------------------------
170+
- name: "good first issue"
171+
color: "7057FF"
172+
description: "Good for newcomers"
173+
174+
- name: "help wanted"
175+
color: "008672"
176+
description: "Extra attention is needed"

.github/workflows/claude-md-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
check-size:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v4
12+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
1313

1414
- name: Check CLAUDE.md size
1515
run: |

.github/workflows/codeql.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: CodeQL Analysis
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
schedule:
11+
# Weekly scan — Tuesday 03:17 UTC (off-peak, avoids Monday congestion)
12+
- cron: '17 3 * * 2'
13+
14+
permissions:
15+
security-events: write
16+
packages: read
17+
actions: read
18+
contents: read
19+
20+
jobs:
21+
analyze:
22+
name: Analyze (${{ matrix.language }})
23+
runs-on: ubuntu-latest
24+
25+
strategy:
26+
fail-fast: false
27+
matrix:
28+
include:
29+
- language: go
30+
# build-mode: autobuild — CodeQL 2.25.x does not support
31+
# build-mode:none for Go; autobuild runs `go build ./...` which
32+
# is sufficient because the standard module builds cleanly on
33+
# ubuntu-latest (verified by the Build CI job).
34+
build-mode: autobuild
35+
- language: javascript-typescript
36+
# build-mode: none — default for JS/TS; no compilation needed.
37+
build-mode: none
38+
39+
steps:
40+
- name: Checkout repository
41+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
42+
43+
- name: Initialize CodeQL
44+
uses: github/codeql-action/init@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
45+
with:
46+
languages: ${{ matrix.language }}
47+
build-mode: ${{ matrix.build-mode }}
48+
49+
- name: Autobuild
50+
if: matrix.build-mode == 'autobuild'
51+
uses: github/codeql-action/autobuild@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
52+
53+
- name: Perform CodeQL Analysis
54+
uses: github/codeql-action/analyze@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
55+
with:
56+
category: /language:${{ matrix.language }}

.github/workflows/commitlint.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Commitlint
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- edited
8+
- synchronize
9+
10+
permissions:
11+
pull-requests: read
12+
statuses: write
13+
14+
jobs:
15+
validate-pr-title:
16+
name: Validate PR title
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Check PR title follows Conventional Commits
20+
uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5.5.3
21+
env:
22+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23+
with:
24+
# Allowed Conventional Commit types for this repo.
25+
# Keep in sync with the types used in squash-merge commit messages.
26+
types: |
27+
feat
28+
fix
29+
docs
30+
chore
31+
ci
32+
refactor
33+
test
34+
perf
35+
build
36+
style
37+
revert
38+
# Scope is optional; allow any scope string when present.
39+
requireScope: false
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Dependency Review
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
7+
permissions:
8+
contents: read
9+
pull-requests: write
10+
11+
jobs:
12+
dependency-review:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
17+
18+
- name: Dependency Review
19+
uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0
20+
with:
21+
fail-on-severity: high
22+
comment-summary-in-pr: on-failure

.github/workflows/docs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ jobs:
2121
build:
2222
runs-on: ubuntu-latest
2323
steps:
24-
- uses: actions/checkout@v4
24+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
2525

2626
- name: Setup Node.js
27-
uses: actions/setup-node@v4
27+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
2828
with:
2929
node-version: '20'
3030
cache: 'npm'
@@ -59,7 +59,7 @@ jobs:
5959
github.event_name == 'push' &&
6060
github.ref == 'refs/heads/main' &&
6161
github.repository == 'smart-mcp-proxy/mcpproxy-go'
62-
uses: cloudflare/wrangler-action@v3
62+
uses: cloudflare/wrangler-action@9681c2997648301493e78cacbfb790a9f19c833f # v3.9.0
6363
with:
6464
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
6565
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}

0 commit comments

Comments
 (0)