1406 lines
41 KiB
Markdown
1406 lines
41 KiB
Markdown
# Command-Line Help for `hive-forge`
|
|
|
|
This document contains the help content for the `hive-forge` command-line program.
|
|
|
|
**Command Overview:**
|
|
|
|
* [`hive-forge`↴](#hive-forge)
|
|
* [`hive-forge issue`↴](#hive-forge-issue)
|
|
* [`hive-forge issue show`↴](#hive-forge-issue-show)
|
|
* [`hive-forge issue create`↴](#hive-forge-issue-create)
|
|
* [`hive-forge issue edit`↴](#hive-forge-issue-edit)
|
|
* [`hive-forge issue view`↴](#hive-forge-issue-view)
|
|
* [`hive-forge issue comment`↴](#hive-forge-issue-comment)
|
|
* [`hive-forge issue comments`↴](#hive-forge-issue-comments)
|
|
* [`hive-forge issue close`↴](#hive-forge-issue-close)
|
|
* [`hive-forge issue reopen`↴](#hive-forge-issue-reopen)
|
|
* [`hive-forge issue labels`↴](#hive-forge-issue-labels)
|
|
* [`hive-forge issue labels list`↴](#hive-forge-issue-labels-list)
|
|
* [`hive-forge issue labels add`↴](#hive-forge-issue-labels-add)
|
|
* [`hive-forge issue labels remove`↴](#hive-forge-issue-labels-remove)
|
|
* [`hive-forge issue assign`↴](#hive-forge-issue-assign)
|
|
* [`hive-forge issue dependency`↴](#hive-forge-issue-dependency)
|
|
* [`hive-forge issue dependency list`↴](#hive-forge-issue-dependency-list)
|
|
* [`hive-forge issue dependency add`↴](#hive-forge-issue-dependency-add)
|
|
* [`hive-forge issue dependency remove`↴](#hive-forge-issue-dependency-remove)
|
|
* [`hive-forge issue reaction`↴](#hive-forge-issue-reaction)
|
|
* [`hive-forge issue reaction list`↴](#hive-forge-issue-reaction-list)
|
|
* [`hive-forge issue reaction add`↴](#hive-forge-issue-reaction-add)
|
|
* [`hive-forge issue reaction remove`↴](#hive-forge-issue-reaction-remove)
|
|
* [`hive-forge issue timeline`↴](#hive-forge-issue-timeline)
|
|
* [`hive-forge pr`↴](#hive-forge-pr)
|
|
* [`hive-forge pr show`↴](#hive-forge-pr-show)
|
|
* [`hive-forge pr commits`↴](#hive-forge-pr-commits)
|
|
* [`hive-forge pr create`↴](#hive-forge-pr-create)
|
|
* [`hive-forge pr status`↴](#hive-forge-pr-status)
|
|
* [`hive-forge pr merge`↴](#hive-forge-pr-merge)
|
|
* [`hive-forge pr reviews`↴](#hive-forge-pr-reviews)
|
|
* [`hive-forge pr assign-reviewer`↴](#hive-forge-pr-assign-reviewer)
|
|
* [`hive-forge pr diff`↴](#hive-forge-pr-diff)
|
|
* [`hive-forge pr view`↴](#hive-forge-pr-view)
|
|
* [`hive-forge pr edit`↴](#hive-forge-pr-edit)
|
|
* [`hive-forge pr comment`↴](#hive-forge-pr-comment)
|
|
* [`hive-forge pr comments`↴](#hive-forge-pr-comments)
|
|
* [`hive-forge pr close`↴](#hive-forge-pr-close)
|
|
* [`hive-forge pr reopen`↴](#hive-forge-pr-reopen)
|
|
* [`hive-forge pr labels`↴](#hive-forge-pr-labels)
|
|
* [`hive-forge pr labels list`↴](#hive-forge-pr-labels-list)
|
|
* [`hive-forge pr labels add`↴](#hive-forge-pr-labels-add)
|
|
* [`hive-forge pr labels remove`↴](#hive-forge-pr-labels-remove)
|
|
* [`hive-forge pr assign-committer`↴](#hive-forge-pr-assign-committer)
|
|
* [`hive-forge pr dependency`↴](#hive-forge-pr-dependency)
|
|
* [`hive-forge pr dependency list`↴](#hive-forge-pr-dependency-list)
|
|
* [`hive-forge pr dependency add`↴](#hive-forge-pr-dependency-add)
|
|
* [`hive-forge pr dependency remove`↴](#hive-forge-pr-dependency-remove)
|
|
* [`hive-forge pr reaction`↴](#hive-forge-pr-reaction)
|
|
* [`hive-forge pr reaction list`↴](#hive-forge-pr-reaction-list)
|
|
* [`hive-forge pr reaction add`↴](#hive-forge-pr-reaction-add)
|
|
* [`hive-forge pr reaction remove`↴](#hive-forge-pr-reaction-remove)
|
|
* [`hive-forge pr timeline`↴](#hive-forge-pr-timeline)
|
|
* [`hive-forge comment-show`↴](#hive-forge-comment-show)
|
|
* [`hive-forge comment-edit`↴](#hive-forge-comment-edit)
|
|
* [`hive-forge clone`↴](#hive-forge-clone)
|
|
* [`hive-forge repo-create`↴](#hive-forge-repo-create)
|
|
* [`hive-forge repo-add-collaborator`↴](#hive-forge-repo-add-collaborator)
|
|
* [`hive-forge repo-labels`↴](#hive-forge-repo-labels)
|
|
* [`hive-forge repo-search`↴](#hive-forge-repo-search)
|
|
* [`hive-forge lint`↴](#hive-forge-lint)
|
|
* [`hive-forge lint unassigned`↴](#hive-forge-lint-unassigned)
|
|
* [`hive-forge lint no-reviewer`↴](#hive-forge-lint-no-reviewer)
|
|
* [`hive-forge lint stale-branches`↴](#hive-forge-lint-stale-branches)
|
|
* [`hive-forge lint assignments`↴](#hive-forge-lint-assignments)
|
|
* [`hive-forge lint unlabeled`↴](#hive-forge-lint-unlabeled)
|
|
* [`hive-forge list`↴](#hive-forge-list)
|
|
* [`hive-forge milestone`↴](#hive-forge-milestone)
|
|
* [`hive-forge milestone list`↴](#hive-forge-milestone-list)
|
|
* [`hive-forge milestone create`↴](#hive-forge-milestone-create)
|
|
* [`hive-forge milestone close`↴](#hive-forge-milestone-close)
|
|
* [`hive-forge branches`↴](#hive-forge-branches)
|
|
* [`hive-forge tree-sha`↴](#hive-forge-tree-sha)
|
|
* [`hive-forge subscription`↴](#hive-forge-subscription)
|
|
* [`hive-forge attach-issue`↴](#hive-forge-attach-issue)
|
|
* [`hive-forge attach-comment`↴](#hive-forge-attach-comment)
|
|
* [`hive-forge attachment-get`↴](#hive-forge-attachment-get)
|
|
* [`hive-forge artifact-get`↴](#hive-forge-artifact-get)
|
|
* [`hive-forge ci-log`↴](#hive-forge-ci-log)
|
|
* [`hive-forge ci-rerun`↴](#hive-forge-ci-rerun)
|
|
* [`hive-forge ci-runs`↴](#hive-forge-ci-runs)
|
|
|
|
## `hive-forge`
|
|
|
|
Forgejo CLI wrapper for hyperhive
|
|
|
|
**Usage:** `hive-forge [OPTIONS] <COMMAND>`
|
|
|
|
###### **Subcommands:**
|
|
|
|
* `issue` — Issue-scoped commands: `issue <show|create|edit|view|comment|comments|close|reopen|labels|assign|dependency|reaction|timeline> …`
|
|
* `pr` — PR-scoped commands: `pr <show|status|create|merge|reviews|assign-reviewer|commits|diff|view|edit|comment|comments|close|reopen|labels|assign-committer|dependency|reaction|timeline> …`
|
|
* `comment-show` — Print the body (or full JSON) of a single comment by id
|
|
* `comment-edit` — Edit an existing comment by id
|
|
* `clone` — Clone a forge repo (default `-r`/`HIVE_FORGE_REPO`) with credentials auto-injected. Pairs with `pr-create --agit`
|
|
* `repo-create` — Create a forge repo under the current user (or `--org`). Prints the repo URL
|
|
* `repo-add-collaborator` — Add a collaborator to the active repo (`-r`/`HIVE_FORGE_REPO`) with a permission level. Companion to `repo-create`
|
|
* `repo-labels` — List every label defined on the repo (name + description), optionally filtered by a name substring
|
|
* `repo-search` — Search the forge for repositories by keyword, topic, or description
|
|
* `lint` — Triage lint queries (unassigned / no-reviewer / stale-branches / assignments / unlabeled)
|
|
* `list` — List issues / PRs with filters (`--kind`, `--state`, `--assignee`, `--author`, `--label`, `--limit`). Pretty rows by default; pass `--json` for raw JSON
|
|
* `milestone` — Manage milestones (list / create / close)
|
|
* `branches` — List branches, optionally filtered
|
|
* `tree-sha` — Print the tree SHA at a branch or commit
|
|
* `subscription` — Get/set this user's watch subscription on a repo, or --list all watched repos
|
|
* `attach-issue` — Upload a file as an attachment to an issue
|
|
* `attach-comment` — Upload a file as an attachment to a comment
|
|
* `attachment-get` — Download an attachment by UUID or URL. Saves to a temp file and prints the path (pass `-o -` to stream raw bytes to stdout)
|
|
* `artifact-get` — Download a CI Actions artifact from a run (`<name> --run <n>`). Saves a zip, or pass `-o -` to stream to stdout
|
|
* `ci-log` — Print a CI Actions run's job step logs (`--run <n> [--job i] [--step i]`)
|
|
* `ci-rerun` — Re-run CI without an empty commit. Pass one of `--pr <n>`, `--run <n>`, or `--branch <name>`; `--workflow` defaults to `ci.yml`
|
|
* `ci-runs` — List CI Actions runs, newest first (`--workflow`, `--branch`, `--limit`, `--page`) — the run numbers `ci-log`/`ci-rerun --run`/ `artifact-get --run` take
|
|
|
|
###### **Options:**
|
|
|
|
* `-r`, `--repo <REPO>` — Repo to act on, as `owner/name` (default: inferred from the cwd's git `origin` remote, then `HIVE_FORGE_REPO`). Works with any verb
|
|
* `-f`, `--forge <FORGE>` — Act as a dashboard-provisioned external forge account (by its FORGES-tab label) instead of the internal forge. Independent of `-r/--repo`
|
|
* `--json` — Emit JSON instead of the default human-readable output (for verbs that support both)
|
|
|
|
|
|
|
|
## `hive-forge issue`
|
|
|
|
Issue-scoped commands: `issue <show|create|edit|view|comment|comments|close|reopen|labels|assign|dependency|reaction|timeline> …`
|
|
|
|
**Usage:** `hive-forge issue <COMMAND>`
|
|
|
|
###### **Subcommands:**
|
|
|
|
* `show` — Show issue metadata as JSON
|
|
* `create` — Create an issue
|
|
* `edit` — Edit an issue's title / body / state / milestone
|
|
* `view` — Show title + body + comments
|
|
* `comment` — Post a comment on the issue
|
|
* `comments` — List comments on the issue
|
|
* `close` — Close the issue
|
|
* `reopen` — Reopen a closed issue
|
|
* `labels` — List / add / remove labels
|
|
* `assign` — Assign or unassign a user
|
|
* `dependency` — List / add / remove dependencies (issues this one is blocked by)
|
|
* `reaction` — List / add / remove emoji reactions on the issue, or on one of its comments with `--comment <id>`
|
|
* `timeline` — List timeline events
|
|
|
|
|
|
|
|
## `hive-forge issue show`
|
|
|
|
Show issue metadata as JSON
|
|
|
|
**Usage:** `hive-forge issue show <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue number
|
|
|
|
|
|
|
|
## `hive-forge issue create`
|
|
|
|
Create an issue
|
|
|
|
**Usage:** `hive-forge issue create [OPTIONS] --title <TITLE>`
|
|
|
|
###### **Options:**
|
|
|
|
* `--title <TITLE>` — Issue title (required)
|
|
* `--body <BODY>` — Inline body text
|
|
* `--body-file <BODY_FILE>` — Read body from a file. `-` means stdin
|
|
* `--assignee <ASSIGNEE>` — Initial assignee login
|
|
* `--label <LABELS>` — Label name to attach, repeatable (e.g. `--label area/ops --label type/bug`). Same spelling `labels add` accepts. An unresolved name errors out (before the issue is created) rather than silently attaching fewer labels than asked for
|
|
|
|
|
|
|
|
## `hive-forge issue edit`
|
|
|
|
Edit an issue's title / body / state / milestone
|
|
|
|
**Usage:** `hive-forge issue edit [OPTIONS] <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue (or PR — shares the same `/issues/<n>` endpoint) number
|
|
|
|
###### **Options:**
|
|
|
|
* `--title <TITLE>` — New title (omit to leave unchanged)
|
|
* `--body <BODY>` — Inline body text (omit to leave unchanged)
|
|
* `--body-file <BODY_FILE>` — Read body from a file. `-` means stdin
|
|
* `--state <STATE>` — New state
|
|
|
|
Possible values: `open`, `closed`
|
|
|
|
* `--milestone <MILESTONE>` — Milestone id (0 to unset)
|
|
|
|
|
|
|
|
## `hive-forge issue view`
|
|
|
|
Show title + body + comments
|
|
|
|
**Usage:** `hive-forge issue view <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
|
|
|
|
## `hive-forge issue comment`
|
|
|
|
Post a comment on the issue
|
|
|
|
**Usage:** `hive-forge issue comment [OPTIONS] <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
###### **Options:**
|
|
|
|
* `--body <BODY>` — Inline body text
|
|
* `--body-file <BODY_FILE>` — Read body from a file. `-` means stdin
|
|
* `--force` — Post even when the thread has unread activity (skips the read-before-comment guard)
|
|
|
|
|
|
|
|
## `hive-forge issue comments`
|
|
|
|
List comments on the issue
|
|
|
|
**Usage:** `hive-forge issue comments [OPTIONS] <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
###### **Options:**
|
|
|
|
* `--limit <LIMIT>` — Number of comments from the start of the thread, or (with `--since`) the most this call returns — capped at [`crate::verbs::MAX_LIMIT`] in the latter case. Mutually exclusive with `--tail`
|
|
|
|
Default value: `10`
|
|
* `--tail <TAIL>` — Return the last `N` comments (chronological). Mutually exclusive with `--limit`/`--since`
|
|
* `--since <SINCE>` — Only show comments at or after this RFC3339 timestamp (same format this verb's own output prints). Mutually exclusive with `--tail`
|
|
* `--show-reactions` — Fetch + display each shown comment's reaction summary. Costs one extra request per comment shown — opt-in, not the default
|
|
|
|
|
|
|
|
## `hive-forge issue close`
|
|
|
|
Close the issue
|
|
|
|
**Usage:** `hive-forge issue close <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
|
|
|
|
## `hive-forge issue reopen`
|
|
|
|
Reopen a closed issue
|
|
|
|
**Usage:** `hive-forge issue reopen <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
|
|
|
|
## `hive-forge issue labels`
|
|
|
|
List / add / remove labels
|
|
|
|
**Usage:** `hive-forge issue labels <NUMBER> [COMMAND]`
|
|
|
|
###### **Subcommands:**
|
|
|
|
* `list` — List labels (default when no action is given)
|
|
* `add` — Add labels by name
|
|
* `remove` — Remove labels by name
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
|
|
|
|
## `hive-forge issue labels list`
|
|
|
|
List labels (default when no action is given)
|
|
|
|
**Usage:** `hive-forge issue labels list`
|
|
|
|
|
|
|
|
## `hive-forge issue labels add`
|
|
|
|
Add labels by name
|
|
|
|
**Usage:** `hive-forge issue labels add [LABELS]...`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<LABELS>` — Label names to add
|
|
|
|
|
|
|
|
## `hive-forge issue labels remove`
|
|
|
|
Remove labels by name
|
|
|
|
**Usage:** `hive-forge issue labels remove [LABELS]...`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<LABELS>` — Label names to remove
|
|
|
|
|
|
|
|
## `hive-forge issue assign`
|
|
|
|
Assign or unassign a user
|
|
|
|
**Usage:** `hive-forge issue assign [OPTIONS] <NUMBER> <USER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
* `<USER>` — User login to assign (or unassign with `--remove`)
|
|
|
|
###### **Options:**
|
|
|
|
* `--remove` — Remove the user instead of adding
|
|
|
|
|
|
|
|
## `hive-forge issue dependency`
|
|
|
|
List / add / remove dependencies (issues this one is blocked by)
|
|
|
|
**Usage:** `hive-forge issue dependency <NUMBER> [COMMAND]`
|
|
|
|
###### **Subcommands:**
|
|
|
|
* `list` — List dependencies (default when no action is given) — the issues/PRs this one is blocked by
|
|
* `add` — Add one or more issues/PRs this one is blocked by
|
|
* `remove` — Remove one or more dependency links
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
|
|
|
|
## `hive-forge issue dependency list`
|
|
|
|
List dependencies (default when no action is given) — the issues/PRs this one is blocked by
|
|
|
|
**Usage:** `hive-forge issue dependency list`
|
|
|
|
|
|
|
|
## `hive-forge issue dependency add`
|
|
|
|
Add one or more issues/PRs this one is blocked by
|
|
|
|
**Usage:** `hive-forge issue dependency add [DEPS]...`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<DEPS>` — Issue/PR numbers to add as dependencies
|
|
|
|
|
|
|
|
## `hive-forge issue dependency remove`
|
|
|
|
Remove one or more dependency links
|
|
|
|
**Usage:** `hive-forge issue dependency remove [DEPS]...`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<DEPS>` — Issue/PR numbers to remove as dependencies
|
|
|
|
|
|
|
|
## `hive-forge issue reaction`
|
|
|
|
List / add / remove emoji reactions on the issue, or on one of its comments with `--comment <id>`
|
|
|
|
**Usage:** `hive-forge issue reaction [OPTIONS] <NUMBER> [COMMAND]`
|
|
|
|
###### **Subcommands:**
|
|
|
|
* `list` — List reactions (default when no action is given)
|
|
* `add` — Add a reaction — a Forgejo shortcode, e.g. `+1`, `heart`, `rocket`
|
|
* `remove` — Remove your own reaction with this content
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number. Ignored (but still required) when `--list-allowed` is set
|
|
|
|
###### **Options:**
|
|
|
|
* `--comment <COMMENT>` — Target a specific comment's reactions instead of the issue/PR itself — the comment's own id (from `comments`/`comment-show`), not its position in the thread
|
|
* `--list-allowed` — Print the instance's actual configured reaction shortcodes (`GET /settings/ui`) instead of listing/adding/removing — instance-global, ignores `number`/`--comment`
|
|
|
|
|
|
|
|
## `hive-forge issue reaction list`
|
|
|
|
List reactions (default when no action is given)
|
|
|
|
**Usage:** `hive-forge issue reaction list`
|
|
|
|
|
|
|
|
## `hive-forge issue reaction add`
|
|
|
|
Add a reaction — a Forgejo shortcode, e.g. `+1`, `heart`, `rocket`
|
|
|
|
**Usage:** `hive-forge issue reaction add <CONTENT>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<CONTENT>`
|
|
|
|
|
|
|
|
## `hive-forge issue reaction remove`
|
|
|
|
Remove your own reaction with this content
|
|
|
|
**Usage:** `hive-forge issue reaction remove <CONTENT>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<CONTENT>`
|
|
|
|
|
|
|
|
## `hive-forge issue timeline`
|
|
|
|
List timeline events
|
|
|
|
**Usage:** `hive-forge issue timeline [OPTIONS] <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
###### **Options:**
|
|
|
|
* `--limit <LIMIT>` — Return the first `N` events, capped at 49 (see the module doc comment for why). Default kept small on purpose
|
|
|
|
Default value: `10`
|
|
* `--since <SINCE>` — Only show events at or after this RFC3339 timestamp (same format this verb's own output prints) — pass back the last-seen row's `created_at` to fetch only what's new
|
|
|
|
|
|
|
|
## `hive-forge pr`
|
|
|
|
PR-scoped commands: `pr <show|status|create|merge|reviews|assign-reviewer|commits|diff|view|edit|comment|comments|close|reopen|labels|assign-committer|dependency|reaction|timeline> …`
|
|
|
|
**Usage:** `hive-forge pr <COMMAND>`
|
|
|
|
###### **Subcommands:**
|
|
|
|
* `show` — Show PR metadata as JSON
|
|
* `commits` — List the PR's commits as JSON
|
|
* `create` — Create a pull request
|
|
* `status` — PR health view: mergeable / CI / reviews
|
|
* `merge` — Merge the PR
|
|
* `reviews` — List a PR's reviews, or submit one
|
|
* `assign-reviewer` — Request (or withdraw with `--remove`) a review from a user
|
|
* `diff` — Print the PR's unified diff
|
|
* `view` — Show title + body + comments
|
|
* `edit` — Edit the PR's title / body / state / milestone. Fields not passed are left unchanged
|
|
* `comment` — Post a comment on the PR
|
|
* `comments` — List comments on the PR
|
|
* `close` — Close the PR
|
|
* `reopen` — Reopen a closed PR
|
|
* `labels` — List / add / remove labels
|
|
* `assign-committer` — Assign or unassign a user (the PR's assignee list)
|
|
* `dependency` — List / add / remove dependencies (issues/PRs this one is blocked by)
|
|
* `reaction` — List / add / remove emoji reactions on the PR, or on one of its comments with `--comment <id>`
|
|
* `timeline` — List timeline events
|
|
|
|
|
|
|
|
## `hive-forge pr show`
|
|
|
|
Show PR metadata as JSON
|
|
|
|
**Usage:** `hive-forge pr show <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — PR number
|
|
|
|
|
|
|
|
## `hive-forge pr commits`
|
|
|
|
List the PR's commits as JSON
|
|
|
|
**Usage:** `hive-forge pr commits <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — PR number
|
|
|
|
|
|
|
|
## `hive-forge pr create`
|
|
|
|
Create a pull request
|
|
|
|
**Usage:** `hive-forge pr create [OPTIONS] --title <TITLE>`
|
|
|
|
###### **Options:**
|
|
|
|
* `--title <TITLE>` — PR title
|
|
* `--head <HEAD>` — Head branch. Not required (and ignored) in `--agit` mode, which pushes the current `HEAD`
|
|
* `--base <BASE>` — Base branch (default: main)
|
|
|
|
Default value: `main`
|
|
* `--body <BODY>` — Inline body text
|
|
* `--body-file <BODY_FILE>` — Read body from a file. `-` means stdin
|
|
* `--draft` — Open as draft. Ignored in `--agit` mode
|
|
* `--push` — Push the local `--head` branch to `--remote` before creating the PR
|
|
* `--remote <REMOTE>` — Remote to push to (default: `forge`, or `origin` in `--agit` mode)
|
|
* `--agit` — Open the PR via Forgejo's `AGit` flow instead of pushing a branch — works for read-only collaborators. Run from inside a cloned repo
|
|
* `--topic <TOPIC>` — `AGit` topic — groups repeated pushes into one PR (re-run with the same topic to update it). Defaults to the branch name. Only meaningful with `--agit`
|
|
* `--label <LABELS>` — Label name to attach, repeatable (e.g. `--label area/ops --label type/bug`). Same spelling `labels add` accepts — an unresolved name errors out rather than silently attaching fewer labels than asked for. In `--agit` mode this is applied as a follow-up call once the PR number is known (the `AGit` push itself has no label field), so it's silently skipped (not a label-resolution error) if the PR URL couldn't be parsed back out of the push output — same fallback as the deferred multi-line body
|
|
|
|
|
|
|
|
## `hive-forge pr status`
|
|
|
|
PR health view: mergeable / CI / reviews
|
|
|
|
**Usage:** `hive-forge pr status [OPTIONS]`
|
|
|
|
###### **Options:**
|
|
|
|
* `--pr <PR>` — PR number — full health view (mergeable, CI, reviews, last comment). Mutually exclusive with `--sha`
|
|
* `--sha <SHA>` — Explicit commit sha (or ref) — CI-only fast path. Mutually exclusive with `--pr`
|
|
|
|
|
|
|
|
## `hive-forge pr merge`
|
|
|
|
Merge the PR
|
|
|
|
**Usage:** `hive-forge pr merge [OPTIONS] <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — PR number to merge
|
|
|
|
###### **Options:**
|
|
|
|
* `--method <METHOD>` — Merge strategy (default: a merge commit). Squash is not offered
|
|
|
|
Default value: `merge`
|
|
|
|
Possible values:
|
|
- `merge`:
|
|
Create a merge commit
|
|
- `rebase`:
|
|
Rebase the head branch onto the base, then fast-forward
|
|
|
|
* `--keep-branch` — Keep the head branch after merging (deleted by default)
|
|
* `--force` — Merge even if the PR is not mergeable, CI is not green, or a review requests changes
|
|
|
|
|
|
|
|
## `hive-forge pr reviews`
|
|
|
|
List a PR's reviews, or submit one
|
|
|
|
**Usage:** `hive-forge pr reviews [OPTIONS] <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — PR number
|
|
|
|
###### **Options:**
|
|
|
|
* `--approve` — Approve the PR (submit an APPROVED review)
|
|
* `--request-changes` — Request changes on the PR (submit a `REQUEST_CHANGES` review)
|
|
* `--comment` — Leave a comment review (submit a COMMENT review)
|
|
* `-m`, `--body <BODY>` — Optional body / message for the review (used with --approve, --request-changes, or --comment)
|
|
|
|
|
|
|
|
## `hive-forge pr assign-reviewer`
|
|
|
|
Request (or withdraw with `--remove`) a review from a user
|
|
|
|
**Usage:** `hive-forge pr assign-reviewer [OPTIONS] <NUMBER> <USER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — PR number
|
|
* `<USER>` — User login to request a review from (or withdraw with `--remove`)
|
|
|
|
###### **Options:**
|
|
|
|
* `--remove` — Withdraw the review request instead of adding it
|
|
|
|
|
|
|
|
## `hive-forge pr diff`
|
|
|
|
Print the PR's unified diff
|
|
|
|
**Usage:** `hive-forge pr diff [OPTIONS] <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — PR number
|
|
|
|
###### **Options:**
|
|
|
|
* `--full` — Print the unfiltered diff. By default, autogenerated-file hunks (`flake.lock`, `Cargo.lock`, …) are collapsed to a placeholder so human-authored changes stay readable
|
|
|
|
|
|
|
|
## `hive-forge pr view`
|
|
|
|
Show title + body + comments
|
|
|
|
**Usage:** `hive-forge pr view <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
|
|
|
|
## `hive-forge pr edit`
|
|
|
|
Edit the PR's title / body / state / milestone. Fields not passed are left unchanged
|
|
|
|
**Usage:** `hive-forge pr edit [OPTIONS] <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue (or PR — shares the same `/issues/<n>` endpoint) number
|
|
|
|
###### **Options:**
|
|
|
|
* `--title <TITLE>` — New title (omit to leave unchanged)
|
|
* `--body <BODY>` — Inline body text (omit to leave unchanged)
|
|
* `--body-file <BODY_FILE>` — Read body from a file. `-` means stdin
|
|
* `--state <STATE>` — New state
|
|
|
|
Possible values: `open`, `closed`
|
|
|
|
* `--milestone <MILESTONE>` — Milestone id (0 to unset)
|
|
|
|
|
|
|
|
## `hive-forge pr comment`
|
|
|
|
Post a comment on the PR
|
|
|
|
**Usage:** `hive-forge pr comment [OPTIONS] <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
###### **Options:**
|
|
|
|
* `--body <BODY>` — Inline body text
|
|
* `--body-file <BODY_FILE>` — Read body from a file. `-` means stdin
|
|
* `--force` — Post even when the thread has unread activity (skips the read-before-comment guard)
|
|
|
|
|
|
|
|
## `hive-forge pr comments`
|
|
|
|
List comments on the PR
|
|
|
|
**Usage:** `hive-forge pr comments [OPTIONS] <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
###### **Options:**
|
|
|
|
* `--limit <LIMIT>` — Number of comments from the start of the thread, or (with `--since`) the most this call returns — capped at [`crate::verbs::MAX_LIMIT`] in the latter case. Mutually exclusive with `--tail`
|
|
|
|
Default value: `10`
|
|
* `--tail <TAIL>` — Return the last `N` comments (chronological). Mutually exclusive with `--limit`/`--since`
|
|
* `--since <SINCE>` — Only show comments at or after this RFC3339 timestamp (same format this verb's own output prints). Mutually exclusive with `--tail`
|
|
* `--show-reactions` — Fetch + display each shown comment's reaction summary. Costs one extra request per comment shown — opt-in, not the default
|
|
|
|
|
|
|
|
## `hive-forge pr close`
|
|
|
|
Close the PR
|
|
|
|
**Usage:** `hive-forge pr close <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
|
|
|
|
## `hive-forge pr reopen`
|
|
|
|
Reopen a closed PR
|
|
|
|
**Usage:** `hive-forge pr reopen <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
|
|
|
|
## `hive-forge pr labels`
|
|
|
|
List / add / remove labels
|
|
|
|
**Usage:** `hive-forge pr labels <NUMBER> [COMMAND]`
|
|
|
|
###### **Subcommands:**
|
|
|
|
* `list` — List labels (default when no action is given)
|
|
* `add` — Add labels by name
|
|
* `remove` — Remove labels by name
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
|
|
|
|
## `hive-forge pr labels list`
|
|
|
|
List labels (default when no action is given)
|
|
|
|
**Usage:** `hive-forge pr labels list`
|
|
|
|
|
|
|
|
## `hive-forge pr labels add`
|
|
|
|
Add labels by name
|
|
|
|
**Usage:** `hive-forge pr labels add [LABELS]...`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<LABELS>` — Label names to add
|
|
|
|
|
|
|
|
## `hive-forge pr labels remove`
|
|
|
|
Remove labels by name
|
|
|
|
**Usage:** `hive-forge pr labels remove [LABELS]...`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<LABELS>` — Label names to remove
|
|
|
|
|
|
|
|
## `hive-forge pr assign-committer`
|
|
|
|
Assign or unassign a user (the PR's assignee list)
|
|
|
|
**Usage:** `hive-forge pr assign-committer [OPTIONS] <NUMBER> <USER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
* `<USER>` — User login to assign (or unassign with `--remove`)
|
|
|
|
###### **Options:**
|
|
|
|
* `--remove` — Remove the user instead of adding
|
|
|
|
|
|
|
|
## `hive-forge pr dependency`
|
|
|
|
List / add / remove dependencies (issues/PRs this one is blocked by)
|
|
|
|
**Usage:** `hive-forge pr dependency <NUMBER> [COMMAND]`
|
|
|
|
###### **Subcommands:**
|
|
|
|
* `list` — List dependencies (default when no action is given) — the issues/PRs this one is blocked by
|
|
* `add` — Add one or more issues/PRs this one is blocked by
|
|
* `remove` — Remove one or more dependency links
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
|
|
|
|
## `hive-forge pr dependency list`
|
|
|
|
List dependencies (default when no action is given) — the issues/PRs this one is blocked by
|
|
|
|
**Usage:** `hive-forge pr dependency list`
|
|
|
|
|
|
|
|
## `hive-forge pr dependency add`
|
|
|
|
Add one or more issues/PRs this one is blocked by
|
|
|
|
**Usage:** `hive-forge pr dependency add [DEPS]...`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<DEPS>` — Issue/PR numbers to add as dependencies
|
|
|
|
|
|
|
|
## `hive-forge pr dependency remove`
|
|
|
|
Remove one or more dependency links
|
|
|
|
**Usage:** `hive-forge pr dependency remove [DEPS]...`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<DEPS>` — Issue/PR numbers to remove as dependencies
|
|
|
|
|
|
|
|
## `hive-forge pr reaction`
|
|
|
|
List / add / remove emoji reactions on the PR, or on one of its comments with `--comment <id>`
|
|
|
|
**Usage:** `hive-forge pr reaction [OPTIONS] <NUMBER> [COMMAND]`
|
|
|
|
###### **Subcommands:**
|
|
|
|
* `list` — List reactions (default when no action is given)
|
|
* `add` — Add a reaction — a Forgejo shortcode, e.g. `+1`, `heart`, `rocket`
|
|
* `remove` — Remove your own reaction with this content
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number. Ignored (but still required) when `--list-allowed` is set
|
|
|
|
###### **Options:**
|
|
|
|
* `--comment <COMMENT>` — Target a specific comment's reactions instead of the issue/PR itself — the comment's own id (from `comments`/`comment-show`), not its position in the thread
|
|
* `--list-allowed` — Print the instance's actual configured reaction shortcodes (`GET /settings/ui`) instead of listing/adding/removing — instance-global, ignores `number`/`--comment`
|
|
|
|
|
|
|
|
## `hive-forge pr reaction list`
|
|
|
|
List reactions (default when no action is given)
|
|
|
|
**Usage:** `hive-forge pr reaction list`
|
|
|
|
|
|
|
|
## `hive-forge pr reaction add`
|
|
|
|
Add a reaction — a Forgejo shortcode, e.g. `+1`, `heart`, `rocket`
|
|
|
|
**Usage:** `hive-forge pr reaction add <CONTENT>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<CONTENT>`
|
|
|
|
|
|
|
|
## `hive-forge pr reaction remove`
|
|
|
|
Remove your own reaction with this content
|
|
|
|
**Usage:** `hive-forge pr reaction remove <CONTENT>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<CONTENT>`
|
|
|
|
|
|
|
|
## `hive-forge pr timeline`
|
|
|
|
List timeline events
|
|
|
|
**Usage:** `hive-forge pr timeline [OPTIONS] <NUMBER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue or PR number
|
|
|
|
###### **Options:**
|
|
|
|
* `--limit <LIMIT>` — Return the first `N` events, capped at 49 (see the module doc comment for why). Default kept small on purpose
|
|
|
|
Default value: `10`
|
|
* `--since <SINCE>` — Only show events at or after this RFC3339 timestamp (same format this verb's own output prints) — pass back the last-seen row's `created_at` to fetch only what's new
|
|
|
|
|
|
|
|
## `hive-forge comment-show`
|
|
|
|
Print the body (or full JSON) of a single comment by id
|
|
|
|
**Usage:** `hive-forge comment-show <ID>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<ID>` — Comment id
|
|
|
|
|
|
|
|
## `hive-forge comment-edit`
|
|
|
|
Edit an existing comment by id
|
|
|
|
**Usage:** `hive-forge comment-edit [OPTIONS] <ID>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<ID>` — Comment id
|
|
|
|
###### **Options:**
|
|
|
|
* `--body <BODY>` — Inline body text
|
|
* `--body-file <BODY_FILE>` — Read body from a file. `-` means stdin
|
|
|
|
|
|
|
|
## `hive-forge clone`
|
|
|
|
Clone a forge repo (default `-r`/`HIVE_FORGE_REPO`) with credentials auto-injected. Pairs with `pr-create --agit`
|
|
|
|
**Usage:** `hive-forge clone [OPTIONS] [DEST]`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<DEST>` — Destination directory. Defaults to the repo's basename (e.g. `internal/knowledge` → `knowledge`)
|
|
|
|
###### **Options:**
|
|
|
|
* `--branch <BRANCH>` — Branch to check out after cloning
|
|
* `--depth <DEPTH>` — Shallow-clone depth (omit for a full clone)
|
|
|
|
|
|
|
|
## `hive-forge repo-create`
|
|
|
|
Create a forge repo under the current user (or `--org`). Prints the repo URL
|
|
|
|
**Usage:** `hive-forge repo-create [OPTIONS] <NAME>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NAME>` — Repository name (required). Created under the authenticated user unless `--org` is given
|
|
|
|
###### **Options:**
|
|
|
|
* `--description <DESCRIPTION>` — Repository description
|
|
* `--private` — Create the repo as private (default: public)
|
|
* `--default-branch <DEFAULT_BRANCH>` — Default branch name (e.g. `main`). Only takes effect with `--auto-init`
|
|
* `--org <ORG>` — Create under this organisation instead of your own namespace
|
|
* `--auto-init` — Seed an initial commit (README) so the repo is non-empty and can be cloned immediately. Omit to create a bare repo you push into
|
|
|
|
|
|
|
|
## `hive-forge repo-add-collaborator`
|
|
|
|
Add a collaborator to the active repo (`-r`/`HIVE_FORGE_REPO`) with a permission level. Companion to `repo-create`
|
|
|
|
**Usage:** `hive-forge repo-add-collaborator [OPTIONS] <USER>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<USER>` — Collaborator's forge login to add
|
|
|
|
###### **Options:**
|
|
|
|
* `--permission <PERMISSION>` — Permission level to grant (default: write — a freshly added collaborator usually needs to push)
|
|
|
|
Default value: `write`
|
|
|
|
Possible values:
|
|
- `read`:
|
|
Pull (read-only) access
|
|
- `write`:
|
|
Push (read/write) access
|
|
- `admin`:
|
|
Full administrative access to the repo
|
|
|
|
|
|
|
|
|
|
## `hive-forge repo-labels`
|
|
|
|
List every label defined on the repo (name + description), optionally filtered by a name substring
|
|
|
|
**Usage:** `hive-forge repo-labels [PATTERN]`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<PATTERN>` — Substring pattern to filter label names (case-sensitive)
|
|
|
|
|
|
|
|
## `hive-forge repo-search`
|
|
|
|
Search the forge for repositories by keyword, topic, or description
|
|
|
|
**Usage:** `hive-forge repo-search [OPTIONS]`
|
|
|
|
###### **Options:**
|
|
|
|
* `-q`, `--query <QUERY>` — Keyword to search for (matches repo name by default; combine with `--include-desc` to also match description text)
|
|
* `--topic` — Restrict matches to repositories that have the keyword as a **topic** tag rather than in the name
|
|
* `--include-desc` — Extend the keyword search to repository descriptions (in addition to names, or topics when `--topic` is set)
|
|
* `--limit <LIMIT>` — Maximum number of results to return (default: 30)
|
|
|
|
Default value: `30`
|
|
|
|
|
|
|
|
## `hive-forge lint`
|
|
|
|
Triage lint queries (unassigned / no-reviewer / stale-branches / assignments / unlabeled)
|
|
|
|
**Usage:** `hive-forge lint <COMMAND>`
|
|
|
|
###### **Subcommands:**
|
|
|
|
* `unassigned` — List issues or PRs without an assignee
|
|
* `no-reviewer` — List PRs with no formally requested reviewer
|
|
* `stale-branches` — List remote branches with no commits in N days, each with its merge outcome (skips branches that are heads of open PRs)
|
|
* `assignments` — Group open issues + PRs by assignee
|
|
* `unlabeled` — List issues/PRs with no exclusive scoped label in `--scope` (e.g. `--scope type` flags items missing any `type/*` label). Generic — the scope is whatever the repo's label taxonomy actually uses, nothing hardcoded here
|
|
|
|
|
|
|
|
## `hive-forge lint unassigned`
|
|
|
|
List issues or PRs without an assignee
|
|
|
|
**Usage:** `hive-forge lint unassigned [OPTIONS]`
|
|
|
|
###### **Options:**
|
|
|
|
* `--type <TYPE>` — Filter by item kind
|
|
|
|
Default value: `all`
|
|
|
|
Possible values: `issues`, `pulls`, `all`
|
|
|
|
* `--state <STATE>` — Filter by item state
|
|
|
|
Default value: `open`
|
|
|
|
Possible values: `open`, `closed`, `all`
|
|
|
|
|
|
|
|
|
|
## `hive-forge lint no-reviewer`
|
|
|
|
List PRs with no formally requested reviewer
|
|
|
|
**Usage:** `hive-forge lint no-reviewer [OPTIONS]`
|
|
|
|
###### **Options:**
|
|
|
|
* `--state <STATE>` — Filter by PR state
|
|
|
|
Default value: `open`
|
|
|
|
Possible values: `open`, `closed`, `all`
|
|
|
|
* `--reviewer <REVIEWER>` — Reviewer login to check for. Omit to flag any PR with zero formally requested reviewers; pass it to instead flag PRs where this specific login isn't among the requested reviewers
|
|
|
|
|
|
|
|
## `hive-forge lint stale-branches`
|
|
|
|
List remote branches with no commits in N days, each with its merge outcome (skips branches that are heads of open PRs)
|
|
|
|
**Usage:** `hive-forge lint stale-branches [OPTIONS]`
|
|
|
|
###### **Options:**
|
|
|
|
* `--days <DAYS>` — Threshold in days since the last commit
|
|
|
|
Default value: `14`
|
|
|
|
|
|
|
|
## `hive-forge lint assignments`
|
|
|
|
Group open issues + PRs by assignee
|
|
|
|
**Usage:** `hive-forge lint assignments [OPTIONS]`
|
|
|
|
###### **Options:**
|
|
|
|
* `--user <USER>` — Restrict to a single user
|
|
|
|
|
|
|
|
## `hive-forge lint unlabeled`
|
|
|
|
List issues/PRs with no exclusive scoped label in `--scope` (e.g. `--scope type` flags items missing any `type/*` label). Generic — the scope is whatever the repo's label taxonomy actually uses, nothing hardcoded here
|
|
|
|
**Usage:** `hive-forge lint unlabeled [OPTIONS] --scope <SCOPE>`
|
|
|
|
###### **Options:**
|
|
|
|
* `--scope <SCOPE>` — Label scope to check for — the part of a scoped label's name before the `/` (e.g. `type` for `type/bug`, `type/feature`). Required: this command has no built-in notion of a repo's label taxonomy, so there's no sane default to fall back to
|
|
* `--type <TYPE>` — Filter by item kind
|
|
|
|
Default value: `all`
|
|
|
|
Possible values: `issues`, `pulls`, `all`
|
|
|
|
* `--state <STATE>` — Filter by item state
|
|
|
|
Default value: `open`
|
|
|
|
Possible values: `open`, `closed`, `all`
|
|
|
|
|
|
|
|
|
|
## `hive-forge list`
|
|
|
|
List issues / PRs with filters (`--kind`, `--state`, `--assignee`, `--author`, `--label`, `--limit`). Pretty rows by default; pass `--json` for raw JSON
|
|
|
|
**Usage:** `hive-forge list [OPTIONS]`
|
|
|
|
**Command Aliases:** `issues`, `issue-list`
|
|
|
|
###### **Options:**
|
|
|
|
* `--kind <KIND>` — What to return: issues, PRs, or both (default: both)
|
|
|
|
Default value: `both`
|
|
|
|
Possible values:
|
|
- `issue`:
|
|
Issues only (excludes PRs)
|
|
- `pr`:
|
|
Pull requests only
|
|
- `both`:
|
|
Issues + pull requests (default)
|
|
|
|
* `--state <STATE>` — Issue/PR state (default: open)
|
|
|
|
Default value: `open`
|
|
|
|
Possible values: `open`, `closed`, `all`
|
|
|
|
* `--assignee <ASSIGNEE>` — Filter to items assigned to this user (single login)
|
|
* `--author <AUTHOR>` — Filter to items authored by this user (single login)
|
|
* `--mention <MENTION>` — Filter to items mentioning this user
|
|
* `--label <LABELS>` — Filter to items carrying any of these label names. Repeatable. Validated client-side: a name the forge can't resolve is dropped from the filter rather than rejected, which returns MORE results than asked for, not fewer
|
|
* `--milestone <MILESTONES>` — Filter to items in any of these milestones, by title or id. Repeatable. Validated client-side against the repo's milestones (closed ones included), since the forge would silently discard a name it can't resolve and return the UNFILTERED list
|
|
* `--search <SEARCH>` — Full-text search over title AND body, server-side. Composes with every filter above — this is the duplicate-hunting path that grepping `list` output can't cover, since grep only ever sees the titles
|
|
* `--limit <LIMIT>` — Page size — items per page (default: 30). The forge clamps this to its own `api.MAX_RESPONSE_ITEMS` (50 by default), so a large `--limit` silently returns a smaller page; the trailer reports the real total rather than trusting this number. Must be >= 1
|
|
|
|
Default value: `30`
|
|
* `--page <PAGE>` — Page number to fetch (1-based, default 1). Combine with `--limit` to page through large result sets incrementally
|
|
|
|
Default value: `1`
|
|
|
|
|
|
|
|
## `hive-forge milestone`
|
|
|
|
Manage milestones (list / create / close)
|
|
|
|
**Usage:** `hive-forge milestone [COMMAND]`
|
|
|
|
###### **Subcommands:**
|
|
|
|
* `list` — List open milestones as JSON
|
|
* `create` — Create a milestone, print {id,title}
|
|
* `close` — Close a milestone by id
|
|
|
|
|
|
|
|
## `hive-forge milestone list`
|
|
|
|
List open milestones as JSON
|
|
|
|
**Usage:** `hive-forge milestone list`
|
|
|
|
|
|
|
|
## `hive-forge milestone create`
|
|
|
|
Create a milestone, print {id,title}
|
|
|
|
**Usage:** `hive-forge milestone create [OPTIONS] --title <TITLE>`
|
|
|
|
###### **Options:**
|
|
|
|
* `--title <TITLE>` — Milestone title
|
|
* `--desc <DESC>` — Description
|
|
* `--due <DUE>` — Due date YYYY-MM-DD
|
|
|
|
|
|
|
|
## `hive-forge milestone close`
|
|
|
|
Close a milestone by id
|
|
|
|
**Usage:** `hive-forge milestone close <ID>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<ID>` — Milestone id
|
|
|
|
|
|
|
|
## `hive-forge branches`
|
|
|
|
List branches, optionally filtered
|
|
|
|
**Usage:** `hive-forge branches [PATTERN]`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<PATTERN>` — Substring pattern to filter branch names
|
|
|
|
|
|
|
|
## `hive-forge tree-sha`
|
|
|
|
Print the tree SHA at a branch or commit
|
|
|
|
**Usage:** `hive-forge tree-sha <REFERENCE>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<REFERENCE>` — Branch name or commit SHA
|
|
|
|
|
|
|
|
## `hive-forge subscription`
|
|
|
|
Get/set this user's watch subscription on a repo, or --list all watched repos
|
|
|
|
**Usage:** `hive-forge subscription [OPTIONS]`
|
|
|
|
###### **Options:**
|
|
|
|
* `--watch` — Subscribe (watch the repo)
|
|
* `--ignore` — Mute (mark ignored)
|
|
* `--unwatch` — Unsubscribe (clear watch + ignore)
|
|
* `--list` — List every repo the current user watches (ignores `[repo]`)
|
|
|
|
|
|
|
|
## `hive-forge attach-issue`
|
|
|
|
Upload a file as an attachment to an issue
|
|
|
|
**Usage:** `hive-forge attach-issue <NUMBER> <FILE>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NUMBER>` — Issue number
|
|
* `<FILE>` — File path to upload
|
|
|
|
|
|
|
|
## `hive-forge attach-comment`
|
|
|
|
Upload a file as an attachment to a comment
|
|
|
|
**Usage:** `hive-forge attach-comment <ID> <FILE>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<ID>` — Comment id
|
|
* `<FILE>` — File path to upload
|
|
|
|
|
|
|
|
## `hive-forge attachment-get`
|
|
|
|
Download an attachment by UUID or URL. Saves to a temp file and prints the path (pass `-o -` to stream raw bytes to stdout)
|
|
|
|
**Usage:** `hive-forge attachment-get [OPTIONS] <ATTACHMENT>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<ATTACHMENT>` — Attachment UUID or URL. Accepts a bare UUID (`abc-123-...`), a root-relative path (`/attachments/abc-123-...`), or a full URL (`http://localhost:3000/attachments/abc-123-...`)
|
|
|
|
###### **Options:**
|
|
|
|
* `-o`, `--output <OUTPUT>` — Output path. Defaults to `/tmp/forge-attachment-<uuid>`. Pass `-` to write raw bytes to stdout (e.g. for piping to an image viewer)
|
|
|
|
|
|
|
|
## `hive-forge artifact-get`
|
|
|
|
Download a CI Actions artifact from a run (`<name> --run <n>`). Saves a zip, or pass `-o -` to stream to stdout
|
|
|
|
**Usage:** `hive-forge artifact-get [OPTIONS] --run <RUN> <NAME>`
|
|
|
|
###### **Arguments:**
|
|
|
|
* `<NAME>` — Artifact name, as shown on the run page (e.g. `pr1ma-paper-pdf`)
|
|
|
|
###### **Options:**
|
|
|
|
* `--run <RUN>` — Workflow run number — the `runs/<n>` in the run-page URL, which `pr-status` surfaces as a CI context's `target_url`. (This is the per-repo run number, not the global run id; the verb translates.)
|
|
* `-o`, `--output <OUTPUT>` — Output path. Defaults to `/tmp/forge-artifact-<name>.zip` (Forgejo serves artifacts zipped). Pass `-` to stream raw bytes to stdout
|
|
|
|
|
|
|
|
## `hive-forge ci-log`
|
|
|
|
Print a CI Actions run's job step logs (`--run <n> [--job i] [--step i]`)
|
|
|
|
**Usage:** `hive-forge ci-log [OPTIONS] --run <RUN>`
|
|
|
|
###### **Options:**
|
|
|
|
* `--run <RUN>` — Workflow run number — the `runs/<n>` in the run-page URL (shown by `pr-status`)
|
|
* `--job <JOB>` — Job index within the run (0-based, default 0)
|
|
|
|
Default value: `0`
|
|
* `--step <STEP>` — Print only this step's log (0-based). Omit to print every step
|
|
* `--attempt <ATTEMPT>` — Run attempt number (re-runs increment it; default 1)
|
|
|
|
Default value: `1`
|
|
|
|
|
|
|
|
## `hive-forge ci-rerun`
|
|
|
|
Re-run CI without an empty commit. Pass one of `--pr <n>`, `--run <n>`, or `--branch <name>`; `--workflow` defaults to `ci.yml`
|
|
|
|
**Usage:** `hive-forge ci-rerun [OPTIONS]`
|
|
|
|
###### **Options:**
|
|
|
|
* `--pr <PR>` — Re-run CI for this PR (its head branch). Mutually exclusive with `--run` / `--branch`
|
|
* `--run <RUN>` — Re-run the same workflow on the same branch this run used. The run number is the `runs/<n>` in the run-page URL. Mutually exclusive with `--pr` / `--branch`
|
|
* `--branch <BRANCH>` — Re-run `--workflow` on this branch. Mutually exclusive with `--pr` / `--run`
|
|
* `--workflow <WORKFLOW>` — Workflow file to run (default `ci.yml`). Ignored for `--run`, which uses the run's own workflow
|
|
|
|
Default value: `ci.yml`
|
|
|
|
|
|
|
|
## `hive-forge ci-runs`
|
|
|
|
List CI Actions runs, newest first (`--workflow`, `--branch`, `--limit`, `--page`) — the run numbers `ci-log`/`ci-rerun --run`/ `artifact-get --run` take
|
|
|
|
**Usage:** `hive-forge ci-runs [OPTIONS]`
|
|
|
|
###### **Options:**
|
|
|
|
* `--workflow <WORKFLOW>` — Only runs of this workflow file (e.g. `ci.yml`)
|
|
* `--branch <BRANCH>` — Only runs on this ref. A branch name (`main`, `damocles/foo`) or a PR (`#N`) is qualified for you; a `refs/…` value is used as given. An all-digit value is read as a PR number — to filter a branch literally named that, pass `refs/heads/<name>`
|
|
* `--limit <LIMIT>` — How many runs to print (default 20)
|
|
|
|
Default value: `20`
|
|
* `--page <PAGE>` — Page number (1-based, default 1). Combine with `--limit` to page through further back than the default window
|
|
|
|
Default value: `1`
|
|
|
|
|
|
|
|
<hr/>
|
|
|
|
<small><i>
|
|
This document was generated automatically by
|
|
<a href="https://crates.io/crates/clap-markdown"><code>clap-markdown</code></a>.
|
|
</i></small>
|