<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/src/bin/ngit/sub_commands/mod.rs, branch v2.4.0</title>
<subtitle>Personal mirror of DanConwayDev/ngit-cli on git.upleb.uk
</subtitle>
<id>https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v2.4.0</id>
<link rel='self' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v2.4.0'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/'/>
<updated>2026-03-05T14:23:07+00:00</updated>
<entry>
<title>feat(cover-note): add kind-1624 cover notes for PRs, patches, and issues</title>
<updated>2026-03-05T14:23:07+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T14:19:49+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=37244449d6d0d58bb639f181bd15092de1acaaee'/>
<id>urn:sha1:37244449d6d0d58bb639f181bd15092de1acaaee</id>
<content type='text'>
Implements experimental kind-1624 cover note events:

- KIND_COVER_NOTE constant and process_cover_note() in git_events.rs;
  replaceable semantics (latest created_at, hex-id tiebreak), author or
  maintainer only
- kind-1624 events fetched alongside labels in the fetch pipeline;
  cover_notes count added to FetchReport display
- ngit pr/issue view: cover note displayed in place of description with
  a clear 'Cover Note:' header; maintainer-authored notes identify the
  author; original description shown only with --comments; cover_note
  object included in --json output
- ngit pr set-cover-note / ngit issue set-cover-note: publish a
  kind-1624 event; nostr: mentions in --body converted to q/p tags via
  tags_from_content (same rules as issue --body)
- Fix pre-existing clippy::too_many_lines on repo/mod.rs show_info
</content>
</entry>
<entry>
<title>feat(subject): add pr/issue set-subject via NIP-32 kind-1985 labels</title>
<updated>2026-03-05T13:03:50+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T13:03:50+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=f3fcf863aae000964753f574b00e9fb9f5fcd452'/>
<id>urn:sha1:f3fcf863aae000964753f574b00e9fb9f5fcd452</id>
<content type='text'>
Adds the ability to update the displayed title of a PR or issue after
creation using a kind-1985 label event with the #subject namespace.
Only the author or a repository maintainer may set the subject. The
latest authorised event wins with tiebreak by lexicographically larger
event ID (NIP-1 replaceable event semantics). Branch names and commit
messages are never affected.

- Split get_labels() into process_labels() (additive #t) and
  process_subject() (replaceable-style #subject), with a shared
  get_labels_and_subject() entry point that processes both from a
  single pre-fetched slice of kind-1985 events
- All list/view/JSON display paths apply the subject override silently
- New ngit pr set-subject &lt;id&gt; --subject &lt;text&gt; command
- New ngit issue set-subject &lt;id&gt; --subject &lt;text&gt; command
</content>
</entry>
<entry>
<title>feat(label): add `ngit issue label` and `ngit pr label` commands</title>
<updated>2026-03-05T11:41:09+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T11:33:10+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=3ac5395b47c709c00f0072668dfdceb04f2d4974'/>
<id>urn:sha1:3ac5395b47c709c00f0072668dfdceb04f2d4974</id>
<content type='text'>
Publishes a NIP-32 kind-1985 label event referencing the target issue or
PR. Only the event author or a repository maintainer may apply labels.
Duplicate labels (already present via t-tags or prior kind-1985 events)
are silently skipped. The new event is saved to the local cache before
broadcasting so subsequent reads reflect the change immediately.

CLI:
  ngit issue label &lt;id&gt; --label &lt;L&gt; [--label &lt;L&gt;...]
  ngit pr label &lt;id&gt; --label &lt;L&gt; [--label &lt;L&gt;...]
</content>
</entry>
<entry>
<title>add `ngit account whoami` command</title>
<updated>2026-03-05T10:58:37+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T10:58:37+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=2f2819cc2365be07fedfd35ab3654b3607e29e76'/>
<id>urn:sha1:2f2819cc2365be07fedfd35ab3654b3607e29e76</id>
<content type='text'>
Shows currently logged-in account(s) with name and npub. When both a
local (repo-scoped) and global account are configured, displays both
with local marked as active. Supports --json (returns local, global,
and active objects each with name, npub, nip05, scope) and --offline
(reads from cache only, no network). Fixes doc_markdown clippy warning
in cli.rs.
</content>
</entry>
<entry>
<title>restructure CLI around ngit pr/issue subcommand groups</title>
<updated>2026-03-04T14:50:01+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-04T14:28:38+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=b3b1a949463d8e18622519866ecee3f1b65cc888'/>
<id>urn:sha1:b3b1a949463d8e18622519866ecee3f1b65cc888</id>
<content type='text'>
Introduce ngit pr subcommand group (list, view, checkout, apply, send,
close, reopen, ready, comment, merge) replacing the former top-level
ngit list/checkout/apply commands. ngit send is kept at the top level.

Expand ngit issue with view, create, close, reopen, comment subcommands.

Status changes (close/reopen/ready) are gated to the PR/issue author or
a repository maintainer. ngit pr merge is maintainer-only and publishes
a GitStatusApplied event immediately after the git merge.
</content>
</entry>
<entry>
<title>feat: add ngit issue list command</title>
<updated>2026-03-04T13:28:30+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-04T13:28:30+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=3908abbbfc5e748dd168d22bf5e3ea6aae17de61'/>
<id>urn:sha1:3908abbbfc5e748dd168d22bf5e3ea6aae17de61</id>
<content type='text'>
Non-interactive listing of NIP-34 issues (kind 1621) with status
resolution, hashtag display, and detail view.

- get_issues_from_cache: fetch GitIssue events from local cache by repo
  coordinate, mirroring get_proposals_and_revisions_from_cache
- ngit issue list: table output of ID, status, title and hashtags at end
  of each row; status resolved via existing get_status() logic
- --status: comma-separated filter (open,draft,closed,applied; default: open)
- --hashtag: comma-separated label filter (case-insensitive, OR match)
- --json: machine-readable output including hashtags and description
- --offline: skip network fetch, use local cache only
- &lt;id&gt;: optional positional argument (hex event-id or nevent) to show
  full details of a specific issue including body content
</content>
</entry>
<entry>
<title>add `ngit repo` subcommand group</title>
<updated>2026-02-20T21:54:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T21:54:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=8f1a1743bd4e85e922ec0cc1f050911a28af4cf0'/>
<id>urn:sha1:8f1a1743bd4e85e922ec0cc1f050911a28af4cf0</id>
<content type='text'>
- `ngit repo` (no subcommand): show repository info including maintainer
  tree, per-maintainer infrastructure attribution, and a note explaining
  the union-vs-personal field model and recursive maintainer sets
- `ngit repo init`: alias for `ngit init`
- `ngit repo edit`: same as init but signals intent to update an existing
  repository announcement
- `ngit repo accept`: scoped command for co-maintainers to publish their
  announcement; errors with clear messages for all other states (trusted
  maintainer, already accepted, not invited, no repo found)
</content>
</entry>
<entry>
<title>feat: add ngit apply command for non-interactive patch application</title>
<updated>2026-02-12T09:58:19+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-12T09:58:19+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=bc6be27ae6d1d2befe0027c19aba3f6cd2d22535'/>
<id>urn:sha1:bc6be27ae6d1d2befe0027c19aba3f6cd2d22535</id>
<content type='text'>
Adds a new 'ngit apply &lt;event-id&gt;' command that applies proposal patches
to the current branch. Supports --stdout flag to output patches for
piping to git am.

Phase 2 of non-interactive ngit list implementation.
</content>
</entry>
<entry>
<title>feat: add ngit checkout command for non-interactive proposal checkout</title>
<updated>2026-02-12T09:47:43+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-12T09:47:43+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=8293af72744bc89beac57a194602938536b429db'/>
<id>urn:sha1:8293af72744bc89beac57a194602938536b429db</id>
<content type='text'>
Adds a new 'ngit checkout &lt;event-id|nevent&gt;' command that creates or
updates a proposal branch and checks it out. Supports both PRs and
patches with parent-commit references.

Phase 1 of non-interactive ngit list implementation.
</content>
</entry>
<entry>
<title>feat: add ngit account create command</title>
<updated>2026-02-10T13:03:34+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-10T12:52:04+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=761344563507eb50726db96f7409a8f3d5928b98'/>
<id>urn:sha1:761344563507eb50726db96f7409a8f3d5928b98</id>
<content type='text'>
Add new 'ngit account create' subcommand to create nostr accounts.
This replaces the previous 'signup' command and supports both interactive
and non-interactive modes.
</content>
</entry>
</feed>
