The contents/batch endpoint accepts multiple file operations per
commit, but each existing shortcut sent exactly one. file +batch
takes a JSON spec (array of {action_type, file_path, content,
encoding}) and applies them atomically in one commit:
gitlink-cli file +batch -s spec.json -b master -m 'batch ops'
Client-side validation: action_type must be create|update|delete,
file_path required. content/encoding are normalized for delete
entries — the server rejects entries missing content with
'请输入正确的文件参数Files' (production-reproduced).
Production-verified on gitlink.org.cn: 2-file create in one commit,
then 2-file delete in one commit. Unit test covers payload shape,
delete normalization, and action_type validation.
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
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>
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>
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>