Comparing github-tools:master...mizchi:master · github-tools/github
Commits on Apr 4, 2026
-
feat: rewrite as MoonBit GitHub REST API client
Replace old npm package with MoonBit native implementation. Uses moonbitlang/async for HTTP/TLS. Packages: - client: GitHubClient with token auth, get_json/get_binary helpers - actions: list_workflow_runs, list_artifacts, download_artifact Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
-
feat: add repos, issues, pulls, git APIs + client POST/PATCH/DELETE
Client: - post_json, patch_json, put_json, delete methods Repos: - get, get_content, list_branches Issues: - list, get, create, list_comments, create_comment Pull Requests: - list, get, create, list_files, merge Git: - get_ref, get_commit, get_tree Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
-
feat: add mock server tests for client
- GitHubClient::new now accepts optional base_url for testing - Tests use moonbitlang/async HTTP server as mock GitHub API - Tests: get_json (200), get_json (404 error), post_json (201) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
-
feat: complete GitHub API coverage
Added: - issues: update, add_labels - pulls: update, list_reviews, request_reviewers - repos: list_tags, list_releases, get_latest_release - git: create_ref, delete_ref - users: get_authenticated, get (new package) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
-
fix: connection reuse, header duplication, id types, smoke test
- Client: create fresh connection per request (avoid TLS reuse errors) - Client: set auth headers only at connection level (no extra_headers duplication) - Client: skip Authorization header when token is empty (allows public API) - All types: id fields changed to Double (MoonBit Int is 32bit, GitHub IDs exceed it) - Repository: remove nullable fields that cause FromJson issues - Add smoke test (src/cmd/smoke) that hits real GitHub API Verified working: repos.get, repos.list_branches, issues.list, actions.list_workflow_runs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
-
feat: add search, checks, statuses APIs
- search: issues, repos, code (with URL encoding) - checks: list_for_ref, get, list_suites_for_ref - statuses: get_combined, list, create All verified against real GitHub API in smoke test. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
-
feat: pagination, rate limiting, compare, create_release, post_binary
Client: - get_response: returns headers for pagination/rate-limit inspection - get_all_pages: auto-paginate through Link headers - post_binary: for release asset upload - RateLimitError: separate error type for 429/403 rate limits - parse_next_link: Link header parser Repos: - compare: diff between two refs (status, commits, files) - create_release: create GitHub release All verified in smoke test including pagination (9 branches via 3/page). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>