Extend the dataset group beyond the verified project query to the full
documented contract:
- dataset +view -> GET /v1/{owner}/{repo}/dataset (+page/limit)
- dataset +list --ids -> GET /v1/project_datasets (prod-verified)
- dataset +create -> POST /v1/{owner}/{repo}/dataset
- dataset +update -> PUT /v1/{owner}/{repo}/dataset
- dataset +delete-attachment -> DELETE /attachments/{uuid}
Quality over a bare contract port: bilingual (en-US/zh-CN) i18n help,
--dry-run preview on create/update, --yes confirmation guard on the
destructive attachment delete, and license-id validation.
Only /v1/project_datasets is currently reachable on production www; the
per-repo routes follow the published OpenAPI spec and return 404 there
until the platform deploys them (documented in the change note). Unit
tests exercise every command against a mock server.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a `dataset` shortcut group for querying GitLink research datasets,
which previously had no shortcut coverage:
- dataset +list --ids <ids> -> GET /v1/project_datasets
- dataset +view -> GET /v1/project_datasets (project ID
resolved from --owner/--repo)
Only the platform-wide query endpoint is available on production
gitlink.org.cn; the documented per-repo dataset CRUD routes return 404
there (verified against the API), so this group wraps the query endpoint
for both listing and per-repo viewing.
Includes unit tests, bilingual (en-US/zh-CN) i18n help text, README
updates, and a change note.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Resolved conflicts in README.md, README.zh-CN.md, repo.go, repo_test.go,
skills/README.md, skills/gitlink-repo/SKILL.md. Updated register_test.go
to include new license group.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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>
- 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
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/.
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>
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>
- 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>
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>
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>
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>
- hasLocalTriageInput now also detects triage-specific flags (--body,
--number, --author, --url, --labels) to enter local input mode.
- hasLocalHealthInput now checks all health-related flags to prevent
invalid values like --open-issues=abc from silently falling through
to remote fetch instead of being validated.
- Remote fetch failure in +triage now includes a hint suggesting
--title or --from for local analysis.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>