* Refactor README and add host installation guides, governance docs
- Reorganized README for clarity and navigation
- Added dedicated installation guides for Claude, Cursor, Windsurf, JetBrains, and more
- Clarified contribution guidelines and approval criteria
- Added policies and governance documentation
* Update README.md
* Update README with configuration section for remote GitHub MCP Server
* Update MCP access policy description in README
Removing coding agent from the policy note, as the GitHub server is unaffected by this policy
* Update configuration steps for GitHub Copilot in JetBrains IDEs...
...to reflect changes in accessing settings and configuring MCP.
* Update install-other-copilot-ides.md
* Update Eclipse MCP support version and configuration steps...
...for GitHub Copilot plugin in installation guide.
* Update docs/installation-guides/install-cursor.md
* Update docs/installation-guides/install-windsurf.md
* Apply suggestion from @tonytrg
* Apply suggestion from @tonytrg
* Apply suggestion from @tonytrg
* Apply suggestion from @tonytrg
* Apply suggestion from @tonytrg
* Apply suggestion from @tonytrg
* Apply suggestion from @tonytrg
---------
Co-authored-by: Tony Truong <tonytrg@github.com>
* fix: Add SHA to get_file_contents while preserving MCP behavior (#595)
Enhance get_file_contents to include SHA information without changing
the existing MCP server response format.
Changes:
- Add Contents API call to retrieve SHA before fetching raw content
- Include SHA in resourceURI (repo://owner/repo/sha/{SHA}/contents/path)
- Add SHA to success messages
- Update tests to verify SHA inclusion
- Maintain original behavior: text files return raw text, binaries return base64
This preserves backward compatibility while providing SHA information
for better file versioning support.
Closes#595
* fix: Improve error handling for Contents API response
Ensure response body is properly closed even when an error occurs by moving
the defer statement before the error check. This prevents potential resource
leaks when the Contents API returns an error with a non-nil response.
Changes:
- Move defer respContents.Body.Close() before error checking
- Rename errContents to err for consistency
- Add nil check for respContents before attempting to close body
This follows Go best practices for handling HTTP responses and prevents
potential goroutine/memory leaks.
* revert changes to resource URI
* use GraphQL API to get file SHA
* refactor: mock GQL client instead of getFileSHA function to follow conventions
* lint
* revert GraphQL
---------
Co-authored-by: LuluBeatson <lulubeatson@github.com>
* add contingency to match path in git tree
* resolveGitReference helper
* fix: handling of directories
* Test_filterPaths
* filterPaths - trailing slashes
* fix: close response body, improve error messages, docs
* update tool result message about resolved git ref
* unit test cases for filterPaths maxResults param
* resolveGitReference - NewGitHubAPIErrorToCtx