From b8416487bf4ec157ce05397c80acb121db57523c Mon Sep 17 00:00:00 2001 From: naliyi <154817482+naliyi@users.noreply.github.com> Date: Wed, 23 Sep 2026 16:25:22 +0000 Subject: [PATCH 1/4] docs(relay): trim the relay description The create-if-missing behaviour of -c/--context is already spelled out on the flag itself, so the description repeated it. Drops to the two facts that aren't visible elsewhere: what the command runs, and where the config is read from. --- cli/relay/command.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/cli/relay/command.go b/cli/relay/command.go index bf04ea4..e26a9b1 100644 --- a/cli/relay/command.go +++ b/cli/relay/command.go @@ -230,13 +230,11 @@ func NewRelayCommand() *cobra.Command { cmd := &cobra.Command{ Use: "relay", Short: "Run and operate a Nostr relay", - Long: `Run the Nostr relay server. The subcommands operate a relay that is -already running, over NIP-98 authenticated HTTP. + Long: `Run the Nostr relay server. Subcommands operate an already-running relay +over NIP-98 authenticated HTTP. -The config is read from --config, the current relay context, or an -ncli.yaml or relay.yaml in the working directory, in that order. --c/--context runs against a named context, creating a minimal one backed -by a fresh identity if that name isn't saved yet.`, +Config is read from --config, the current relay context, then ncli.yaml +or relay.yaml in the working directory.`, Example: ` ncli relay --config relay.yaml ncli relay --context myrelay ncli relay stats --config relay.yaml`, From 1bd7b3da5a76ed8daf03aa6179590353821fcdb1 Mon Sep 17 00:00:00 2001 From: naliyi <154817482+naliyi@users.noreply.github.com> Date: Wed, 23 Sep 2026 16:31:20 +0000 Subject: [PATCH 2/4] docs(cli): say what each command does, not how it works Descriptions were explaining mechanism: which transport the admin subcommands use, that blobs are deduplicated by hash, that ping sends a Limit-1 subscription, the order config files are searched in. None of that helps anyone run the command. Stripped throughout. Four descriptions went away entirely once the mechanism was removed and only a restatement of the headline was left (blossom mirror, blossom report, blossom servers, relay). Headlines lost their internals too -- "daemon", "TUI", "worker status", "without restarting it". What stays is what a caller can't see elsewhere: what the output contains, what the exit code means, and which flags conflict. --- cli/blossom/command.go | 7 ++----- cli/blossom/download.go | 6 +----- cli/blossom/list.go | 5 +---- cli/blossom/mirror.go | 6 ++---- cli/blossom/report.go | 6 ++---- cli/blossom/rm.go | 7 +++---- cli/blossom/servers.go | 6 +----- cli/blossom/upload.go | 3 +-- cli/bunker/command.go | 37 ++++++++++++++++++------------------- cli/ncli/dump.go | 5 +---- cli/ncli/find.go | 6 +++--- cli/ncli/miner.go | 6 +++--- cli/ncli/ping.go | 6 +++--- cli/ncli/profile.go | 5 ++--- cli/ncli/publish.go | 7 +++---- cli/relay/admin.go | 6 +++--- cli/relay/command.go | 5 ----- cli/relay/context.go | 14 +++++--------- 18 files changed, 54 insertions(+), 89 deletions(-) diff --git a/cli/blossom/command.go b/cli/blossom/command.go index 2ead676..71a1ad5 100644 --- a/cli/blossom/command.go +++ b/cli/blossom/command.go @@ -14,11 +14,8 @@ func NewBlossomCommand() *cobra.Command { cmd := &cobra.Command{ Use: "blossom", Short: "Manage content on Blossom media servers", - Long: `A client for the Blossom protocol (BUD-01..12): content-addressed blob -storage authenticated with a Nostr identity. - -upload, rm and mirror write to every configured server and exit non-zero -if any fails. download reads from them in order until one answers.`, + Long: `A client for the Blossom protocol (BUD-01..12): file storage for Nostr +identities.`, Example: ` ncli blossom upload ./photo.jpg --identity satoshi ncli blossom download -o photo.jpg ncli blossom servers list`, diff --git a/cli/blossom/download.go b/cli/blossom/download.go index 514f13a..2de8342 100644 --- a/cli/blossom/download.go +++ b/cli/blossom/download.go @@ -29,11 +29,7 @@ func newDownloadCommand() *cobra.Command { cmd := &cobra.Command{ Use: "download ", Short: "Download a blob by hash, blossom: URI, or server URL", - Long: `Download a blob, given a bare sha256 hash, a "blossom:." URI -(BUD-10), or a server URL ending in a hash. Servers are tried in order -until one answers. - -Writes to --output, or to "." in the current directory. Use + Long: `Writes to --output, or to "." in the current directory. Use "-o -" to stream to stdout.`, Example: ` ncli blossom download ncli blossom download -o -`, diff --git a/cli/blossom/list.go b/cli/blossom/list.go index 84cfcd8..191ede3 100644 --- a/cli/blossom/list.go +++ b/cli/blossom/list.go @@ -25,10 +25,7 @@ func newListCommand() *cobra.Command { cmd := &cobra.Command{ Use: "list [identifier]", Short: "List blobs stored under a pubkey", - Long: `List the blobs a pubkey has stored on the first configured server, or on -every server with --all, merged and deduplicated by hash. - -identifier accepts a vault label, npub, hex pubkey, nprofile or nip-05 + Long: `identifier accepts a vault label, npub, hex pubkey, nprofile or nip-05 address, and defaults to --identity's pubkey.`, Example: ` ncli blossom list --identity satoshi ncli blossom list --identity satoshi --all diff --git a/cli/blossom/mirror.go b/cli/blossom/mirror.go index c34cf85..8e9169d 100644 --- a/cli/blossom/mirror.go +++ b/cli/blossom/mirror.go @@ -12,10 +12,8 @@ import ( func newMirrorCommand() *cobra.Command { cmd := &cobra.Command{ - Use: "mirror ", - Short: "Mirror a blob from a URL to your Blossom servers", - Long: `Ask every target server to fetch and store a blob from source-url. Each -server downloads it directly; no bytes pass through ncli.`, + Use: "mirror ", + Short: "Mirror a blob from a URL to your Blossom servers", Example: ` ncli blossom mirror https://example.com/file.jpg --identity satoshi`, Args: func(cmd *cobra.Command, args []string) error { if len(args) != 1 { diff --git a/cli/blossom/report.go b/cli/blossom/report.go index 85cfbca..b24e6be 100644 --- a/cli/blossom/report.go +++ b/cli/blossom/report.go @@ -12,10 +12,8 @@ import ( func newReportCommand() *cobra.Command { cmd := &cobra.Command{ - Use: "report ", - Short: "Report a blob to a Blossom server", - Long: `Submit a signed kind:1984 report event for a blob (BUD-09). Targets a -single server: --server, or the first configured one.`, + Use: "report ", + Short: "Report a blob to a Blossom server", Example: ` ncli blossom report --identity satoshi`, Args: func(cmd *cobra.Command, args []string) error { if len(args) != 1 { diff --git a/cli/blossom/rm.go b/cli/blossom/rm.go index 640717c..5416b1a 100644 --- a/cli/blossom/rm.go +++ b/cli/blossom/rm.go @@ -18,10 +18,9 @@ func newRmCommand() *cobra.Command { var yes bool cmd := &cobra.Command{ - Use: "rm ", - Short: "Delete a blob from your Blossom servers", - Long: `Delete a blob from every target server. Requires --yes in a -non-interactive session.`, + Use: "rm ", + Short: "Delete a blob from your Blossom servers", + Long: `Requires --yes in a non-interactive session.`, Example: ` ncli blossom rm --identity satoshi --yes`, Args: func(cmd *cobra.Command, args []string) error { if len(args) != 1 { diff --git a/cli/blossom/servers.go b/cli/blossom/servers.go index 77dcc1a..42c4a0b 100644 --- a/cli/blossom/servers.go +++ b/cli/blossom/servers.go @@ -20,7 +20,6 @@ func newServersCommand() *cobra.Command { cmd := &cobra.Command{ Use: "servers", Short: "Manage the default Blossom server list", - Long: `Manage the server list used when a command is given no --server flag.`, Example: ` ncli blossom servers list`, RunE: common.RequireSubcommand, } @@ -268,10 +267,7 @@ func newServersDiscoverCommand() *cobra.Command { cmd := &cobra.Command{ Use: "discover ", Short: "Show another identity's published server list", - Long: `Print the Blossom servers another identity has published, from their -most recent kind:10063 event (BUD-03). - -identifier accepts a vault label, npub, hex pubkey, nprofile or nip-05 + Long: `identifier accepts a vault label, npub, hex pubkey, nprofile or nip-05 address.`, Example: ` ncli blossom servers discover npub1...`, Args: common.ExactArgs(1), diff --git a/cli/blossom/upload.go b/cli/blossom/upload.go index 4b28700..c954a75 100644 --- a/cli/blossom/upload.go +++ b/cli/blossom/upload.go @@ -22,8 +22,7 @@ func newUploadCommand() *cobra.Command { cmd := &cobra.Command{ Use: "upload [file...]", Short: "Upload files to your Blossom servers", - Long: `Upload each file to every target server, reporting a result per (file, -server) pair. Exits non-zero if any pair fails. + Long: `Exits non-zero if any file fails on any server. --optimize requests server-side transcoding (BUD-05) instead of storing the bytes as-is.`, diff --git a/cli/bunker/command.go b/cli/bunker/command.go index 7010c0e..b1143a5 100644 --- a/cli/bunker/command.go +++ b/cli/bunker/command.go @@ -34,12 +34,12 @@ func NewBunkerCommand() *cobra.Command { cmd := &cobra.Command{ Use: "bunker", - Short: "Run ncli as a NIP-46 remote signer", - Long: `Listen on relays for other clients' NIP-46 signing requests and approve -or reject them from a TUI. Per-app decisions are remembered. + Short: "Sign other apps' events as a NIP-46 signer", + Long: `Approve or reject other clients' signing requests from a TUI. Per-app +decisions are remembered. -On Linux and macOS a background daemon keeps running when the TUI -closes. Reattach with "ncli bunker attach".`, +The signer keeps running when the TUI closes. Reattach with +"ncli bunker attach".`, Example: ` ncli bunker ncli bunker --identity satoshi ncli bunker attach`, @@ -89,10 +89,9 @@ func requireInteractive(cmd *cobra.Command) error { func newAttachCommand() *cobra.Command { return &cobra.Command{ - Use: "attach", - Short: "Reattach the TUI to a running bunker daemon", - Long: `Reconnect the TUI to a bunker daemon already running in the background. -Never starts one; fails if none is running.`, + Use: "attach", + Short: "Reattach to a running bunker", + Long: `Fails if no bunker is running; never starts one.`, Example: ` ncli bunker attach`, RunE: func(cmd *cobra.Command, args []string) error { if err := requireInteractive(cmd); err != nil { @@ -116,7 +115,7 @@ Never starts one; fails if none is running.`, func newStatusCommand() *cobra.Command { return &cobra.Command{ Use: "status", - Short: "Show whether a bunker daemon is running", + Short: "Show whether a bunker is running", Example: ` ncli bunker status`, RunE: func(cmd *cobra.Command, args []string) error { jsonMode, _ := cmd.Flags().GetBool("json") @@ -200,7 +199,7 @@ func printIdentityAndRelays(st StatusInfo) { func newStopCommand() *cobra.Command { return &cobra.Command{ Use: "stop", - Short: "Stop the running bunker daemon", + Short: "Stop the running bunker", Example: ` ncli bunker stop`, RunE: func(cmd *cobra.Command, args []string) error { jsonMode, _ := cmd.Flags().GetBool("json") @@ -256,7 +255,7 @@ func newSessionsCommand() *cobra.Command { cmd.AddCommand(&cobra.Command{ Use: "list", - Short: "List every app with a remembered permission", + Short: "List apps with remembered permissions", Example: ` ncli bunker sessions list`, RunE: func(cmd *cobra.Command, args []string) error { jsonMode, _ := cmd.Flags().GetBool("json") @@ -288,7 +287,7 @@ func newSessionsCommand() *cobra.Command { cmd.AddCommand(&cobra.Command{ Use: "revoke ", - Short: "Revoke every remembered permission for one app", + Short: "Revoke all of an app's permissions", Example: ` ncli bunker sessions revoke `, Args: common.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { @@ -318,7 +317,8 @@ func newSessionsCommand() *cobra.Command { cmd.AddCommand(&cobra.Command{ Use: "rename ", - Short: "Set (or clear, with \"\") a trusted app's display name", + Short: "Rename a trusted app", + Long: `Pass an empty name to clear it.`, Example: ` ncli bunker sessions rename "My Wallet"`, Args: common.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) error { @@ -392,7 +392,7 @@ func newSessionsCommand() *cobra.Command { revokeGrantCmd := &cobra.Command{ Use: "revoke-grant ", - Short: "Revoke one remembered permission, leaving the rest", + Short: "Revoke one of an app's permissions", Example: ` ncli bunker sessions revoke-grant --method sign_event`, Args: common.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { @@ -500,10 +500,9 @@ func newHistoryCommand() *cobra.Command { func newConnectCommand() *cobra.Command { cmd := &cobra.Command{ Use: "connect [nostrconnect-uri]", - Short: "Pair an app with a running bunker daemon", - Long: `Print a fresh bunker:// URI for another Nostr app to connect to. Given a -nostrconnect:// URI, start that pairing instead and block until the -client confirms or it times out. + Short: "Pair an app with a running bunker", + Long: `With no argument, prints a bunker:// URI for another app to connect to. +Given a nostrconnect:// URI, pairs with that app instead. --grants pre-authorizes the paired app from a YAML permission file instead of prompting on first use.`, diff --git a/cli/ncli/dump.go b/cli/ncli/dump.go index 72d0d18..f6343e4 100644 --- a/cli/ncli/dump.go +++ b/cli/ncli/dump.go @@ -18,10 +18,7 @@ import ( var dumpCmd = &cobra.Command{ Use: "dump", Short: "Export events to JSON", - Long: `Export events matching a filter to a JSON file, merged and deduplicated -by event ID across all targets. - ---targets cannot be combined with --relays or the inline filter flags. + Long: `--targets cannot be combined with --relays or the inline filter flags. Omit both to use the relays from "ncli prefs relays".`, Example: ` ncli dump -o events.json ncli dump -t targets.yaml -o events.json diff --git a/cli/ncli/find.go b/cli/ncli/find.go index 72df8a0..b1aa1b6 100644 --- a/cli/ncli/find.go +++ b/cli/ncli/find.go @@ -18,9 +18,9 @@ var ( findCmd = &cobra.Command{ Use: "find [identifier]", Short: "Query events by ID and/or filter", - Long: `Query events across relays and local stores, stopping at the first -target with a match. An npub or nip-05 identifier returns that author's -profile unless --kinds widens it. Prints a single JSON array. + Long: `Returns the first target's matches as a single JSON array. An npub or +nip-05 identifier returns that author's profile unless --kinds widens +it. --targets cannot be combined with --relays or the inline filter flags. Omit both to use the relays from "ncli prefs relays".`, diff --git a/cli/ncli/miner.go b/cli/ncli/miner.go index c7ca6ce..a2dbda7 100644 --- a/cli/ncli/miner.go +++ b/cli/ncli/miner.go @@ -29,7 +29,7 @@ var minerCmd = &cobra.Command{ var minerMineCmd = &cobra.Command{ Use: "mine", - Short: "Mine proof-of-work into an unsigned event", + Short: "Mine proof-of-work into an event", Long: `Mine NIP-13 proof-of-work for an event across multiple CPU cores. The event comes from --event, or inline from --content/--content-file; @@ -265,8 +265,8 @@ func parseTagFlags(pairs []string) ([][]string, error) { var minerCheckCmd = &cobra.Command{ Use: "check", Short: "Verify proof-of-work", - Long: `Verify NIP-13 proof-of-work on already-mined events, read from --events -or fetched live from every target. Exits non-zero if any event fails. + Long: `Checks events from --events, or fetched live. Exits non-zero if any +event fails. --targets cannot be combined with --relays or the inline filter flags. Omit both to use the relays from "ncli prefs relays".`, diff --git a/cli/ncli/ping.go b/cli/ncli/ping.go index 3971e50..e867390 100644 --- a/cli/ncli/ping.go +++ b/cli/ncli/ping.go @@ -15,11 +15,11 @@ import ( var pingCmd = &cobra.Command{ Use: "ping [relay...]", Short: "Test relay connectivity", - Long: `Probe each relay with a Limit-1 subscription. Local store paths are -skipped. Exits non-zero if any relay is unreachable. + Long: `Exits non-zero if any relay is unreachable. Local store paths are +skipped. --targets cannot be combined with relay arguments. Omit both to use the -relays from "ncli prefs relays". --tui shows a live board.`, +relays from "ncli prefs relays".`, Example: ` ncli ping wss://relay.example.com ncli ping -t targets.yaml ncli ping --tui wss://relay.example.com`, diff --git a/cli/ncli/profile.go b/cli/ncli/profile.go index b5810ff..65c5612 100644 --- a/cli/ncli/profile.go +++ b/cli/ncli/profile.go @@ -63,9 +63,8 @@ func newProfileCommand() *cobra.Command { cmd := &cobra.Command{ Use: "profile ", Short: "Display an identity's published profile", - Long: `Display the profile metadata, following count, relay list, Blossom -servers and lightning address published by an identity. Records are -merged across all targets.`, + Long: `Shows the profile metadata, following count, relay list, Blossom +servers and lightning address an identity has published.`, Example: ` ncli profile npub1... ncli profile name@example.com ncli profile satoshi --json`, diff --git a/cli/ncli/publish.go b/cli/ncli/publish.go index f2470a7..7dcd288 100644 --- a/cli/ncli/publish.go +++ b/cli/ncli/publish.go @@ -14,11 +14,10 @@ import ( var publishCmd = &cobra.Command{ Use: "publish", Short: "Publish signed events to one or more relays", - Long: `Send already-signed events to every target relay and wait for each -relay's OK. --events accepts a single event or an array. + Long: `--events accepts a single event or an array. Exits non-zero if any +event fails on any relay. -Omit --relays to use the relays from "ncli prefs relays". Exits non-zero -if any event fails on any relay.`, +Omit --relays to use the relays from "ncli prefs relays".`, Example: ` ncli publish -e signed.json ncli publish -e signed.json -s wss://relay.example.com`, Args: func(cmd *cobra.Command, args []string) error { diff --git a/cli/relay/admin.go b/cli/relay/admin.go index 2f7355f..0d58d89 100644 --- a/cli/relay/admin.go +++ b/cli/relay/admin.go @@ -46,7 +46,7 @@ var ( func addRemoteAdminCommands(cmd *cobra.Command) { statsCmd := &cobra.Command{ Use: "stats", - Short: "Show live relay metrics and worker status", + Short: "Show live relay metrics", Example: ` ncli relay stats --config relay.yaml`, RunE: runStats, } @@ -54,7 +54,7 @@ func addRemoteAdminCommands(cmd *cobra.Command) { reindexCmd := &cobra.Command{ Use: "reindex", - Short: "Reindex a running relay without restarting it", + Short: "Rebuild a relay's indexes while it runs", Example: ` ncli relay reindex search --config relay.yaml`, RunE: common.RequireSubcommand, } @@ -64,7 +64,7 @@ func addRemoteAdminCommands(cmd *cobra.Command) { clearCmd := &cobra.Command{ Use: "clear", - Short: "Clear a running relay's indexes without restarting it", + Short: "Delete a relay's indexes while it runs", Example: ` ncli relay clear search --config relay.yaml`, RunE: common.RequireSubcommand, } diff --git a/cli/relay/command.go b/cli/relay/command.go index e26a9b1..94ef580 100644 --- a/cli/relay/command.go +++ b/cli/relay/command.go @@ -230,11 +230,6 @@ func NewRelayCommand() *cobra.Command { cmd := &cobra.Command{ Use: "relay", Short: "Run and operate a Nostr relay", - Long: `Run the Nostr relay server. Subcommands operate an already-running relay -over NIP-98 authenticated HTTP. - -Config is read from --config, the current relay context, then ncli.yaml -or relay.yaml in the working directory.`, Example: ` ncli relay --config relay.yaml ncli relay --context myrelay ncli relay stats --config relay.yaml`, diff --git a/cli/relay/context.go b/cli/relay/context.go index a4fba81..6ac5d15 100644 --- a/cli/relay/context.go +++ b/cli/relay/context.go @@ -22,12 +22,9 @@ import ( func addContextCommands(cmd *cobra.Command) { contextCmd := &cobra.Command{ Use: "context", - Short: "List or switch the current relay config context", + Short: "List or switch the current relay context", Long: `List saved relay contexts (name -> config file path), marking the -current one with "*". - -A relay command uses the current context when --config is omitted, in -preference to any ncli.yaml or relay.yaml in the working directory.`, +current one with "*".`, Example: ` ncli relay context list`, Args: common.NoArgs, RunE: runContextList, @@ -63,10 +60,9 @@ preference to any ncli.yaml or relay.yaml in the working directory.`, contextCmd.AddCommand(removeCmd) useCmd := &cobra.Command{ - Use: "use ", - Short: "Switch the current relay context", - Long: `Set name as the current relay context. Relay commands use its config -file whenever --config is omitted.`, + Use: "use ", + Short: "Switch the current relay context", + Long: `Relay commands use the current context whenever --config is omitted.`, Example: ` ncli relay context use myrelay`, Args: common.ExactArgs(1), RunE: runContextUse, From 6b72b35133fbc8f1a0d1bee68e732bca43b66649 Mon Sep 17 00:00:00 2001 From: naliyi <154817482+naliyi@users.noreply.github.com> Date: Wed, 23 Sep 2026 16:34:22 +0000 Subject: [PATCH 3/4] docs(cli): drop descriptions that restated their headline A sweep across all 71 commands found the last of the mechanism wording (bunker still said "TUI" twice) and fourteen descriptions that mostly repeated the line above them. Four are gone entirely -- apply, miner, prefs, prefs relays -- and the rest keep only what the headline doesn't already say: that roles can't be deleted, that members add skips the invite flow, which flags conflict. --- cli/bunker/command.go | 6 +++--- cli/delegate/command.go | 4 ++-- cli/ncli/apply.go | 1 - cli/ncli/miner.go | 5 +---- cli/ncli/prefs.go | 2 -- cli/relay/admin.go | 9 ++++----- cli/relay/context.go | 2 +- 7 files changed, 11 insertions(+), 18 deletions(-) diff --git a/cli/bunker/command.go b/cli/bunker/command.go index b1143a5..f6b159f 100644 --- a/cli/bunker/command.go +++ b/cli/bunker/command.go @@ -35,10 +35,10 @@ func NewBunkerCommand() *cobra.Command { cmd := &cobra.Command{ Use: "bunker", Short: "Sign other apps' events as a NIP-46 signer", - Long: `Approve or reject other clients' signing requests from a TUI. Per-app -decisions are remembered. + Long: `Approve or reject other clients' signing requests as they arrive. +Per-app decisions are remembered. -The signer keeps running when the TUI closes. Reattach with +The signer keeps running after you close it. Reattach with "ncli bunker attach".`, Example: ` ncli bunker ncli bunker --identity satoshi diff --git a/cli/delegate/command.go b/cli/delegate/command.go index bd0ddc3..e6812b4 100644 --- a/cli/delegate/command.go +++ b/cli/delegate/command.go @@ -28,8 +28,8 @@ func NewDelegateCommand() *cobra.Command { cmd := &cobra.Command{ Use: "delegate", Short: "Generate a NIP-26 delegation token", - Long: `Create and sign a NIP-26 delegation token. Runs an interactive wizard -unless --issuer is set, via the flag or NCLI_DELEGATE_ISSUER. + Long: `Runs an interactive wizard unless --issuer is set, via the flag or +NCLI_DELEGATE_ISSUER. --issuer and --delegatee accept a vault label, nsec, npub, hex pubkey, nprofile or nip-05 address, and must resolve to a private key.`, diff --git a/cli/ncli/apply.go b/cli/ncli/apply.go index e1e5c1f..d99f0bc 100644 --- a/cli/ncli/apply.go +++ b/cli/ncli/apply.go @@ -15,7 +15,6 @@ var ( applyCmd = &cobra.Command{ Use: "apply", Short: "Run a stream, sync, or inspect workflow", - Long: `Run a stream, sync, or inspect workflow defined in a YAML config file.`, Example: ` ncli apply -f sync.yaml ncli apply -f sync.yaml --strict-pow`, Args: func(cmd *cobra.Command, args []string) error { diff --git a/cli/ncli/miner.go b/cli/ncli/miner.go index a2dbda7..e881332 100644 --- a/cli/ncli/miner.go +++ b/cli/ncli/miner.go @@ -22,7 +22,6 @@ import ( var minerCmd = &cobra.Command{ Use: "miner", Short: "Mine and verify proof-of-work", - Long: `Mine NIP-13 proof-of-work into an unsigned event, or verify PoW on already-mined events.`, Example: ` ncli miner mine -e event.json -o mined.json`, RunE: common.RequireSubcommand, } @@ -30,9 +29,7 @@ var minerCmd = &cobra.Command{ var minerMineCmd = &cobra.Command{ Use: "mine", Short: "Mine proof-of-work into an event", - Long: `Mine NIP-13 proof-of-work for an event across multiple CPU cores. - -The event comes from --event, or inline from --content/--content-file; + Long: `The event comes from --event, or inline from --content/--content-file; these cannot be combined. Exactly one of --out or --in-place is required. A mined event is signed if --identity resolves to a private key.`, diff --git a/cli/ncli/prefs.go b/cli/ncli/prefs.go index 1c03fca..15fb4c0 100644 --- a/cli/ncli/prefs.go +++ b/cli/ncli/prefs.go @@ -12,7 +12,6 @@ import ( var prefsCmd = &cobra.Command{ Use: "prefs", Short: "Manage persistent ncli preferences", - Long: `Manage the preferences ncli persists across projects.`, Example: ` ncli prefs relays list`, RunE: common.RequireSubcommand, } @@ -20,7 +19,6 @@ var prefsCmd = &cobra.Command{ var prefsRelaysCmd = &cobra.Command{ Use: "relays", Short: "Manage the default relay list", - Long: `Manage the relay list used when a command is given no explicit targets.`, Example: ` ncli prefs relays list`, RunE: common.RequireSubcommand, } diff --git a/cli/relay/admin.go b/cli/relay/admin.go index 0d58d89..00a7f8b 100644 --- a/cli/relay/admin.go +++ b/cli/relay/admin.go @@ -99,7 +99,7 @@ func addMembershipAdminCommands(cmd *cobra.Command) { }) membersAddCmd := &cobra.Command{ Use: "add ", Short: "Enroll a pubkey as a member", - Long: `Enroll a pubkey as a member directly, without an invite code.`, + Long: `No invite code required.`, Example: ` ncli relay members add --config relay.yaml ncli relay members add --role member --config relay.yaml`, Args: common.ExactArgs(1), RunE: runMembersAdd, @@ -121,8 +121,7 @@ func addMembershipAdminCommands(cmd *cobra.Command) { } invitesCreateCmd := &cobra.Command{ Use: "create", Short: "Issue a new invite code", - Long: `Issue an invite code to hand out before the invitee has a working Nostr -client.`, + Long: `For handing out before the invitee has a working Nostr client.`, Example: ` ncli relay invites create --config relay.yaml ncli relay invites create --ttl 24h --max-uses 10 --config relay.yaml`, RunE: runInvitesCreate, @@ -156,8 +155,8 @@ client.`, }) rolesCreateCmd := &cobra.Command{ Use: "create ", Short: "Create a role definition", - Long: `Create a role definition, or supersede an existing one. NIP-43 has no -delete: re-run with the same id to replace it.`, + Long: `NIP-43 has no delete for roles: re-run with the same id to replace +one.`, Example: ` ncli relay roles create moderator --label Moderator --config relay.yaml`, Args: common.ExactArgs(1), RunE: runRolesCreate, } diff --git a/cli/relay/context.go b/cli/relay/context.go index 6ac5d15..b445f09 100644 --- a/cli/relay/context.go +++ b/cli/relay/context.go @@ -33,7 +33,7 @@ current one with "*".`, listCmd := &cobra.Command{ Use: "list", Short: "List saved relay contexts", - Long: `List saved relay contexts, marking the current one with "*".`, + Long: `Marks the current context with "*".`, Example: ` ncli relay context list`, Args: common.NoArgs, RunE: runContextList, From 35a52c92a8f663440dbb6b72b26887ae7243896b Mon Sep 17 00:00:00 2001 From: naliyi <154817482+naliyi@users.noreply.github.com> Date: Wed, 23 Sep 2026 16:35:03 +0000 Subject: [PATCH 4/4] docs: add the PR backreference to the changelog (#62) --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9066a18..c0e038b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,8 +29,8 @@ - Updated `nmilat` to v0.4.0. - Rewrote every command's `--help` description in a flatter style: each one now states what the command does, with the rules a caller can't - guess stated plainly, instead of explaining the reasoning behind it. - (#61) + guess stated plainly, instead of explaining how it works internally. + (#61, #62) ### Fixed