# Command-Line Usage ## Philosophy `n34` emphasizes simplicity by exclusively handling Nostr tasks, requiring users to manage Git operations themselves. For instance, it won't merge or rebase patches into a branch but will prompt you to specify where to write them, allowing you to merge them using `git-am`. Similarly, when sending patches, it won't ask for the commits but will request the patch files instead. This approach enhances simplicity and freedom, giving you full control over your workflow. Additionally, it simplifies software maintenance by avoiding unnecessary complexity. ## Options The `n34` command-line tool accepts the following options: - `-s`, `--secret-key`: Your Nostr secret key (in `nsec` format), used for signing events. - `-b`, `--bunker-url`: The URL of a NIP-46 bunker service used for remote signing of events. - `-7`, `--nip07`: Enables signing events using the browser's NIP-07 extension. Listens on `127.0.0.1:51034`. You can configure the address with `n34 config nip07` - `-r`, `--relays`: A relay to read from and write to. This option can be specified multiple times to connect to several relays. - `--pow`: Sets the Proof of Work difficulty required when creating events. - `--config`: Specifies a custom path to the configuration file (Default: `$HOME/.config/n34/config.toml`). - `-v`, `--verbose...`: Increases the logging verbosity. Can be used multiple times for more detail (e.g., `-v`, `-vv`). **Note:** The `--secret-key`, `--nip07` and `--bunker-url` options are mutually exclusive. You must provide exactly one signing method. ## Multiple Repositories Commands that interact with a repository, such as submitting an issue or a patch, can accept multiple repository addresses (`naddr`). This feature is useful for projects with multiple maintainers who each have their own repository fork. > **Important:** When you provide multiple repositories, `n34` does not create a separate issue or patch for each one. Instead, it creates a single event that references all of the specified repositories. ## The `nostr-address` File The `nostr-address` file is a plain text file that stores a list of project repository addresses. This allows the `n34` to find and use them without requiring you to enter the addresses manually. ### Format - Each line must contain a single addressable event coordinate `naddr` which is the repository address. - Lines beginning with a `#` are treated as comments and are ignored. - Empty lines are also ignored. ## Passing repositories By default, `n34` will look for a `nostr-address` file to extract repositories from it. This is why repositories are not required for commands like `patch send` and `issue new`. You can also pass repositories using the `--repo` option or the `` argument for commands that accept them. The supported formats for manual input are: - A [NIP-19] addressable event coordinate `naddr`. - A [NIP-05] identifier and repository name, in the format `/`. - A set name that contains repository addresses. You do not need to specify relays for these commands if your `naddr` or `NIP-05` identifier already includes relays; `n34` will automatically extract them. [NIP-19]: https://github.com/nostr-protocol/nips/blob/master/19.md [NIP-05]: https://github.com/nostr-protocol/nips/blob/master/05.md