ngit repo init
create and publish a new repository on nostr (alias for ngit init)
Parent command: ngit repo
Related guide: Repositories
Upcoming command surface
This page is generated from an unreleased ngit commit. Its interface may change before the next release.
Usage
text
Usage: ngit repo init [OPTIONS]Arguments and options
| Input | Description | Details |
|---|---|---|
--name <NAME> | name of repository (preferred over --identifier); --title is an alias | — |
--identifier <IDENTIFIER> | shortname with no spaces or special characters | — |
--description <DESCRIPTION> | optional description | — |
-g, --grasp-server <GRASP_SERVER> | where your git+nostr data is hosted | repeatable; values per use 1+ |
--additional-relay <ADDITIONAL_RELAY> | additional relays beyond grasp servers | repeatable; values per use 1+ |
--additional-clone <ADDITIONAL_CLONE> | additional git server URLs beyond grasp servers | repeatable |
--web <WEB> | homepage | repeatable; values per use 1+ |
-u, --u <UPSTREAM> | informational NIP-34 subordinate-fork u tag fields | repeatable; values per use 1+ |
--hashtag <HASHTAG> | hashtags for repository discovery | repeatable; values per use 1+ |
--earliest-unique-commit <EARLIEST_UNIQUE_COMMIT> | usually root commit but will be more recent commit for forks | — |
--clean | drop unknown tags from the existing announcement when republishing (default is to preserve them so tags added by future ngit versions or third-party tools aren't silently lost) | — |
--private | mark the repository private and restrict discovery to its repository relays | conflicts with --public |
--public | remove the private marker from this maintainer's announcement | conflicts with --private |
-n, --nsec <NSEC> | nsec or hex private key | global; conflicts with --nbunksec <NBUNKSEC>, --nbunksec-file <PATH>, --nsec-file <PATH>, --signer <NPUB|ALIAS|NAME> |
--nsec-file <PATH> | read an nsec or hex private key from a path resolving to a regular file | global; conflicts with --nbunksec <NBUNKSEC>, --nbunksec-file <PATH>, -n, --nsec <NSEC>, --signer <NPUB|ALIAS|NAME> |
--nbunksec <NBUNKSEC> | established remote signer connection encoded as nbunksec | global; conflicts with --nbunksec-file <PATH>, -n, --nsec <NSEC>, --nsec-file <PATH>, --signer <NPUB|ALIAS|NAME> |
--nbunksec-file <PATH> | read an nbunksec connection from a path resolving to a regular file | global; conflicts with --nbunksec <NBUNKSEC>, -n, --nsec <NSEC>, --nsec-file <PATH>, --signer <NPUB|ALIAS|NAME> |
--signer <NPUB|ALIAS|NAME> | use a configured signer by npub, alias, or cached profile name for this command | global; conflicts with --nbunksec <NBUNKSEC>, --nbunksec-file <PATH>, -n, --nsec <NSEC>, --nsec-file <PATH> |
-c, --customize | show customization options via git config | global |
-d, --defaults | Use default values without prompting (non-interactive mode) | global; conflicts with -i, --interactive |
-i, --interactive | Enable interactive prompts (default behavior) | global; conflicts with -d, --defaults, --json |
-f, --force | Force operations, bypass safety guards | global |
-v, --verbose | Enable verbose output | global |
--repo-relay-only | Only publish nostr events to repository relays, not user or default relays | global |
--repo <REMOTE|NADDR|NOSTR-URL> | Target repository for repo-scoped operations. Accepts a configured nostr:// remote name, an naddr, or a nostr:// URL. Overrides nostr.repo, tracked-upstream, and remote-based auto-detection. Available at any command position: ngit --repo upstream send ngit issue --repo upstream create ngit issue create --repo upstream | global |
--json | Output one machine-readable JSON document on stdout | global; conflicts with -i, --interactive |
-h, --help | Print help (see a summary with '-h') | — |
-V, --version | Print version | — |