Skip to content

Commit 06270c7

Browse files
committed
new UI changes
1 parent 8b55d08 commit 06270c7

27 files changed

Lines changed: 8557 additions & 828 deletions

.github/workflows/go.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ jobs:
2525
- name: Check out code
2626
uses: actions/checkout@v6
2727

28+
- name: Set up Node.js
29+
uses: actions/setup-node@v4
30+
with:
31+
node-version: "20"
32+
cache: "npm"
33+
cache-dependency-path: ui/package-lock.json
34+
35+
- name: Build UI
36+
run: script/build-ui
37+
2838
- name: Set up Go
2939
uses: actions/setup-go@v6
3040
with:

.github/workflows/goreleaser.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@ jobs:
1616
- name: Check out code
1717
uses: actions/checkout@v6
1818

19+
- name: Set up Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: "20"
23+
cache: "npm"
24+
cache-dependency-path: ui/package-lock.json
25+
26+
- name: Build UI
27+
run: script/build-ui
28+
1929
- name: Set up Go
2030
uses: actions/setup-go@v6
2131
with:

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,11 @@ e2e.test
2323

2424
.history
2525
conformance-report/
26+
27+
# UI build artifacts
28+
ui/dist/
29+
ui/node_modules/
30+
31+
# Embedded UI assets are committed (built from ui/)
32+
33+
pkg/github/ui_dist/

Dockerfile

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
FROM node:20-alpine AS ui-build
2+
WORKDIR /ui
3+
COPY ui/package*.json ./
4+
RUN npm ci
5+
COPY ui/ ./
6+
RUN npm run build && \
7+
mkdir -p /ui/out && \
8+
mv dist/src/apps/get-me/index.html /ui/out/get-me.html && \
9+
mv dist/src/apps/create-issue/index.html /ui/out/create-issue.html
10+
111
FROM golang:1.25.6-alpine AS build
212
ARG VERSION="dev"
313

@@ -8,11 +18,15 @@ WORKDIR /build
818
RUN --mount=type=cache,target=/var/cache/apk \
919
apk add git
1020

21+
# Copy source code (including ui_dist placeholder)
22+
COPY . .
23+
24+
# Copy built UI assets over the placeholder
25+
COPY --from=ui-build /ui/out/* ./pkg/github/ui_dist/
26+
1127
# Build the server
12-
# go build automatically download required module dependencies to /go/pkg/mod
1328
RUN --mount=type=cache,target=/go/pkg/mod \
1429
--mount=type=cache,target=/root/.cache/go-build \
15-
--mount=type=bind,target=. \
1630
CGO_ENABLED=0 go build -ldflags="-s -w -X main.version=${VERSION} -X main.commit=$(git rev-parse HEAD) -X main.date=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
1731
-o /bin/github-mcp-server ./cmd/github-mcp-server
1832

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -848,6 +848,11 @@ The following sets of tools are available:
848848
- `title`: Issue title (string, optional)
849849
- `type`: Type of this issue. Only use if the repository has issue types configured. Use list_issue_types tool to get valid type values for the organization. If the repository doesn't support issue types, omit this parameter. (string, optional)
850850

851+
- **list_assignees** - List assignable users
852+
- **Required OAuth Scopes**: `repo`
853+
- `owner`: Repository owner (string, required)
854+
- `repo`: Repository name (string, required)
855+
851856
- **list_issue_types** - List available issue types
852857
- **Required OAuth Scopes**: `read:org`
853858
- **Accepted OAuth Scopes**: `admin:org`, `read:org`, `write:org`
@@ -865,6 +870,12 @@ The following sets of tools are available:
865870
- `since`: Filter by date (ISO 8601 timestamp) (string, optional)
866871
- `state`: Filter by state, by default both open and closed issues are returned when not provided (string, optional)
867872

873+
- **list_milestones** - List milestones
874+
- **Required OAuth Scopes**: `repo`
875+
- `owner`: Repository owner (string, required)
876+
- `repo`: Repository name (string, required)
877+
- `state`: Filter by state (open, closed, all). Default: open (string, optional)
878+
868879
- **search_issues** - Search issues
869880
- **Required OAuth Scopes**: `repo`
870881
- `order`: Sort order (string, optional)
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"annotations": {
3+
"readOnlyHint": true,
4+
"title": "List assignable users"
5+
},
6+
"description": "List available assignees for a repository. Returns users who can be assigned to issues.",
7+
"inputSchema": {
8+
"properties": {
9+
"owner": {
10+
"description": "Repository owner",
11+
"type": "string"
12+
},
13+
"repo": {
14+
"description": "Repository name",
15+
"type": "string"
16+
}
17+
},
18+
"required": [
19+
"owner",
20+
"repo"
21+
],
22+
"type": "object"
23+
},
24+
"name": "list_assignees"
25+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"annotations": {
3+
"readOnlyHint": true,
4+
"title": "List milestones"
5+
},
6+
"description": "List milestones for a repository.",
7+
"inputSchema": {
8+
"properties": {
9+
"owner": {
10+
"description": "Repository owner",
11+
"type": "string"
12+
},
13+
"repo": {
14+
"description": "Repository name",
15+
"type": "string"
16+
},
17+
"state": {
18+
"description": "Filter by state (open, closed, all). Default: open",
19+
"enum": [
20+
"open",
21+
"closed",
22+
"all"
23+
],
24+
"type": "string"
25+
}
26+
},
27+
"required": [
28+
"owner",
29+
"repo"
30+
],
31+
"type": "object"
32+
},
33+
"name": "list_milestones"
34+
}

0 commit comments

Comments
 (0)