nostr-bray

// the command atlas

The same tool in two languages.

Everything bray does for an assistant it also does from a terminal. Below are all 114 commands the CLI ships, each beside the plain-English way to ask an assistant for the same thing. Hover either side and its twin lights up; click either side to copy it. Where a row says to stay in the terminal, that is deliberate: recovery words, raw keys and connection secrets should never enter an AI conversation, so those commands print to your screen and nowhere else.

01

IDENTITY

Who you are: create it, split it into personas, prove the links between them, and back the whole tree up.

Keep this one in the terminal. The 24 recovery words print to your screen and never enter an AI conversation.
02

SOCIAL

The everyday rhythm: posting, replying, messaging, feeds, files and groups.

03

TRUST

Bray’s centre of gravity: attest to what you have verified, vouch for who you know, and prove things without oversharing.

04

RELAY

Where your events live, and how to interrogate the servers that hold them.

05

SYNC

Filter-based copying of events between relays and files.

06

ADMIN

NIP-86 management for a relay you run.

07

WALLET

NIP-47 Nostr Wallet Connect: a Lightning wallet on a leash it cannot slip.

Keep it in the terminal. An NWC URI carries its own secret, and secrets do not belong in a conversation.
08

ZAP

Money as a first-class verb.

09

SAFETY

A parallel identity for the day someone insists on seeing your phone.

10

UTILITY

The toolbox: query, build, encode, verify, encrypt.

Terminal territory. It streams live events until you press Ctrl-C.
Terminal only. It takes a raw secret key as input.
Terminal only. It takes your secret key as input.
Terminal only. Your secret key and password stay off the record.
Terminal only. Same reason: the secret never enters a conversation.
11

MUSIG2

BIP-327 multi-signature ceremonies, step by step. Raw signing secrets ride the arguments at every stage, so this whole group lives in the terminal.

Terminal territory. Generates a signing key pair.
Terminal territory. The secret nonce must never leave your machine.
Terminal territory. Your secret key and nonce are arguments.
Terminal territory. Combines everyone’s partial signatures.
12

MODES

The long-running shapes bray can take.

This one is the assistant side itself. Point your MCP client at it and every row above becomes something you can say.
Terminal territory. Runs an in-memory test relay until you stop it.
Keep it in the terminal. A bunker URI carries its own secret.
Terminal territory. Bunker administration lives beside the daemon.
Terminal territory. Shows the saved bunker connection state.
Terminal territory. One-shot signing of an event template via the bunker.
Terminal territory. A NIP-46 remote signer that runs until you stop it.
Terminal territory. The whole CLI as a conversation of its own.
13

ENVIRONMENT AND FLAGS

The CLI reads its identity and relays from the environment, so scripts and shells stay free of secrets on the command line.

NOSTR_SECRET_KEY_FILE
Path to a file holding your nsec, hex key or mnemonic. The recommended shape: the key lives in a file only you can read, never in shell history.
NOSTR_SECRET_KEY
The key itself, for environments that inject secrets directly. Prefer the file variant on a desktop machine.
BUNKER_URI / BUNKER_URI_FILE
A bunker:// URI for remote signing. Use instead of a local secret key: the key stays on the signing device.
NOSTR_RELAYS
Comma-separated relay URLs to use by default.
NWC_URI / NWC_URI_FILE
Nostr Wallet Connect URI for zaps and payments.
NOSTR_BRAY_OUTPUT
Default output style: human (default) or json. Per-command, --json and --human override it either way, which makes every command pipe-friendly.
TOR_PROXY
SOCKS5h proxy URL, for reaching relays over Tor.