Command Reference
nsyte provides a comprehensive set of commands for managing nostr sites. Each command is documented in detail on its own page.
Core Commands
Project Management
nsyte init— Initialize a new nsyte project with configurationnsyte config— Interactive configuration editornsyte validate— Validate your nsyte configuration file (alias:val)
File Operations
nsyte deploy— Deploy files to nostr relays and blossom servers (aliases:upload,dpl)nsyte sites— List all published sites for a pubkeynsyte list— List published files (alias:ls)nsyte browse— Interactive TUI browser for managing filesnsyte download— Download all published files (alias:dl)nsyte get— Download a single file from a site manifestnsyte put— Upload a single file into an existing site manifestnsyte delete— Selectively remove published files (aliases:purge,prg)nsyte undeploy— Completely remove a deployed sitensyte snapshot— Publish an immutable snapshot event for the current sitensyte status— Inspect manifest history, relay coverage, and server availability
Development
nsyte serve— Serve files locally for development (alias:srv)nsyte run— Run resolver server with npub subdomains (alias:rn)nsyte debug— Debug nsites by checking relays and serversnsyte announce— Publish app handler announcements and metadata events (alias:annc)nsyte scan— Scan files for secrets before deploying
Authentication
nsyte bunker— Manage NIP-46 bunker connectionsnsyte ci— Generate CI/CD credentials (nbunksec)
Global Options
Every nsyte subcommand inherits a small set of global options (e.g. --config, --created-at). See Global Options for the complete list.
Authentication Options
Many commands support unified authentication:
--sec <secret>— Secret for signing (auto-detects format: nsec, nbunksec, bunker://, or 64-char hex)
The --sec flag automatically detects the format of your secret:
nsec1...- Nostr private key (bech32)nbunksec...- Encoded bunker credentialsbunker://...- Bunker URL with relay and optional secret- 64-character hex string - Raw private key
If not provided, commands will use the bunker configured in .nsite/config.json or prompt for authentication.
Configuration
nsyte uses a configuration file at .nsite/config.json which can store:
- Default relays
- Default blossom servers
- Bunker connections
- Project metadata
Use nsyte init to create a new configuration or nsyte validate to check an existing one.
Environment Variables
LOG_LEVEL— Logging level:none,error,warn,info,debug(default:info)NSITE_DISPLAY_MODE— Display mode:interactive,non-interactive,debug(default:interactive)NSYTE_DISABLE_KEYCHAIN— Disable native keychain, use encrypted file storage (set totrue)NSYTE_TEST_MODE— Enable test mode, disables keychain (set totrue)NSYTE_FORCE_ENCRYPTED_STORAGE— Force encrypted file storage instead of OS keychain (set totrue)
Getting Started
Initialize a new project:
bashnsyte initDeploy your site:
bashnsyte deploy ./distView your published files:
bashnsyte browse
Common Workflows
Publishing a Website
bash
# Initialize project
nsyte init
# Deploy files
nsyte deploy ./dist --publish-profile --publish-relay-list
# Verify deployment
nsyte listManaging Files
bash
# Interactive file browser
nsyte browse
# List files in terminal
nsyte list
# Remove specific files
nsyte delete --include-blobsCI/CD Integration
bash
# Generate CI credentials
nsyte ci
# Use in CI pipeline
nsyte deploy ./dist --sec $NBUNK_SECRET