Commit Graph

127 Commits

Author SHA1 Message Date
wbtiger b45241dcda Merge pull request 'docs: add missing contributors dtwdtw, puygob236, recorder' (#109) from muel/gitlink-cli:docs/add-missing-contributors into master 2026-06-04 00:29:31 +08:00
wbtiger 633bed3360 docs: add missing contributor puygob236
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-04 00:29:52 +08:00
wbtiger c263a2fa34 Merge pull request 'gitlink-health 开源项目健康度 Skill 贡献' (#17) from yingjie/gitlink-cli:master into master 2026-06-03 23:49:27 +08:00
wbtiger 6636175bd8 Merge pull request 'refactor: rename pr +close to pr +refuse' (#105) from muel/gitlink-cli:rename/pr-close-to-refuse into master 2026-06-03 23:20:11 +08:00
wbtiger 83fe18f8c0 refactor: rename pr +close to pr +refuse
The `pr +close` shortcut called the `refuse_merge` API, which is
misleading — "close" suggests a benign operation, but the actual
behavior is to refuse/reject the pull request permanently.

Rename the shortcut to `pr +refuse` so the name matches the API
semantics, and add a warning in the docs that it must never be used
as a substitute for `pr +merge`.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-03 23:20:32 +08:00
wbtiger 0e13e8bdd4 Merge pull request 'feat(issue): support metadata fields' (#57) from wangyue111/gitlink-cli:feat/issue-metadata-fields into master 2026-06-03 22:37:14 +08:00
wbtiger 559e1a74f3 chore: ensure trailing newline
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-03 22:37:40 +08:00
Yingjie Shang 17e8c113f7 fix(health): address code review issues 3-6,8 2026-06-03 21:12:44 +08:00
Yingjie Shang 41b89976aa perf(health): parallel fetch with errgroup and global rate limiter
- Replace sequential state loops with 5 parallel goroutines (errgroup)
- Global rate limiter (1000 reqs/10min, burst 5) replaces per-page sleep
- sharedState with sync.Mutex for cross-goroutine dedup and counting
- Fix getOrCreateUser/getOrCreateTag race conditions (INSERT OR IGNORE)
- Remove sleep() and API aggregates verbose output
2026-06-03 20:59:50 +08:00
Yingjie Shang 0a578bbab0 feat(health): remove per-issue detail API, add tag tables and persistence
- Drop fetchIssueDetail — issue list response already contains all needed fields
- Add tags/issue_tags/pull_tags tables with indexes
- Persist PR and Issue tags during savePull/saveIssue
- Fix issue aggregate field names (total_count/opened_count/closed_count)
- Document tag tables and queries in queries.md
2026-06-03 20:59:50 +08:00
Yingjie Shang 0da45def2b feat(shortcut): rewrite gitlink-health as a Go shortcut
Migrate health analysis from Python scripts to a native Go shortcut
for better performance and single-binary distribution. Remove the
Python collector (fetcher.py) and move schema.sql into shortcuts/health/.
2026-06-03 20:59:50 +08:00
wbtiger c7a3224c79 Merge pull request 'feat(skills): 新增许可证合规检查的skill : gitlink-license-compliance' (#94) from yangsai/gitlink-cli:feat/gitlink-license-compliance into master 2026-06-02 23:07:48 +08:00
wbtiger 9843fc7ceb Merge PR #57: feat(issue): support metadata fields
Resolved conflicts with i18n infrastructure from PR #95 and metadata
lookup shortcuts from PR #43.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-02 22:46:34 +08:00
wbtiger 8e558cceca Merge pull request 'feat(issue): add metadata lookup shortcuts' (#43) from wangyue111/gitlink-cli:feat/issue-metadata-shortcuts into master 2026-06-02 22:30:26 +08:00
wbtiger 49240b3c02 Merge pull request 'fix: pr +review now posts a journal comment alongside the formal review' (#98) from fix/pr-review-journal-sync into master 2026-06-02 22:08:07 +08:00
wbtiger edf2fc30b8 fix: pr +review now posts a journal comment alongside the formal review
The GitLink API has two separate systems for PR feedback:
- POST /pulls/:id/reviews creates a formal review (approve/reject/comment)
  that only appears in the "Reviews" panel
- POST /issues/:issueID/journals creates a comment visible in the main
  PR conversation tab

Previously, `pr +review` only called the reviews API, so the review
content was invisible to the contributor in the main PR conversation.
Now it also posts a journal summary so the review is visible where
contributors expect to see it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-02 22:03:04 +08:00
wbtiger dec8c10a1b Merge pull request 'feat(i18n): 完善 CLI 国际化帮助、运行时错误与校验机制' (#95) from muel/gitlink-cli:feat/i18n-cli-foundation-clean into master 2026-06-02 22:02:27 +08:00
whzy 39306994bc fix(i18n): align schema and check tool lint 2026-06-02 14:59:59 +08:00
wangyue789 34be160d96 feat(issue): add metadata lookup shortcuts 2026-06-02 12:45:30 +08:00
wangyue789 89d5321713 feat(issue): support metadata fields and id alias 2026-06-02 12:42:34 +08:00
whzy 37dfd2e2e2 feat(i18n): add CLI localization foundation 2026-06-01 17:33:10 +08:00
yangsai01 ac7499936d feat(skills): add skill gitlink-license-compliance 2026-06-01 17:14:21 +08:00
wbtiger e3bb4d2711 docs: update contributors section with usernames and new contributors
- Add GitLink username labels under each contributor avatar
- Add dtwdtw (PR #85)
- Add recorder (PR #89)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 01:24:35 +08:00
wbtiger e393484dc9 fix: update TestRegisterAll expected groups for label and pipeline
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 01:18:36 +08:00
wbtiger fb847bf13f Merge remote-tracking branch 'wangyue111/feat/pipeline-openapi-shortcuts' into _test_68_int 2026-06-01 01:17:23 +08:00
wbtiger 902886cabd Merge pull request 'fix: preserve raw file API paths' (#85) from dtwdtw/gitlink-cli:fix/issue-142586-raw-file-api into master 2026-06-01 01:04:25 +08:00
wbtiger 18975162a1 fix(issue): treat view id as issue number
Support --id as alias for --number in issue +view command.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 23:52:55 +08:00
wbtiger a91d553130 Merge pull request 'feat(label): add issue label shortcuts' (#89) from recorder/gitlink-cli:feat/label-shortcuts into master 2026-05-31 23:41:27 +08:00
wbtiger 687633d22f Merge pull request 'chore: fix CI workflow, golangci-lint config, and minor lint/format issues' (#92) from muel/gitlink-cli:chore/test-coverage-and-lint into master 2026-05-31 22:45:14 +08:00
wbtiger 1bf16d31db chore: fix CI workflow, golangci-lint config, and minor lint/format issues
- Add checkout and setup-go steps to Gitea CI workflow, use make targets
- Exclude errcheck for test files in golangci-lint config
- Fix staticcheck QF1002 (tagged switch) in repo_test.go
- Fix gofmt trailing newline in triage_rules_test.go

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 22:45:17 +08:00
wbtiger 5a266867b5 Merge pull request 'chore: add test coverage to 90.3%, lint fixes, and Makefile targets' (#91) from muel/gitlink-cli:chore/test-coverage-and-lint into master 2026-05-31 15:41:34 +08:00
wbtiger 0170b5b063 test: add comprehensive test coverage across all packages (88.5% → 90.3%)
Add 18 new test files covering formatter, envelope, config, auth,
client, context, register, and all shortcut group packages.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 15:41:54 +08:00
wbtiger c969631495 Merge pull request 'chore: add golangci-lint config and fix lint issues' (#88) from muel/gitlink-cli:chore/add-lint-and-fix-issues into master 2026-05-31 00:38:33 +08:00
wbtiger f7263cc466 chore: add golangci-lint config and fix lint issues
- Add .golangci.yml with 8 essential linters (errcheck, govet,
  ineffassign, staticcheck, unused, errorlint, gosec, misspell)
- Fix real bugs: errors.As, %w wrapping, nil map check, dead code,
  unnecessary conversion, unused parameters
- Add `make lint` target, include it in `make check` pipeline
- Update pre-commit hook to run lint step

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:37:45 +08:00
何开元 cca3d019fe feat(label): add issue label shortcuts
Add a `label` shortcut group wrapping the GitLink issue_tags (项目标记) API
with +list / +create / +update / +delete, plus the gitlink-label Skill,
bilingual README usage, and a changelog entry.

- +list supports keyword filter, only-name, and sort options
- +create defaults color to #1E90FF and validates hex client-side
- +update fetches current values and merges, preserving unspecified fields
- unit tests cover HTTP method, path, query, payload, color validation, id coercion
- ignore the local `gitlink-cli` build artifact (.gitignore previously only
  ignored the Windows .exe)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 06:38:39 -07:00
wbtiger 4631b81e5c style: fix gofmt alignment in root.go and register.go 2026-05-29 23:59:40 +08:00
wbtiger 6ded4851cb ci: add local checks (make check, pre-commit hook) and Gitea Actions workflow skeleton 2026-05-29 23:58:51 +08:00
wbtiger a4c93802a7 ci: add PR checks workflow (build, test, vet, fmt) 2026-05-29 23:57:44 +08:00
fsafasff c28b72d46f fix: preserve raw file API paths 2026-05-29 11:41:10 +08:00
wangyue789 41a2666c5b feat(pipeline): add OpenAPI shortcuts 2026-05-27 22:20:18 +08:00
wbtiger 2f8b987c2c Merge pull request 'feat(issue): add user lookup shortcuts' (#44) from wangyue111/gitlink-cli:feat/issue-user-shortcuts into master 2026-05-27 01:14:31 +08:00
wbtiger c89e398b46 Merge pull request 'feat(cli): add productivity shortcuts and API body inputs' (#45) from wangyue111/gitlink-cli:feat/cli-productivity-shortcuts into master 2026-05-27 01:08:49 +08:00
wangyue789 00c753b421 feat(pr): add reopen shortcut 2026-05-27 01:08:54 +08:00
wangyue789 2421c1f0c8 feat(api): support body input files 2026-05-27 01:08:54 +08:00
wbtiger 6ce72f07b2 Merge pull request 'feat(member): add repository member shortcuts' (#46) from puygob236/gitlink-cli:feat/member-shortcuts into master 2026-05-27 01:06:12 +08:00
wbtiger 419388f11e merge: resolve conflicts with upstream/master 2026-05-27 01:06:27 +08:00
wbtiger 5369ce65bb Merge pull request 'fix(pr): include closed time in view output' (#49) from dtwdtw/gitlink-cli:fix/issue-14-pr-closed-at into master 2026-05-27 00:52:20 +08:00
wbtiger 27117c0f16 Merge pull request 'feat(repo): add README shortcut' (#52) from dtwdtw/gitlink-cli:fix/issue-17-api-prefix into master 2026-05-27 00:52:04 +08:00
wbtiger 898b7f59d1 feat: add milestone, compare, pr reopen shortcuts and api enhancements (#45)
- milestone shortcuts: list, create, view, update, delete, close, reopen
- compare shortcuts: view, files (compare branches/tags/commits)
- pr +reopen: reopen closed pull requests
- api: add --body-file and --body-stdin for reading JSON from file/stdin
- comprehensive tests for all new shortcuts

Co-authored-by: wangyue111 <wangyue111>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 00:44:39 +08:00
wbtiger 36249f3087 feat: add PR closed time and repo README shortcuts (#49, #52)
PR #49 (dtwdtw): enrich PR view with closed_at from issue journals
- Fetches close timestamp for closed/rejected PRs
- Skips extra API call for open PRs
- 2 new tests

PR #52 (dtwdtw): add repo +readme shortcut
- Fetches README content with optional --ref and --path params
- normalizeAPIPath prevents duplicate /api prefix in client
- 4 new tests (3 client + 1 repo)

Co-authored-by: dtwdtw <dtwdtw>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 00:35:31 +08:00