From ccaa1da9a001fe134da3be73f4c1e568c8171f80 Mon Sep 17 00:00:00 2001
From: 15972095207 <2484216370@qq.com>
Date: Thu, 28 May 2026 19:37:30 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=B5=81=E6=B0=B4=E7=BA=BF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 1240 +++++++++++++++++++++++++++--------------------------
1 file changed, 621 insertions(+), 619 deletions(-)
diff --git a/README.md b/README.md
index 67119005..8356ff13 100644
--- a/README.md
+++ b/README.md
@@ -1,619 +1,621 @@
-# gitlink-cli
-
-[](https://www.gitlink.org.cn/Gitlink/gitlink-cli)
-[](https://license.coscl.org.cn/MulanPSL2)
-[](https://golang.org)
-[](https://www.npmjs.com/package/@gitlink-ai/cli)
-
-The official [GitLink](https://www.gitlink.org.cn) CLI tool — built for humans and AI Agents. Supports **macOS, Linux, and Windows**. Covers repository management, issue tracking, pull requests, webhooks, member collaboration, CI/CD, and AI-powered workflows, with 40+ commands and AI Agent [Skills](./skills/).
-
-**[中文文档](./README.zh-CN.md)**
-
-[Install](#installation--quick-start) · [AI Agent Skills](#ai-agent-skills) · [Auth](#configure--use) · [Commands](#usage-examples) · [Contributing](#related-projects)
-
-## Contributors
-
-
-
-## Why gitlink-cli?
-
-- **Agent-Native Design** — Structured [Skills](./skills/) out of the box, compatible with Claude Code, OpenClaw, and other AI platforms — Agents can operate GitLink with zero extra setup
-- **Wide Coverage** — Repository, Issue, PR, Webhook, Member, Branch, Release, CI, Org, Search, and User workflows are covered by high-level commands
-- **AI-Friendly & Optimized** — Every command is tested with real Agents, featuring concise parameters, smart defaults, and structured output
-- **Cross-Platform** — Runs on macOS, Linux, and Windows (x64/arm64), install via `npm install -g @gitlink-ai/cli` in one command, binary auto-downloaded
-- **Open Source, Zero Barriers** — MulanPSL-2.0 license, ready to use, just `npm install`
-- **Up and Running in 3 Minutes** — Interactive login or `GITLINK_TOKEN` env var, from install to first API call in just 3 steps
-- **Secure & Controllable** — OS-native keychain credential storage, `GITLINK_TOKEN` env var for CI/CD & non-interactive environments, auto git remote context resolution
-- **Three-Layer Architecture** — Shortcuts (human & AI friendly) → Raw API (full coverage) → Config (configuration management)
-
-## Features
-
-| Category | Capabilities |
-|----------|-------------|
-| 📦 Repo | List, create, fork, delete repositories, view repo info |
-| 🐛 Issue | Create, update, close, batch close, comment on issues |
-| 🔀 PR | Create, merge, review pull requests, view changed files |
-| 👥 Member | List, add, remove repository members, change roles, create and accept invite links |
-| 🌿 Branch | Create, delete, list, protect, unprotect branches |
-| 🏷️ Release | Create, view, delete releases |
-| 🏢 Org | Manage organizations, members, teams |
-| 🔧 CI | View builds, logs, CI/CD operations |
-| 🔔 Webhook | Manage repo webhooks and test deliveries |
-| 🔍 Search | Search repositories, users |
-| 👤 User | View user profiles and info |
-| 📋 PM | Sprint management, kanban boards, weekly reports |
-| 🤖 Workflow | AI-powered issue triage, PR review, release notes |
-
-## Installation & Quick Start
-
-### Requirements
-
-- Node.js 14+ (`npm`/`npx`) — for npm installation
-- Supported platforms: macOS, Linux, Windows (x64/arm64)
-- Go 1.26+ — only required for building from source
-
-### Quick Start (Human Users)
-
-> **Note for AI assistants:** If you are an AI Agent helping the user with installation, jump directly to [Quick Start (AI Agent)](#quick-start-ai-agent), which contains all the steps you need to complete.
-
-#### Install
-
-**From npm (recommended):**
-
-```bash
-# One command: installs CLI binary + AI Agent Skills
-npm install -g @gitlink-ai/cli
-```
-
-The binary is auto-downloaded for your platform during `postinstall`. No extra steps needed.
-
-**From source:**
-
-Requires Go 1.26+.
-
-```bash
-git clone https://www.gitlink.org.cn/Gitlink/gitlink-cli.git
-cd gitlink-cli
-make install
-```
-
-> **Windows users:** Run `npm install -g @gitlink-ai/cli` in PowerShell or CMD. For building from source, use `go install .` instead of `make install`.
-
-#### Configure & Use
-
-```bash
-# 1. Configure (one-time, interactive guided setup)
-gitlink-cli config init
-
-# 2. Log in (choose one)
-gitlink-cli auth login # Username/password (recommended)
-gitlink-cli auth login --token # Or paste a private token
-export GITLINK_TOKEN="your-token" # Or set env var (for CI/CD, non-interactive environments)
-
-# 3. Start using
-gitlink-cli repo +list
-```
-
-### Quick Start (AI Agent)
-
-> The following steps are for AI Agents. Some steps require the user to complete actions in a browser.
-
-**Step 1 — Install**
-
-```bash
-# One command: CLI binary + all Skills auto-installed
-npm install -g @gitlink-ai/cli
-```
-
-**Step 2 — Configure**
-
-```bash
-gitlink-cli config init
-```
-
-**Step 3 — Login**
-
-For interactive environments:
-```bash
-gitlink-cli auth login
-```
-
-For non-interactive environments (CI/CD, Trae sandbox, MCP, etc.):
-```bash
-export GITLINK_TOKEN="your-private-token"
-```
-
-> To get a private token, go to GitLink web → Settings → Private Tokens.
-
-**Step 4 — Verify**
-
-```bash
-gitlink-cli user +me
-```
-
-## Usage Examples
-
-### Repository Operations
-
-```bash
-# List repositories
-gitlink-cli repo +list
-
-# View repository info
-gitlink-cli repo +info --owner Gitlink --repo forgeplus
-
-# Read repository README
-gitlink-cli repo +readme --owner Gitlink --repo forgeplus --ref master
-
-# Create a repository
-gitlink-cli repo +create -n my-project -d "Project description"
-
-# Fork a repository
-gitlink-cli repo +fork --owner Gitlink --repo forgeplus
-```
-
-### Webhook Management
-
-```bash
-# List webhooks
-gitlink-cli webhook +list --owner Gitlink --repo forgeplus
-
-# Create a webhook
-gitlink-cli webhook +create --owner Gitlink --repo forgeplus \
- --url https://example.com/hook --events push,create
-
-# Test a webhook
-gitlink-cli webhook +test --owner Gitlink --repo forgeplus --id 68
-
-# View webhook delivery tasks
-gitlink-cli webhook +tasks --owner Gitlink --repo forgeplus --id 68
-```
-
-### Member Management
-
-```bash
-# List repository members
-gitlink-cli member +list --owner Gitlink --repo forgeplus
-
-# Add a member
-gitlink-cli member +add --owner Gitlink --repo forgeplus --user-id 101
-
-# Preview batch add without changing data
-gitlink-cli member +batch-add --owner Gitlink --repo forgeplus --user-ids 101,102 --dry-run
-
-# Batch add members from a CSV file
-gitlink-cli member +batch-add --owner Gitlink --repo forgeplus --from members.csv
-
-# Change a member role
-gitlink-cli member +role --owner Gitlink --repo forgeplus --user-id 101 --role Developer
-
-# Create an invite link
-gitlink-cli member +invite-link --owner Gitlink --repo forgeplus --role developer --apply true
-```
-
-### Issue Management
-
-```bash
-# List issues
-gitlink-cli issue +list --owner Gitlink --repo forgeplus
-
-# Create an issue
-gitlink-cli issue +create --owner Gitlink --repo forgeplus -t "Bug: Login failed" -b "Steps to reproduce..."
-
-# View an issue
-gitlink-cli issue +view --owner Gitlink --repo forgeplus -i 123
-
-# Close an issue
-gitlink-cli issue +close --owner Gitlink --repo forgeplus -i 123
-
-# Preview batch close without changing data
-gitlink-cli issue +batch-close --owner Gitlink --repo forgeplus --numbers 123,124 --dry-run
-
-# Batch close issues from a CSV file
-gitlink-cli issue +batch-close --owner Gitlink --repo forgeplus --from issues.csv
-
-# Add a comment
-gitlink-cli issue +comment --owner Gitlink --repo forgeplus -i 123 -b "Fixed"
-
-# List issue assigners
-gitlink-cli issue +assigners --owner Gitlink --repo forgeplus
-
-# List issue authors
-gitlink-cli issue +authors --owner Gitlink --repo forgeplus
-```
-
-### Pull Requests
-
-```bash
-# List PRs
-gitlink-cli pr +list --owner Gitlink --repo forgeplus
-
-# Create a PR (same-repo branch)
-gitlink-cli pr +create --owner Gitlink --repo forgeplus -t "feat: Search feature" --head feature/search --base master
-
-# Create a PR (from a fork)
-gitlink-cli pr +create --owner Gitlink --repo forgeplus -t "feat: New feature" --head your_username/forgeplus:feature/my-feature --base master
-
-# View a PR
-gitlink-cli pr +view --owner Gitlink --repo forgeplus -i 42
-
-# Merge a PR
-gitlink-cli pr +merge --owner Gitlink --repo forgeplus -i 42
-
-# Reopen a closed PR
-gitlink-cli pr +reopen --owner Gitlink --repo forgeplus -i 42
-
-# View changed files
-gitlink-cli pr +files --owner Gitlink --repo forgeplus -i 42
-
-# List PR patchset versions
-gitlink-cli pr +versions --owner Gitlink --repo forgeplus -i 42
-
-# View a patchset version diff
-gitlink-cli pr +version-diff --owner Gitlink --repo forgeplus -i 42 --version-id 16040
-
-# List PR reviews
-gitlink-cli pr +reviews --owner Gitlink --repo forgeplus -i 42
-
-# Create a PR review (with dry-run preview)
-gitlink-cli pr +review --owner Gitlink --repo forgeplus -i 42 --status approved -c "LGTM" --dry-run
-gitlink-cli pr +review --owner Gitlink --repo forgeplus -i 42 --status approved -c "LGTM"
-```
-
-### Branch Management
-
-```bash
-# List branches
-gitlink-cli branch +list --owner Gitlink --repo forgeplus
-
-# Create a branch
-gitlink-cli branch +create --name feature/new-feature
-
-# Delete a branch
-gitlink-cli branch +delete --name feature/old-feature
-
-# Protect a branch
-gitlink-cli branch +protect --name main
-
-# Remove branch protection
-gitlink-cli branch +unprotect --name main
-```
-
-### Release Management
-
-```bash
-# List releases
-gitlink-cli release +list --owner Gitlink --repo forgeplus
-
-# Create a release
-gitlink-cli release +create --owner Gitlink --repo forgeplus -t v1.0.0 -n "v1.0.0 Stable" -b "Changelog..."
-
-# View a release
-gitlink-cli release +view --owner Gitlink --repo forgeplus -i
-```
-
-### CI/CD Operations
-
-```bash
-# List builds
-gitlink-cli ci +list --owner Gitlink --repo forgeplus
-
-# View build log
-gitlink-cli ci +log --owner Gitlink --repo forgeplus -i
-
-# Restart a build
-gitlink-cli ci +restart --owner Gitlink --repo forgeplus -i
-```
-
-### Search
-
-```bash
-# Search repositories
-gitlink-cli search +repos -k "machine learning"
-
-# Search users
-gitlink-cli search +users -k "zhangsan"
-```
-
-### Workflow Agent Commands
-
-`workflow` provides rule-based repository analysis for maintainers and AI Agents. It currently supports:
-
-- `workflow +triage`
-- `workflow +health`
-- `workflow +pr-summary`
-- `workflow +repo-report`
-
-`workflow +pr-summary` defaults to `table` when `--format` is omitted.
-`workflow +repo-report` defaults to `markdown` when `--format` is omitted.
-
-Examples:
-
-```bash
-# Triage with local parameters
-gitlink-cli workflow +triage --title "Install failed on Windows" --body "go install failed with error" --format table
-
-# Triage with JSON output
-gitlink-cli workflow +triage --title "Token leaked in logs" --body "The access token appears in command output" --format json
-
-# Triage with Chinese markdown output
-gitlink-cli workflow +triage \
- --title "安装失败,无法登录" \
- --body "运行命令时报错" \
- --lang zh-CN \
- --format markdown
-
-# Triage from a local JSON file
-gitlink-cli workflow +triage --from shortcuts/workflow/testdata/issue_bug.json --format json
-
-# Triage by read-only GitLink fetch
-gitlink-cli workflow +triage --owner Gitlink --repo gitlink-cli --state open --limit 5 --format table
-
-# Health for a healthy repository
-gitlink-cli workflow +health \
- --repository Gitlink/gitlink-cli \
- --open-issues 3 \
- --open-prs 1 \
- --has-readme \
- --has-license \
- --has-contributing \
- --agent-readiness-known \
- --agent-readiness-score 9 \
- --format table
-
-# Health for a risky repository
-gitlink-cli workflow +health \
- --repository demo/repo \
- --open-issues 60 \
- --stale-issues 25 \
- --open-prs 12 \
- --stale-prs 6 \
- --recent-activity-known \
- --recent-activity-days 120 \
- --release-known=false \
- --format json
-
-# Health with Chinese markdown output
-gitlink-cli workflow +health \
- --repository Gitlink/gitlink-cli \
- --open-issues 3 \
- --open-prs 1 \
- --has-readme \
- --has-license \
- --has-contributing \
- --lang zh-CN \
- --format markdown
-
-# Health by read-only GitLink fetch
-gitlink-cli workflow +health --owner Gitlink --repo gitlink-cli --stale-days 30 --format table
-
-# PR review summary by read-only GitLink fetch
-gitlink-cli workflow +pr-summary --owner Gitlink --repo gitlink-cli --number 1 --format markdown
-
-# PR review summary from a local JSON file
-gitlink-cli workflow +pr-summary --from shortcuts/workflow/testdata/pr_summary.json --format json
-
-# Repository workflow report by read-only GitLink fetch
-gitlink-cli workflow +repo-report --owner Gitlink --repo gitlink-cli --format markdown
-
-# Repository workflow report from a local JSON file
-gitlink-cli workflow +repo-report --from shortcuts/workflow/testdata/repo_report.json --format json
-```
-
-Output formats:
-
-- `json` for scripts and AI Agents
-- `table` for terminal review
-- `markdown` for Issue comments, PR comments, release notes, and competition write-ups
-
-Safety:
-
-- Current workflow commands use local analysis by default and can also read GitLink data in read-only fetch mode.
-- They do not modify remote GitLink data.
-- They do not depend on LLM APIs.
-- `workflow +pr-summary` does not comment, approve, reject, or merge pull requests.
-- `workflow +repo-report` aggregates health, issue triage, and PR review summary signals without remote writes.
-
-### Raw API
-
-For endpoints not covered by shortcuts, use the Raw API directly:
-
-```bash
-# GET request
-gitlink-cli api GET /users/me
-
-# POST request
-gitlink-cli api POST /Gitlink/forgeplus/issues --body '{"subject":"test","description":"..."}'
-
-# POST request with body from a file
-gitlink-cli api POST /Gitlink/forgeplus/issues --body-file issue.json
-
-# POST request with body from stdin
-Get-Content issue.json | gitlink-cli api POST /Gitlink/forgeplus/issues --body-stdin
-
-# With query parameters
-gitlink-cli api GET /Gitlink/forgeplus/commits --query 'page=1&limit=5'
-```
-
-## Global Parameters
-
-| Parameter | Description | Example |
-|-----------|-------------|---------|
-| `--owner` | Repository owner | `--owner Gitlink` |
-| `--repo` | Repository name | `--repo forgeplus` |
-| `--format` | Output format (json/table/yaml; workflow also supports markdown) | `--format json` |
-| `--debug` | Enable debug output | `--debug` |
-
-**Automatic context resolution:** When running inside a git repository, `--owner` and `--repo` are automatically resolved from `git remote origin`.
-
-## Branch Conventions
-
-gitlink-cli supports bidirectional code sync between GitHub and GitLink:
-
-| Platform | Default Branch |
-|----------|---------------|
-| GitHub | `main` |
-| GitLink | `master` |
-
-**Push to GitLink from local:**
-
-```bash
-# Method 1: Use git command directly
-git push gitlink main:master
-
-# Method 2: Configure git remote
-git config remote.gitlink.push refs/heads/main:refs/heads/master
-git push gitlink
-```
-
-## AI Agent Skills
-
-The `skills/` directory contains Agent Skill files for AI-automated GitLink operations.
-
-See [skills/README.md](skills/README.md) for details.
-
-| Skill | Description |
-|-------|-------------|
-| `gitlink-shared` | Authentication, global parameters, safety rules, API notes |
-| `gitlink-repo` | Repository operations (create, view, delete, fork, etc.) |
-| `gitlink-issue` | Issue operations (create, update, close, comment, etc.) |
-| `gitlink-pr` | Pull request operations (create, merge, review, etc.) |
-| `gitlink-member` | Repository member and invite link management |
-| `gitlink-branch` | Branch management (create, delete, list, protect, unprotect) |
-| `gitlink-release` | Release management (create, view, delete, etc.) |
-| `gitlink-ci` | CI/CD operations (builds, logs, etc.) |
-| `gitlink-search` | Search (repositories, users, etc.) |
-| `gitlink-org` | Organization management (members, teams, etc.) |
-| `gitlink-user` | User management (profile info, etc.) |
-| `gitlink-pm` | Project management (sprints, kanban, weekly reports, etc.) |
-| `gitlink-workflow` | AI-powered workflows (issue triage, PR review, release notes, etc.) |
-
-## Project Structure
-
-```
-gitlink-cli/
-├── cmd/ # Cobra command definitions
-│ ├── root.go # Root command + global flags
-│ ├── auth/ # Authentication commands
-│ ├── api/ # Raw API commands
-│ ├── config/ # Configuration commands
-│ └── cmdutil/ # Global utilities
-├── internal/ # Internal packages
-│ ├── auth/ # Login, token storage, transport
-│ ├── client/ # HTTP client + pagination
-│ ├── config/ # Config file management
-│ ├── context/ # Git remote resolution
-│ └── output/ # Envelope + formatter
-├── shortcuts/ # Shortcut implementations
-│ ├── common/ # Framework (types, runner)
-│ ├── repo/ # Repository shortcuts
-│ ├── issue/ # Issue shortcuts
-│ ├── pr/ # PR shortcuts
-│ ├── member/ # Repository member shortcuts
-│ ├── branch/ # Branch shortcuts
-│ ├── release/ # Release shortcuts
-│ ├── org/ # Organization shortcuts
-│ ├── ci/ # CI shortcuts
-│ ├── search/ # Search shortcuts
-│ ├── user/ # User shortcuts
-│ └── register.go # Registration entry point
-├── skills/ # AI Agent Skills
-│ ├── README.md # Skills guide
-│ ├── gitlink-shared/ # Shared rules
-│ ├── gitlink-repo/ # Repository skill
-│ ├── gitlink-issue/ # Issue skill
-│ ├── gitlink-pr/ # PR skill
-│ ├── gitlink-pm/ # Project management skill
-│ └── ...
-├── doc/ # Design documents
-│ ├── Design.md
-│ ├── CODE_SYNC_STRATEGY_FINAL.md
-│ └── ...
-├── main.go
-├── Makefile
-├── go.mod
-└── README.md
-```
-
-## Documentation
-
-- [Skills Guide](skills/README.md) — AI Agent Skills detailed documentation
-- [Design Document](doc/design.md) — Architecture design and development plan
-
-## FAQ
-
-### Q: How do I use gitlink-cli in scripts?
-
-Use the `GITLINK_TOKEN` environment variable + `--format json` for structured output:
-
-```bash
-export GITLINK_TOKEN="your-private-token"
-gitlink-cli repo +list --format json | jq '.data.projects[] | .name'
-```
-
-### Q: How does automatic owner/repo resolution work?
-
-When running inside a git repository, the CLI automatically resolves `--owner` and `--repo` from `git remote origin`:
-
-```bash
-cd ~/my-gitlink-project
-gitlink-cli issue +list # Automatically uses the current repository
-```
-
-### Q: What if my token expires?
-
-Re-authenticate:
-
-```bash
-# Username/password login
-gitlink-cli auth login
-
-# Or use a private token (generate at GitLink web → Settings → Private Tokens)
-gitlink-cli auth login --token
-```
-
-### Q: How do I use gitlink-cli in CI/CD or non-interactive environments (e.g. Trae sandbox)?
-
-Set the `GITLINK_TOKEN` environment variable — no `auth login` needed:
-
-```bash
-export GITLINK_TOKEN="your-private-token"
-gitlink-cli repo +list # Ready to use
-gitlink-cli auth status # Shows "✓ Logged in via GITLINK_TOKEN environment variable"
-```
-
-Priority: `GITLINK_TOKEN` env var > keyring/file stored token. When the env var is not set, the original interactive login flow works as before.
-
-### Q: What if npm installs successfully but `gitlink-cli` reports a missing binary?
-
-Reinstall first:
-
-```bash
-npm install -g @gitlink-ai/cli
-```
-
-If the error persists, check whether the release page contains the asset for your platform,
-for example `gitlink-cli__windows_amd64.zip` on Windows x64.
-You can also download the binary manually from the release page or build from source with `go install .`.
-
-### Q: Where are credentials stored on Windows?
-
-gitlink-cli uses Windows Credential Manager for secure token storage. If Credential Manager is unavailable, it automatically falls back to file storage (`~/.config/gitlink-cli/credentials`).
-
-### Q: Where can I find the full API reference?
-
-See [skills/gitlink-shared/REFERENCE.md](skills/gitlink-shared/REFERENCE.md).
-
-## License
-
-[MulanPSL-2.0](https://license.coscl.org.cn/MulanPSL2)
+# gitlink-cli
+
+[](https://www.gitlink.org.cn/Gitlink/gitlink-cli)
+[](https://license.coscl.org.cn/MulanPSL2)
+[](https://golang.org)
+[](https://www.npmjs.com/package/@gitlink-ai/cli)
+
+The official [GitLink](https://www.gitlink.org.cn) CLI tool — built for humans and AI Agents. Supports **macOS, Linux, and Windows**. Covers repository management, issue tracking, pull requests, webhooks, member collaboration, CI/CD, and AI-powered workflows, with 40+ commands and AI Agent [Skills](./skills/).
+
+**[中文文档](./README.zh-CN.md)**
+
+[Install](#installation--quick-start) · [AI Agent Skills](#ai-agent-skills) · [Auth](#configure--use) · [Commands](#usage-examples) · [Contributing](#related-projects)
+
+## Contributors
+
+
+
+## Why gitlink-cli?
+
+- **Agent-Native Design** — Structured [Skills](./skills/) out of the box, compatible with Claude Code, OpenClaw, and other AI platforms — Agents can operate GitLink with zero extra setup
+- **Wide Coverage** — Repository, Issue, PR, Webhook, Member, Branch, Release, CI, Org, Search, and User workflows are covered by high-level commands
+- **AI-Friendly & Optimized** — Every command is tested with real Agents, featuring concise parameters, smart defaults, and structured output
+- **Cross-Platform** — Runs on macOS, Linux, and Windows (x64/arm64), install via `npm install -g @gitlink-ai/cli` in one command, binary auto-downloaded
+- **Open Source, Zero Barriers** — MulanPSL-2.0 license, ready to use, just `npm install`
+- **Up and Running in 3 Minutes** — Interactive login or `GITLINK_TOKEN` env var, from install to first API call in just 3 steps
+- **Secure & Controllable** — OS-native keychain credential storage, `GITLINK_TOKEN` env var for CI/CD & non-interactive environments, auto git remote context resolution
+- **Three-Layer Architecture** — Shortcuts (human & AI friendly) → Raw API (full coverage) → Config (configuration management)
+
+## Features
+
+| Category | Capabilities |
+|----------|-------------|
+| 📦 Repo | List, create, fork, delete repositories, view repo info |
+| 🐛 Issue | Create, update, close, batch close, comment on issues |
+| 🔀 PR | Create, merge, review pull requests, view changed files |
+| 👥 Member | List, add, remove repository members, change roles, create and accept invite links |
+| 🌿 Branch | Create, delete, list, protect, unprotect branches |
+| 🏷️ Release | Create, view, delete releases |
+| 🏢 Org | Manage organizations, members, teams |
+| 🔧 CI | View builds, logs, CI/CD operations |
+| 🔔 Webhook | Manage repo webhooks and test deliveries |
+| 🔍 Search | Search repositories, users |
+| 👤 User | View user profiles and info |
+| 📋 PM | Sprint management, kanban boards, weekly reports |
+| 🤖 Workflow | AI-powered issue triage, PR review, release notes |
+
+## Installation & Quick Start
+
+### Requirements
+
+- Node.js 14+ (`npm`/`npx`) — for npm installation
+- Supported platforms: macOS, Linux, Windows (x64/arm64)
+- Go 1.26+ — only required for building from source
+
+### Quick Start (Human Users)
+
+> **Note for AI assistants:** If you are an AI Agent helping the user with installation, jump directly to [Quick Start (AI Agent)](#quick-start-ai-agent), which contains all the steps you need to complete.
+
+#### Install
+
+**From npm (recommended):**
+
+```bash
+# One command: installs CLI binary + AI Agent Skills
+npm install -g @gitlink-ai/cli
+```
+
+The binary is auto-downloaded for your platform during `postinstall`. No extra steps needed.
+
+**From source:**
+
+Requires Go 1.26+.
+
+```bash
+git clone https://www.gitlink.org.cn/Gitlink/gitlink-cli.git
+cd gitlink-cli
+make install
+```
+
+> **Windows users:** Run `npm install -g @gitlink-ai/cli` in PowerShell or CMD. For building from source, use `go install .` instead of `make install`.
+
+#### Configure & Use
+
+```bash
+# 1. Configure (one-time, interactive guided setup)
+gitlink-cli config init
+
+# 2. Log in (choose one)
+gitlink-cli auth login # Username/password (recommended)
+gitlink-cli auth login --token # Or paste a private token
+export GITLINK_TOKEN="your-token" # Or set env var (for CI/CD, non-interactive environments)
+
+# 3. Start using
+gitlink-cli repo +list
+```
+
+### Quick Start (AI Agent)
+
+> The following steps are for AI Agents. Some steps require the user to complete actions in a browser.
+
+**Step 1 — Install**
+
+```bash
+# One command: CLI binary + all Skills auto-installed
+npm install -g @gitlink-ai/cli
+```
+
+**Step 2 — Configure**
+
+```bash
+gitlink-cli config init
+```
+
+**Step 3 — Login**
+
+For interactive environments:
+```bash
+gitlink-cli auth login
+```
+
+For non-interactive environments (CI/CD, Trae sandbox, MCP, etc.):
+```bash
+export GITLINK_TOKEN="your-private-token"
+```
+
+> To get a private token, go to GitLink web → Settings → Private Tokens.
+
+**Step 4 — Verify**
+
+```bash
+gitlink-cli user +me
+```
+
+## Usage Examples
+
+### Repository Operations
+
+```bash
+# List repositories
+gitlink-cli repo +list
+
+# View repository info
+gitlink-cli repo +info --owner Gitlink --repo forgeplus
+
+# Read repository README
+gitlink-cli repo +readme --owner Gitlink --repo forgeplus --ref master
+
+# Create a repository
+gitlink-cli repo +create -n my-project -d "Project description"
+
+# Fork a repository
+gitlink-cli repo +fork --owner Gitlink --repo forgeplus
+```
+
+### Webhook Management
+
+```bash
+# List webhooks
+gitlink-cli webhook +list --owner Gitlink --repo forgeplus
+
+# Create a webhook
+gitlink-cli webhook +create --owner Gitlink --repo forgeplus \
+ --url https://example.com/hook --events push,create
+
+# Test a webhook
+gitlink-cli webhook +test --owner Gitlink --repo forgeplus --id 68
+
+# View webhook delivery tasks
+gitlink-cli webhook +tasks --owner Gitlink --repo forgeplus --id 68
+```
+
+### Member Management
+
+```bash
+# List repository members
+gitlink-cli member +list --owner Gitlink --repo forgeplus
+
+# Add a member
+gitlink-cli member +add --owner Gitlink --repo forgeplus --user-id 101
+
+# Preview batch add without changing data
+gitlink-cli member +batch-add --owner Gitlink --repo forgeplus --user-ids 101,102 --dry-run
+
+# Batch add members from a CSV file
+gitlink-cli member +batch-add --owner Gitlink --repo forgeplus --from members.csv
+
+# Change a member role
+gitlink-cli member +role --owner Gitlink --repo forgeplus --user-id 101 --role Developer
+
+# Create an invite link
+gitlink-cli member +invite-link --owner Gitlink --repo forgeplus --role developer --apply true
+```
+
+### Issue Management
+
+```bash
+# List issues
+gitlink-cli issue +list --owner Gitlink --repo forgeplus
+
+# Create an issue
+gitlink-cli issue +create --owner Gitlink --repo forgeplus -t "Bug: Login failed" -b "Steps to reproduce..."
+
+# View an issue
+gitlink-cli issue +view --owner Gitlink --repo forgeplus -i 123
+
+# Close an issue
+gitlink-cli issue +close --owner Gitlink --repo forgeplus -i 123
+
+# Preview batch close without changing data
+gitlink-cli issue +batch-close --owner Gitlink --repo forgeplus --numbers 123,124 --dry-run
+
+# Batch close issues from a CSV file
+gitlink-cli issue +batch-close --owner Gitlink --repo forgeplus --from issues.csv
+
+# Add a comment
+gitlink-cli issue +comment --owner Gitlink --repo forgeplus -i 123 -b "Fixed"
+
+# List issue assigners
+gitlink-cli issue +assigners --owner Gitlink --repo forgeplus
+
+# List issue authors
+gitlink-cli issue +authors --owner Gitlink --repo forgeplus
+```
+
+### Pull Requests
+
+```bash
+# List PRs
+gitlink-cli pr +list --owner Gitlink --repo forgeplus
+
+# Create a PR (same-repo branch)
+gitlink-cli pr +create --owner Gitlink --repo forgeplus -t "feat: Search feature" --head feature/search --base master
+
+# Create a PR (from a fork)
+gitlink-cli pr +create --owner Gitlink --repo forgeplus -t "feat: New feature" --head your_username/forgeplus:feature/my-feature --base master
+
+# View a PR
+gitlink-cli pr +view --owner Gitlink --repo forgeplus -i 42
+
+# Merge a PR
+gitlink-cli pr +merge --owner Gitlink --repo forgeplus -i 42
+
+# Reopen a closed PR
+gitlink-cli pr +reopen --owner Gitlink --repo forgeplus -i 42
+
+# View changed files
+gitlink-cli pr +files --owner Gitlink --repo forgeplus -i 42
+
+# List PR patchset versions
+gitlink-cli pr +versions --owner Gitlink --repo forgeplus -i 42
+
+# View a patchset version diff
+gitlink-cli pr +version-diff --owner Gitlink --repo forgeplus -i 42 --version-id 16040
+
+# List PR reviews
+gitlink-cli pr +reviews --owner Gitlink --repo forgeplus -i 42
+
+# Create a PR review (with dry-run preview)
+gitlink-cli pr +review --owner Gitlink --repo forgeplus -i 42 --status approved -c "LGTM" --dry-run
+gitlink-cli pr +review --owner Gitlink --repo forgeplus -i 42 --status approved -c "LGTM"
+```
+
+### Branch Management
+
+```bash
+# List branches
+gitlink-cli branch +list --owner Gitlink --repo forgeplus
+
+# Create a branch
+gitlink-cli branch +create --name feature/new-feature
+
+# Delete a branch
+gitlink-cli branch +delete --name feature/old-feature
+
+# Protect a branch
+gitlink-cli branch +protect --name main
+
+# Remove branch protection
+gitlink-cli branch +unprotect --name main
+```
+
+### Release Management
+
+```bash
+# List releases
+gitlink-cli release +list --owner Gitlink --repo forgeplus
+
+# Create a release
+gitlink-cli release +create --owner Gitlink --repo forgeplus -t v1.0.0 -n "v1.0.0 Stable" -b "Changelog..."
+
+# View a release
+gitlink-cli release +view --owner Gitlink --repo forgeplus -i
+```
+
+### CI/CD Operations
+
+```bash
+# List builds
+gitlink-cli ci +list --owner Gitlink --repo forgeplus
+
+# View build log
+gitlink-cli ci +log --owner Gitlink --repo forgeplus -i
+
+# Restart a build
+gitlink-cli ci +restart --owner Gitlink --repo forgeplus -i
+```
+
+### Search
+
+```bash
+# Search repositories
+gitlink-cli search +repos -k "machine learning"
+
+# Search users
+gitlink-cli search +users -k "zhangsan"
+```
+
+### Workflow Agent Commands
+
+`workflow` provides rule-based repository analysis for maintainers and AI Agents. It currently supports:
+
+- `workflow +triage`
+- `workflow +health`
+- `workflow +pr-summary`
+- `workflow +repo-report`
+
+`workflow +pr-summary` defaults to `table` when `--format` is omitted.
+`workflow +repo-report` defaults to `markdown` when `--format` is omitted.
+
+Examples:
+
+```bash
+# Triage with local parameters
+gitlink-cli workflow +triage --title "Install failed on Windows" --body "go install failed with error" --format table
+
+# Triage with JSON output
+gitlink-cli workflow +triage --title "Token leaked in logs" --body "The access token appears in command output" --format json
+
+# Triage with Chinese markdown output
+gitlink-cli workflow +triage \
+ --title "安装失败,无法登录" \
+ --body "运行命令时报错" \
+ --lang zh-CN \
+ --format markdown
+
+# Triage from a local JSON file
+gitlink-cli workflow +triage --from shortcuts/workflow/testdata/issue_bug.json --format json
+
+# Triage by read-only GitLink fetch
+gitlink-cli workflow +triage --owner Gitlink --repo gitlink-cli --state open --limit 5 --format table
+
+# Health for a healthy repository
+gitlink-cli workflow +health \
+ --repository Gitlink/gitlink-cli \
+ --open-issues 3 \
+ --open-prs 1 \
+ --has-readme \
+ --has-license \
+ --has-contributing \
+ --agent-readiness-known \
+ --agent-readiness-score 9 \
+ --format table
+
+# Health for a risky repository
+gitlink-cli workflow +health \
+ --repository demo/repo \
+ --open-issues 60 \
+ --stale-issues 25 \
+ --open-prs 12 \
+ --stale-prs 6 \
+ --recent-activity-known \
+ --recent-activity-days 120 \
+ --release-known=false \
+ --format json
+
+# Health with Chinese markdown output
+gitlink-cli workflow +health \
+ --repository Gitlink/gitlink-cli \
+ --open-issues 3 \
+ --open-prs 1 \
+ --has-readme \
+ --has-license \
+ --has-contributing \
+ --lang zh-CN \
+ --format markdown
+
+# Health by read-only GitLink fetch
+gitlink-cli workflow +health --owner Gitlink --repo gitlink-cli --stale-days 30 --format table
+
+# PR review summary by read-only GitLink fetch
+gitlink-cli workflow +pr-summary --owner Gitlink --repo gitlink-cli --number 1 --format markdown
+
+# PR review summary from a local JSON file
+gitlink-cli workflow +pr-summary --from shortcuts/workflow/testdata/pr_summary.json --format json
+
+# Repository workflow report by read-only GitLink fetch
+gitlink-cli workflow +repo-report --owner Gitlink --repo gitlink-cli --format markdown
+
+# Repository workflow report from a local JSON file
+gitlink-cli workflow +repo-report --from shortcuts/workflow/testdata/repo_report.json --format json
+```
+
+Output formats:
+
+- `json` for scripts and AI Agents
+- `table` for terminal review
+- `markdown` for Issue comments, PR comments, release notes, and competition write-ups
+
+Safety:
+
+- Current workflow commands use local analysis by default and can also read GitLink data in read-only fetch mode.
+- They do not modify remote GitLink data.
+- They do not depend on LLM APIs.
+- `workflow +pr-summary` does not comment, approve, reject, or merge pull requests.
+- `workflow +repo-report` aggregates health, issue triage, and PR review summary signals without remote writes.
+
+### Raw API
+
+For endpoints not covered by shortcuts, use the Raw API directly:
+
+```bash
+# GET request
+gitlink-cli api GET /users/me
+
+# POST request
+gitlink-cli api POST /Gitlink/forgeplus/issues --body '{"subject":"test","description":"..."}'
+
+# POST request with body from a file
+gitlink-cli api POST /Gitlink/forgeplus/issues --body-file issue.json
+
+# POST request with body from stdin
+Get-Content issue.json | gitlink-cli api POST /Gitlink/forgeplus/issues --body-stdin
+
+# With query parameters
+gitlink-cli api GET /Gitlink/forgeplus/commits --query 'page=1&limit=5'
+```
+
+## Global Parameters
+
+| Parameter | Description | Example |
+|-----------|-------------|---------|
+| `--owner` | Repository owner | `--owner Gitlink` |
+| `--repo` | Repository name | `--repo forgeplus` |
+| `--format` | Output format (json/table/yaml; workflow also supports markdown) | `--format json` |
+| `--debug` | Enable debug output | `--debug` |
+
+**Automatic context resolution:** When running inside a git repository, `--owner` and `--repo` are automatically resolved from `git remote origin`.
+
+## Branch Conventions
+
+gitlink-cli supports bidirectional code sync between GitHub and GitLink:
+
+| Platform | Default Branch |
+|----------|---------------|
+| GitHub | `main` |
+| GitLink | `master` |
+
+**Push to GitLink from local:**
+
+```bash
+# Method 1: Use git command directly
+git push gitlink main:master
+
+# Method 2: Configure git remote
+git config remote.gitlink.push refs/heads/main:refs/heads/master
+git push gitlink
+```
+
+## AI Agent Skills
+
+The `skills/` directory contains Agent Skill files for AI-automated GitLink operations.
+
+See [skills/README.md](skills/README.md) for details.
+
+| Skill | Description |
+|-------|-------------|
+| `gitlink-shared` | Authentication, global parameters, safety rules, API notes |
+| `gitlink-repo` | Repository operations (create, view, delete, fork, etc.) |
+| `gitlink-issue` | Issue operations (create, update, close, comment, etc.) |
+| `gitlink-pr` | Pull request operations (create, merge, review, etc.) |
+| `gitlink-member` | Repository member and invite link management |
+| `gitlink-branch` | Branch management (create, delete, list, protect, unprotect) |
+| `gitlink-release` | Release management (create, view, delete, etc.) |
+| `gitlink-ci` | CI/CD operations (builds, logs, etc.) |
+| `gitlink-search` | Search (repositories, users, etc.) |
+| `gitlink-org` | Organization management (members, teams, etc.) |
+| `gitlink-user` | User management (profile info, etc.) |
+| `gitlink-pm` | Project management (sprints, kanban, weekly reports, etc.) |
+| `gitlink-workflow` | AI-powered workflows (issue triage, PR review, release notes, etc.) |
+
+## Project Structure
+
+```
+gitlink-cli/
+├── cmd/ # Cobra command definitions
+│ ├── root.go # Root command + global flags
+│ ├── auth/ # Authentication commands
+│ ├── api/ # Raw API commands
+│ ├── config/ # Configuration commands
+│ └── cmdutil/ # Global utilities
+├── internal/ # Internal packages
+│ ├── auth/ # Login, token storage, transport
+│ ├── client/ # HTTP client + pagination
+│ ├── config/ # Config file management
+│ ├── context/ # Git remote resolution
+│ └── output/ # Envelope + formatter
+├── shortcuts/ # Shortcut implementations
+│ ├── common/ # Framework (types, runner)
+│ ├── repo/ # Repository shortcuts
+│ ├── issue/ # Issue shortcuts
+│ ├── pr/ # PR shortcuts
+│ ├── member/ # Repository member shortcuts
+│ ├── branch/ # Branch shortcuts
+│ ├── release/ # Release shortcuts
+│ ├── org/ # Organization shortcuts
+│ ├── ci/ # CI shortcuts
+│ ├── search/ # Search shortcuts
+│ ├── user/ # User shortcuts
+│ └── register.go # Registration entry point
+├── skills/ # AI Agent Skills
+│ ├── README.md # Skills guide
+│ ├── gitlink-shared/ # Shared rules
+│ ├── gitlink-repo/ # Repository skill
+│ ├── gitlink-issue/ # Issue skill
+│ ├── gitlink-pr/ # PR skill
+│ ├── gitlink-pm/ # Project management skill
+│ └── ...
+├── doc/ # Design documents
+│ ├── Design.md
+│ ├── CODE_SYNC_STRATEGY_FINAL.md
+│ └── ...
+├── main.go
+├── Makefile
+├── go.mod
+└── README.md
+```
+
+## Documentation
+
+- [Skills Guide](skills/README.md) — AI Agent Skills detailed documentation
+- [Design Document](doc/design.md) — Architecture design and development plan
+
+## FAQ
+
+### Q: How do I use gitlink-cli in scripts?
+
+Use the `GITLINK_TOKEN` environment variable + `--format json` for structured output:
+
+```bash
+export GITLINK_TOKEN="your-private-token"
+gitlink-cli repo +list --format json | jq '.data.projects[] | .name'
+```
+
+### Q: How does automatic owner/repo resolution work?
+
+When running inside a git repository, the CLI automatically resolves `--owner` and `--repo` from `git remote origin`:
+
+```bash
+cd ~/my-gitlink-project
+gitlink-cli issue +list # Automatically uses the current repository
+```
+
+### Q: What if my token expires?
+
+Re-authenticate:
+
+```bash
+# Username/password login
+gitlink-cli auth login
+
+# Or use a private token (generate at GitLink web → Settings → Private Tokens)
+gitlink-cli auth login --token
+```
+
+### Q: How do I use gitlink-cli in CI/CD or non-interactive environments (e.g. Trae sandbox)?
+
+Set the `GITLINK_TOKEN` environment variable — no `auth login` needed:
+
+```bash
+export GITLINK_TOKEN="your-private-token"
+gitlink-cli repo +list # Ready to use
+gitlink-cli auth status # Shows "✓ Logged in via GITLINK_TOKEN environment variable"
+```
+
+Priority: `GITLINK_TOKEN` env var > keyring/file stored token. When the env var is not set, the original interactive login flow works as before.
+
+### Q: What if npm installs successfully but `gitlink-cli` reports a missing binary?
+
+Reinstall first:
+
+```bash
+npm install -g @gitlink-ai/cli
+```
+
+If the error persists, check whether the release page contains the asset for your platform,
+for example `gitlink-cli__windows_amd64.zip` on Windows x64.
+You can also download the binary manually from the release page or build from source with `go install .`.
+
+### Q: Where are credentials stored on Windows?
+
+gitlink-cli uses Windows Credential Manager for secure token storage. If Credential Manager is unavailable, it automatically falls back to file storage (`~/.config/gitlink-cli/credentials`).
+
+### Q: Where can I find the full API reference?
+
+See [skills/gitlink-shared/REFERENCE.md](skills/gitlink-shared/REFERENCE.md).
+
+## License
+
+[MulanPSL-2.0](https://license.coscl.org.cn/MulanPSL2)
+# p i p e l i n e t e s t
+
\ No newline at end of file