neo issue
Manage issues.
Addressed repo-bound as owner/repo#N or team-scoped as KEY-N.
neo issue [OPTIONS] <COMMAND>neo issue create
Section titled “neo issue create”Create an issue.
Repo-bound by default; --team with no repo target creates a team-scoped issue (KEY-N) instead. Fields come from flags, an issue document (--edit, --from-file), or both — flags win.
neo issue create [OPTIONS] [TARGET]| Option | Value | Required | Default | Env | Values | Description |
|---|---|---|---|---|---|---|
<TARGET> |
no | <owner>/<repo> or bare <repo>. Inferred from a checkout remote pointing at this host when omitted (unless --team alone makes the issue team-scoped) |
||||
--title |
<TITLE> |
no | Title, required unless --edit or --from-file supplies it. It is the whole of what a list, a search result or a link preview shows; the detail belongs in --body |
|||
--body |
<BODY> |
no | Markdown description. Mutually exclusive with --body-file |
|||
--body-file |
<PATH> |
no | Read the markdown description from a file instead of a shell argument — - reads stdin. Avoids shell-quoting long bodies. Mutually exclusive with --body |
|||
--priority |
<PRIORITY> |
no | none, urgent, high, medium, low |
Priority to file it at. Left to the server’s default when omitted | ||
--status |
<STATUS> |
no | backlog, todo, in_progress |
Initial status. Omitted: backlog for a ticket (the board’s intake column), todo for a repo issue |
||
--label |
<NAME> |
no | Label to attach, by name; repeatable. Resolved against the repo’s or team’s labels (labels lists them) before anything is created, so a typo files nothing. Replaces the document’s labels when given |
|||
--assignee |
<HANDLE> |
no | Handle to assign (alice or @alice; @me is you); repeatable. Replaces the document’s assignees when given |
|||
--edit, -e |
no | Write it in $VISUAL / $EDITOR (else vi): opens an issue document — a template on create, the current values on edit — and applies what you save. Saving an empty title on create aborts with nothing sent; edit sends only what changed. Flags given beside it win over what you save |
||||
--from-file |
<PATH> |
no | Read an issue document (frontmatter, then the markdown body) from PATH; - reads stdin. The non-interactive twin of --edit, for an editor plugin piping a buffer in. Keys the document leaves out keep their current value on edit; flags given beside it win |
|||
--team |
<TEAM> |
no | Team key (ENG or <workspace>/ENG) to file a ticket on that team instead of an issue on a repository. Not combinable with a repo target: a repo issue carries no team |
|||
--json |
no | Print the created issue as JSON |
neo issue list
Section titled “neo issue list”List issues in a repo (or a team with --team).
A team list is filtered by the server and follows every page; a repo list is one server page (--search applied there) with the other filters applied to its rows.
neo issue list [OPTIONS] [TARGET]| Option | Value | Required | Default | Env | Values | Description |
|---|---|---|---|---|---|---|
<TARGET> |
no | <owner>/<repo> or bare <repo>. Inferred from a checkout remote pointing at this host when omitted |
||||
--team |
<TEAM> |
no | Team key (ENG or <workspace>/ENG) — list that team’s issues instead of a repo’s |
|||
--state |
<STATE> |
no | open |
open, closed, all, backlog, todo, in_progress, in_review, done, cancelled, duplicate |
open (non-terminal), closed (done/cancelled/duplicate), all, or one exact status |
|
--search |
<TEXT> |
no | Only issues whose title, description or number contain TEXT (case-insensitive, matched by the server) | |||
--label |
<NAME> |
no | Only issues carrying this label, by name | |||
--assignee |
<HANDLE> |
no | Only issues assigned to HANDLE; @me is you |
|||
--priority |
<PRIORITY> |
no | none, urgent, high, medium, low |
Only issues at this priority | ||
--limit |
<N> |
no | Stop after N issues. Omitted: every page | |||
--json |
no | Print {issues} as JSON, every fetched page merged |
neo issue mine
Section titled “neo issue mine”List the issues and tickets assigned to you, across every repo and team.
--created lists the ones you filed instead. Same list as neo ticket mine: both kinds, each under its own reference.
neo issue mine [OPTIONS]| Option | Value | Required | Default | Env | Values | Description |
|---|---|---|---|---|---|---|
--created |
no | The ones you filed, instead of the ones assigned to you | ||||
--state |
<STATE> |
no | open |
open, closed, all |
open (non-terminal), closed (done/cancelled/duplicate) or all |
|
--limit |
<N> |
no | Stop after N. Omitted: every page | |||
--json |
no | Print every page, merged, as one JSON response |
neo issue labels
Section titled “neo issue labels”List the labels a repo (or a team with --team) offers.
The names --label, --add-label and an issue document’s labels resolve against.
neo issue labels [OPTIONS] [TARGET]| Option | Value | Required | Default | Env | Values | Description |
|---|---|---|---|---|---|---|
<TARGET> |
no | <owner>/<repo> or bare <repo>. Inferred from a checkout remote pointing at this host when omitted |
||||
--team |
<TEAM> |
no | Team key (ENG or <workspace>/ENG) — that team’s labels instead of a repo’s |
|||
--json |
no | Print {labels} as JSON |
neo issue view
Section titled “neo issue view”Show one issue with its comments
neo issue view [OPTIONS] <ISSUE> [TARGET]| Option | Value | Required | Default | Env | Values | Description |
|---|---|---|---|---|---|---|
<ISSUE> |
yes | Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target |
||||
<TARGET> |
no | <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team |
||||
--team |
<TEAM> |
no | Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target |
|||
--json |
no | Print {issue, comments} as JSON |
||||
--document |
no | Print it as an issue document (frontmatter with its labels and assignees, then the body) — the format edit --from-file reads back, for an editor plugin’s buffer |
neo issue context
Section titled “neo issue context”Agent context pack for an issue (always JSON).
The issue plus its labels, links, comments, and every linked PR (open AND closed) with a checks summary and review comments/threads. --attachments <DIR> also downloads the images it references.
neo issue context [OPTIONS] <ISSUE> [TARGET]| Option | Value | Required | Default | Env | Values | Description |
|---|---|---|---|---|---|---|
<ISSUE> |
yes | Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target |
||||
<TARGET> |
no | <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team |
||||
--team |
<TEAM> |
no | Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target |
|||
--attachments |
<DIR> |
no | Also download every attachment the pack references into DIR (created if missing), as <id>.<ext>. stdout is still exactly the JSON pack; each attachment gets one line on stderr, /a/<id> -> <path>, or a skip line for one you cannot read, which is not an error |
|||
--json |
no | Accepted so every verb takes --json; the pack is always JSON |
neo issue close
Section titled “neo issue close”Close an issue with a terminal status
neo issue close [OPTIONS] <ISSUE> [TARGET]| Option | Value | Required | Default | Env | Values | Description |
|---|---|---|---|---|---|---|
<ISSUE> |
yes | Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target |
||||
<TARGET> |
no | <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team |
||||
--team |
<TEAM> |
no | Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target |
|||
--reason |
<REASON> |
no | done |
done, cancelled, duplicate |
Terminal status to close it with | |
--comment |
<BODY> |
no | Markdown comment to post before closing | |||
--json |
no | Print the updated issue as JSON |
neo issue edit
Section titled “neo issue edit”Edit an issue’s fields, labels and assignees.
Only what differs from the issue’s current state is sent; anything omitted keeps its current value. At least one of --title, --body, --body-file, --priority, --status, a label or assignee flag, --edit or --from-file is required. A failure partway through reports which writes landed and which were never attempted.
neo issue edit [OPTIONS] <ISSUE> [TARGET]| Option | Value | Required | Default | Env | Values | Description |
|---|---|---|---|---|---|---|
<ISSUE> |
yes | Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target |
||||
<TARGET> |
no | <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team |
||||
--team |
<TEAM> |
no | Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target |
|||
--title |
<TITLE> |
no | Replace the title | |||
--body |
<BODY> |
no | Markdown description. Mutually exclusive with --body-file |
|||
--body-file |
<PATH> |
no | Read the markdown description from a file instead of a shell argument — - reads stdin. Avoids shell-quoting long bodies. Mutually exclusive with --body |
|||
--priority |
<PRIORITY> |
no | none, urgent, high, medium, low |
Replace the priority | ||
--status |
<STATUS> |
no | backlog, todo, in_progress, in_review, done, cancelled, duplicate |
Move it to this status. Sent by transition, as the web UI does: to a terminal status (done/cancelled/duplicate) it is a close with that reason; from a terminal status to an open one it is a reopen, then the status; between open statuses it is the plain field write. A document’s status: is sent the same way |
||
--add-label |
<NAME> |
no | Attach a label, by name; repeatable. Resolved against the repo’s or team’s labels (labels lists them) |
|||
--remove-label |
<NAME> |
no | Detach a label, by name; repeatable. One that is not attached is left alone | |||
--add-assignee |
<HANDLE> |
no | Assign someone (alice or @alice; @me is you); repeatable |
|||
--remove-assignee |
<HANDLE> |
no | Unassign someone; repeatable. One who is not assigned is left alone | |||
--edit, -e |
no | Write it in $VISUAL / $EDITOR (else vi): opens an issue document — a template on create, the current values on edit — and applies what you save. Saving an empty title on create aborts with nothing sent; edit sends only what changed. Flags given beside it win over what you save |
||||
--from-file |
<PATH> |
no | Read an issue document (frontmatter, then the markdown body) from PATH; - reads stdin. The non-interactive twin of --edit, for an editor plugin piping a buffer in. Keys the document leaves out keep their current value on edit; flags given beside it win |
|||
--json |
no | Print the updated issue as JSON |
neo issue reopen
Section titled “neo issue reopen”Re-open a closed issue
neo issue reopen [OPTIONS] <ISSUE> [TARGET]| Option | Value | Required | Default | Env | Values | Description |
|---|---|---|---|---|---|---|
<ISSUE> |
yes | Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target |
||||
<TARGET> |
no | <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team |
||||
--team |
<TEAM> |
no | Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target |
|||
--json |
no | Print the updated issue as JSON |
neo issue comment
Section titled “neo issue comment”Comment on an issue
neo issue comment [OPTIONS] --body <BODY> <ISSUE> [TARGET]| Option | Value | Required | Default | Env | Values | Description |
|---|---|---|---|---|---|---|
<ISSUE> |
yes | Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target |
||||
<TARGET> |
no | <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team |
||||
--team |
<TEAM> |
no | Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target |
|||
--body |
<BODY> |
yes | Markdown comment body | |||
--json |
no | Print the created comment as JSON |
neo issue claim
Section titled “neo issue claim”Atomically claim an issue (backlog/todo → in_progress, assigned to you).
Exactly one claimer wins; a lost claim exits non-zero with the server’s 409 — the agent loop’s mutual exclusion.
neo issue claim [OPTIONS] <ISSUE> [TARGET]| Option | Value | Required | Default | Env | Values | Description |
|---|---|---|---|---|---|---|
<ISSUE> |
yes | Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target |
||||
<TARGET> |
no | <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team |
||||
--team |
<TEAM> |
no | Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target |
|||
--json |
no | Print the claimed issue as JSON |
neo issue release
Section titled “neo issue release”Release a claimed issue: in_progress → todo, drop your assignment
neo issue release [OPTIONS] <ISSUE> [TARGET]| Option | Value | Required | Default | Env | Values | Description |
|---|---|---|---|---|---|---|
<ISSUE> |
yes | Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target |
||||
<TARGET> |
no | <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team |
||||
--team |
<TEAM> |
no | Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target |
|||
--json |
no | Print the released issue as JSON |