Issues
Creating
bash
ngit issue create --subject "Crash on empty relay list" --body "Details as markdown"
ngit issue create --subject "Add retry" --body "..." --label enhancement --label help-wanted--label repeats. For a body longer than a line or two, read it from a file. Unlike git push options, ngit's --body takes ordinary multiline arguments:
bash
ngit issue create --subject "Design notes" --body "$(cat notes.md)"Reading
bash
ngit issue list # open issues
ngit issue list --status closed
ngit issue list --label bug
ngit issue view <ID>
ngit issue view <ID> --comments
ngit issue view <ID> --history<ID> accepts an nevent1... string, a full hex ID, or a unique hex prefix with an optional #, such as ngit issue view '#deadbeef'. Quote the # form so your shell doesn't treat it as a comment.
--history shows the original title and body followed by every authorised subject or cover-note edit, including the editor's role. The list form is also available when you supply one issue: ngit issue list <ID> --history.
Commenting
bash
ngit issue comment <ID> --body "Reproduced on v2.1"
ngit issue comment <ID> --body "Thanks!" --reply-to <comment-ID>Comments thread. --reply-to takes another comment's ID.
Referencing other things
Use a nostr: URI, never a raw hex ID pasted into prose:
bash
ngit issue comment <ID> --body "Same root cause as nostr:nevent1abc…"ngit converts those into proper event tags, so clients can link them. The id values that ngit issue list reports are already in the right form. Prefix one with nostr:.
Closing
There are two different endings, and the distinction is worth keeping:
bash
ngit issue resolved <ID> --reason "fixed in abc123" # it got fixed
ngit issue close <ID> --reason "wontfix" # it didn't
ngit issue reopen <ID> --reason "regression in v2.3"Auto-resolve from commits
New commits pushed to the declared default branch can close issues automatically when their messages use common forms of close, fix, resolve, or implement, followed by a unique hex ID or a nostr: URI:
Fixes #deadbeef
Resolves nostr:nevent1abc…ngit publishes the status only when the pusher is the issue author or a confirmed repository member.
Editing
bash
ngit issue label <ID> --label bug --label enhancement
ngit issue set-subject <ID> --subject "New title"
ngit issue set-cover-note <ID> --body "$(cat updated.md)"A cover note replaces the description shown for the issue.