<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/src/bin, branch v2.2.1</title>
<subtitle>Personal mirror of DanConwayDev/ngit-cli on git.upleb.uk
</subtitle>
<id>https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/atom?h=v2.2.1</id>
<link rel='self' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/atom?h=v2.2.1'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/'/>
<updated>2026-02-20T23:23:29+00:00</updated>
<entry>
<title>show subcommand hint at top of `ngit repo` output before fetch</title>
<updated>2026-02-20T23:23:29+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T23:16:21+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=7b07fdd0b28efa4e0026075d6ff82d050383c9a2'/>
<id>urn:sha1:7b07fdd0b28efa4e0026075d6ff82d050383c9a2</id>
<content type='text'>
- print hint line immediately, before coordinate lookup and relay fetch
- users see available subcommands (init, edit, accept) without waiting
</content>
</entry>
<entry>
<title>improve `ngit repo` output styling</title>
<updated>2026-02-20T23:04:21+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T23:03:15+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=e50687b908e802c9f3328c9b57060b63bb5706c0'/>
<id>urn:sha1:e50687b908e802c9f3328c9b57060b63bb5706c0</id>
<content type='text'>
- make repo name bold yellow as a title; section headings bold dim
- add dim horizontal rules above and below the name/description block
- move earliest unique commit to the bottom (after additional relays)
- add --offline flag to skip network fetch and use local cache only
</content>
</entry>
<entry>
<title>improve `ngit repo` output formatting</title>
<updated>2026-02-20T22:41:50+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T22:41:50+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=68779f91f051822270f156a4185350fb3c4b5017'/>
<id>urn:sha1:68779f91f051822270f156a4185350fb3c4b5017</id>
<content type='text'>
- suppress fetch summary (no updates / updates: X)
- write blank line to stderr after relay errors for clear separation
- show identifier below title only when it differs from name
- show earliest unique commit (root_commit) in metadata
- restructure infrastructure into grasp servers / additional git
  servers / additional relays sections
- display grasp servers by domain only (strip scheme, npub, repo path)
- strip wss:// prefix from relay display
- show maintainer names from metadata cache; fall back to short npub
- append (you) next to the current user's name wherever it appears
- show [name] attribution and the maintainer model note only when
  there is more than one maintainer
</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/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/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>use trusted maintainer's grasp servers as fallback for co-maintainers</title>
<updated>2026-02-20T21:21:52+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T21:14:45+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=b10340cb00a00da07d0ae735796d83801454779e'/>
<id>urn:sha1:b10340cb00a00da07d0ae735796d83801454779e</id>
<content type='text'>
when a co-maintainer has no grasp servers of their own, fall back to
the trusted maintainer's grasp servers rather than jumping straight to
system defaults. if the trusted maintainer only uses a single grasp
server, the first system default is appended for redundancy. system
defaults are only used when neither the user nor the trusted maintainer
has any grasp servers configured.
</content>
</entry>
<entry>
<title>update relay prompt to reflect grasp servers are sufficient</title>
<updated>2026-02-20T21:21:50+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T20:31:33+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=4295e4a3aaca29fda73a955186d30641815d4efa'/>
<id>urn:sha1:4295e4a3aaca29fda73a955186d30641815d4efa</id>
<content type='text'>
Public relays are no longer recommended; grasp servers cover relay
needs. The interactive prompt now reflects this.
</content>
</entry>
<entry>
<title>drop default relays from announcement events</title>
<updated>2026-02-20T21:21:49+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T20:26:31+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=724e02ac8c538e9dfe4faa072082fad301e49b10'/>
<id>urn:sha1:724e02ac8c538e9dfe4faa072082fad301e49b10</id>
<content type='text'>
ngit init and accept_maintainership_with_defaults no longer seed relay
lists from the client default set. The relay list in a Kind:30617
announcement now contains only grasp-server-derived relay URLs; no
additional public relays are suggested or added automatically.
</content>
</entry>
<entry>
<title>extract grasp/maintainership helpers to lib and auto-accept on push</title>
<updated>2026-02-20T21:21:48+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T20:09:09+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=64747526c9f6ab43f9dac461d056bb42992573b4'/>
<id>urn:sha1:64747526c9f6ab43f9dac461d056bb42992573b4</id>
<content type='text'>
move apply_grasp_infrastructure, latest_event_repo_ref to lib/repo_ref.rs
and wait_for_grasp_servers + grasp_servers_from_user_or_fallback to a
new lib/accept_maintainership.rs so both binaries can share them.

add accept_maintainership_with_defaults which publishes the co-maintainer's
own Kind:30617 announcement with defaults (user grasp servers, shared
metadata from existing events) then waits for grasp server provisioning
and updates nostr.repo config and origin remote.

replace the push error block with a call to accept_maintainership_with_defaults
so pushing now silently accepts co-maintainership instead of failing.
</content>
</entry>
<entry>
<title>improve ngit init messaging for co-maintainership acceptance</title>
<updated>2026-02-20T20:43:47+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T12:08:37+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=1583a5f5b137ec408d9358c12f6716f7033a2c69'/>
<id>urn:sha1:1583a5f5b137ec408d9358c12f6716f7033a2c69</id>
<content type='text'>
when a co-maintainer runs ngit init, it now clearly states upfront
that they are accepting a co-maintainership offer (not creating a
new repo), shows who offered it, and on completion confirms the
acceptance and explains they can now push. updating an existing
co-maintainer announcement also gets its own clear message.
</content>
</entry>
<entry>
<title>improve push error when co-maintainer has no announcement</title>
<updated>2026-02-20T12:06:38+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T12:06:38+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=7d981ce57797dc772c3b3ced7ba6b61a3acdbed5'/>
<id>urn:sha1:7d981ce57797dc772c3b3ced7ba6b61a3acdbed5</id>
<content type='text'>
the previous message said 'run ngit init' with no explanation of why or
what it does. the new message explains the user has been offered
co-maintainership, names the repo, and points to 'ngit init -d' for a
fast non-interactive acceptance path.
</content>
</entry>
</feed>
