Commit Graph

222 Commits

Author SHA1 Message Date
Sam Morrow fe63b68567 make a bunch of improvements to the completions
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Unit Tests / build (macos-latest) (push) Has been cancelled
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
Unit Tests / build (windows-latest) (push) Has been cancelled
License Check / license-check (push) Has been cancelled
Lint / lint (push) Has been cancelled
2025-06-03 18:33:38 +02:00
Sam Morrow dab3fcafdf fix repo suggestions 2025-06-03 18:17:36 +02:00
Sam Morrow 4e5868163e more work on completions 2025-06-02 23:58:30 +02:00
Sam Morrow 5f341a91a4 make a working version of completions 2025-05-29 02:43:07 +02:00
William Martin 023f59d5cc Use typed tool handler for get_me tool 2025-05-28 15:56:54 +02:00
William Martin 7e026fc438 Fix incorrect repo resource table test 2025-05-27 20:28:59 +02:00
William Martin 11ea4e271d Remove test that can panic 2025-05-27 20:28:59 +02:00
William Martin d4a0764ddb Bump mcp-go to 0.30.0 2025-05-26 14:03:58 +02:00
Theo Brigitte 414309ccc2 Remove non-existent get_line_number_in_pull_request_file tool reference
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Unit Tests / build (macos-latest) (push) Has been cancelled
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
Unit Tests / build (windows-latest) (push) Has been cancelled
License Check / license-check (push) Has been cancelled
Lint / lint (push) Has been cancelled
2025-05-26 07:40:57 +02:00
Sam Morrow e9f748f246 Add additional tools and tests for notifications
CodeQL / Analyze (actions) (push) Has been cancelled
Docker / build (push) Has been cancelled
Unit Tests / build (macos-latest) (push) Has been cancelled
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
Unit Tests / build (windows-latest) (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
License Check / license-check (push) Has been cancelled
Lint / lint (push) Has been cancelled
v0.4.0
2025-05-23 14:00:21 +02:00
Avinash Sridhar 577190886d feat: add GitHub notifications tools for managing user notifications 2025-05-23 14:00:21 +02:00
William Martin b9a06d05f7 Support assigning copilot to issues
Co-authored-by: Martina Jireckova <martinajir@github.com>
2025-05-23 07:04:12 +02:00
dependabot[bot] 4ccedee992 build(deps): bump github.com/mark3labs/mcp-go from 0.27.0 to 0.28.0 (#412)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: William Martin <williammartin@github.com>
2025-05-20 13:30:27 +02:00
Pranav RK 2f8c2873a5 chore: revert go mod check 2025-05-19 20:55:54 +02:00
Pranav RK 045ecd38c8 feat: add golangci-lint-action to the lint workflow 2025-05-19 20:55:54 +02:00
William Martin eca853b28a Split PR review creation, commenting, submission and deletion 2025-05-19 17:50:36 +02:00
Sam Morrow 50043c32de enact second piece of copilot feedback 2025-05-19 17:36:24 +02:00
Sam Morrow b7f4890a65 Update context_tools.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-19 17:36:24 +02:00
Sam Morrow a3bf5587d8 alter the description of get-me to reduce redundant repeat calls 2025-05-19 17:36:24 +02:00
Toby Padilla 22d080beec fix: update get_me reason arg description 2025-05-16 00:51:56 +02:00
William Martin 7aced2b0a1 Update pkg/github/tools.go
Unit Tests / build (windows-latest) (push) Has been cancelled
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Docker / build (push) Has been cancelled
Unit Tests / build (macos-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
License Check / license-check (push) Has been cancelled
Lint / lint (push) Has been cancelled
Co-authored-by: Sam Morrow <sammorrowdrums@github.com>
v0.3.0
2025-05-14 22:57:43 +02:00
William Martin a6d3c5ea5c Update pkg/github/pullrequests.go
Co-authored-by: Sam Morrow <sammorrowdrums@github.com>
2025-05-14 22:57:43 +02:00
William Martin 6c3a964b21 Update README.md
Co-authored-by: Sam Morrow <sammorrowdrums@github.com>
2025-05-14 22:57:43 +02:00
William Martin 2fb1be93f5 Support requesting copilot as a reviewer 2025-05-14 22:57:43 +02:00
Arya Soni a563bd6e1d Add request_copilot_review tool with placeholder implementation 2025-05-14 22:57:43 +02:00
Ashwin Bhat da2df71827 feat: add DeleteFile tool to delete files from GitHub repositories (#356)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: William Martin <williammartin@github.com>
2025-05-13 14:22:43 +02:00
dependabot[bot] 705b61b814 build(deps): bump github.com/mark3labs/mcp-go from 0.25.0 to 0.27.0 (#397)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: William Martin <williammartin@github.com>
2025-05-13 13:26:36 +02:00
dependabot[bot] bd6f90dc9c build(deps): bump golang from 1.24.2-alpine to 1.24.3-alpine
Bumps golang from 1.24.2-alpine to 1.24.3-alpine.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.24.3-alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-13 12:55:51 +02:00
Pranav RK 205b619e6b feat: upgrade golangci-lint to v2 (#386)
Co-authored-by: William Martin <williammartin@github.com>
2025-05-12 11:57:27 +02:00
Bill Wilder 2d6e3dd282 Change code fence to neutral ```console
When ```bash is used for a code fence, bash keywords such as "for" and "in" get rendered with syntax highlighting. Switching to ```console avoids this distraction.
2025-05-09 20:56:41 +02:00
Ariel Deitcher 5634addcaa Fix a typo (#385) 2025-05-08 13:29:53 -07:00
Rob Bos 2218adfefd Update README.md
Co-authored-by: Sam Morrow <sammorrowdrums@github.com>
2025-05-07 19:49:48 -07:00
Rob Bos 157160842b Update README.md
Co-authored-by: Sam Morrow <sammorrowdrums@github.com>
2025-05-07 19:49:48 -07:00
Rob Bos cea5c721d0 Include config example for gh-host flag 2025-05-07 19:49:48 -07:00
Eng Zer Jun 29bf8bfebc Optimize Docker build with bind mounts (#208)
* Optimize Docker build with bind mounts

This commit further optimize the Docker builds on top of PR #92 with:

1. Add .dockerignore file to exclude non-source code files [1].

2. Use Alpine image variant for build stage to reduce download size.
   golang:1.23.7-alpine is 200 MB smaller than golang:1.23.7 [2][3].

3. Replace COPY instruction with RUN --mount=type=bind. Bind mounts do
   not add unnecessary layers to the cache [4][5].

[1]: https://docs.docker.com/build-cloud/optimization/#dockerignore-files
[2]: https://hub.docker.com/layers/library/golang/1.23.7-alpine/images/sha256-333d4ba78773b3a3ae9cf2cff8962df56effc5c9481faa355f211abf2baf175c
[3]: https://hub.docker.com/layers/library/golang/1.23.7/images/sha256-2087a99c3235972660b3d35c1564d9d1a3f639dcace9c790acbabc7e938d1570
[4]: https://docs.docker.com/build/building/best-practices/#add-or-copy
[5]: https://docs.docker.com/build/cache/optimize/#use-bind-mounts

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>

* Remove `go mod download` step

`go build` will automatically download module dependencies. In many
cases, that is a much smaller set of modules than what is downloaded by
`go mod download`.

Size of GOMODCACHE with `go mod download:

	$ go clean -i -r -cache -modcache
	$ go mod download
	$ du -sh ~/go/pkg/mod
	186M	/home/jun/go/pkg/mod

Size of GOMODCACHE with `go build`:

	$ go clean -i -r -cache -modcache
	$ CGO_ENABLED=0 go build -ldflags="-s -w" cmd/github-mcp-server/main.go
	go: downloading github.com/spf13/viper v1.20.1
	go: downloading github.com/mark3labs/mcp-go v0.18.0
	go: downloading github.com/google/go-github/v69 v69.2.0
	go: downloading github.com/sirupsen/logrus v1.9.3
	go: downloading github.com/spf13/cobra v1.9.1
	go: downloading golang.org/x/sys v0.31.0
	go: downloading github.com/spf13/afero v1.14.0
	go: downloading github.com/fsnotify/fsnotify v1.8.0
	go: downloading github.com/spf13/cast v1.7.1
	go: downloading github.com/go-viper/mapstructure/v2 v2.2.1
	go: downloading github.com/subosito/gotenv v1.6.0
	go: downloading gopkg.in/yaml.v3 v3.0.1
	go: downloading github.com/spf13/pflag v1.0.6
	go: downloading github.com/pelletier/go-toml/v2 v2.2.3
	go: downloading github.com/sagikazarmark/locafero v0.9.0
	go: downloading golang.org/x/text v0.23.0
	go: downloading github.com/google/uuid v1.6.0
	go: downloading github.com/yosida95/uritemplate/v3 v3.0.2
	go: downloading github.com/sourcegraph/conc v0.3.0
	go: downloading github.com/google/go-querystring v1.1.0
	$ du -sh ~/go/pkg/mod
	80M	/home/jun/go/pkg/mod

Reference: https://stackoverflow.com/a/68172023/7902371
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2025-05-07 17:09:28 +02:00
William Martin 0ca07aa3d5 Support breakpoint debugging e2e tests 2025-05-07 16:13:22 +02:00
William Martin afc7a93b3d Extract ghmcp internal package
This commit cleanly separates config parsing, stdio server execution and
mcp server construction. Aside from significant clarity improvements, it
allows for direct construction of the mcp server in e2e tests to allow
for breakpoint debugging.
2025-05-07 16:13:22 +02:00
dependabot[bot] e56c096e39 build(deps): bump github.com/migueleliasweb/go-github-mock
Bumps [github.com/migueleliasweb/go-github-mock](https://github.com/migueleliasweb/go-github-mock) from 1.1.0 to 1.3.0.
- [Release notes](https://github.com/migueleliasweb/go-github-mock/releases)
- [Commits](https://github.com/migueleliasweb/go-github-mock/compare/v1.1.0...v1.3.0)

---
updated-dependencies:
- dependency-name: github.com/migueleliasweb/go-github-mock
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-06 13:17:28 +02:00
William Martin 2ee6c4e2aa Update licenses for mcp-go bump to 0.25.0 2025-05-06 13:08:17 +02:00
dependabot[bot] 73c3b10b04 build(deps): bump github.com/mark3labs/mcp-go from 0.22.0 to 0.25.0
Bumps [github.com/mark3labs/mcp-go](https://github.com/mark3labs/mcp-go) from 0.22.0 to 0.25.0.
- [Release notes](https://github.com/mark3labs/mcp-go/releases)
- [Commits](https://github.com/mark3labs/mcp-go/compare/v0.22.0...v0.25.0)

---
updated-dependencies:
- dependency-name: github.com/mark3labs/mcp-go
  dependency-version: 0.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-06 13:08:17 +02:00
William Martin 92d95e4dbe Add e2e test for tags 2025-04-30 20:15:39 +02:00
William Martin 09e156383d Test path params for tag tools 2025-04-30 20:15:39 +02:00
Eran Cohen 866a791635 feat: Add support for git tag operations
Add git tag functionality including:
- List repository tags
- Get tag details
- Support for tag-based content access

This enables basic read-only tag management through the MCP server API.
2025-04-30 20:15:39 +02:00
Camila Rondinini a7d741cc44 fix: specify sha is required (#320) 2025-04-29 12:47:25 +02:00
William Martin 4e26dce238 Support e2e test parallelisation 2025-04-25 14:44:49 +02:00
William Martin f9427ab04e Ensure toolsets are configurable via env var 2025-04-25 14:44:49 +02:00
William Martin 4a39c03899 Always initialize in e2e tests 2025-04-25 14:44:49 +02:00
William Martin 0c947318b6 Use functional options in e2e as prep for next test 2025-04-25 14:44:49 +02:00
William Martin 33620e1b4b Build image only once in e2e tests 2025-04-25 14:44:49 +02:00
Ian Smith f7eff5993e Update README.md 2025-04-24 21:50:11 +02:00