npm install -g @pbnjs/cliOr use without installing:
npx @pbnjs/cli myfile.py# Configure your pbnj instance
pbnj --init
# Paste a file
pbnj script.py
# → https://pbnj.sh/crunchy-peanut-butter-toast (copied to clipboard)
# Pipe content
cat error.log | pbnj
# List your pastes
pbnj list
# Update an existing paste
pbnj -u crunchy-peanut-butter-toast newfile.py
# Delete a paste
pbnj -d crunchy-peanut-butter-toastConfigure your pbnj instance:
pbnj --initThis will prompt you for:
- Host URL: Your pbnj instance URL
- Auth Key: Your secret key for creating pastes
Configuration is saved to ~/.pbnj.
Alternatively, use environment variables:
export PBNJ_HOST=https://your-instance.workers.dev
export PBNJ_AUTH_KEY=your-secret-key# From a file
pbnj script.py
# From stdin
cat error.log | pbnj
echo "console.log('hello')" | pbnj -L javascript
# With custom filename
pbnj -f "app.js" - < code.txt# Update with new file content
pbnj -u <paste-id> newfile.py
# Update from stdin
cat updated.log | pbnj -u <paste-id># List recent pastes (default: 10)
pbnj list
# List more pastes
pbnj list --limit 20pbnj -d <paste-id>| Option | Description |
|---|---|
-L, --language <lang> |
Override automatic language detection |
-f, --filename <name> |
Set filename for the paste |
-u, --update <id> |
Update an existing paste |
-d, --delete <id> |
Delete a paste by ID |
-p, --private |
Create a private (unlisted) paste |
-s, --secret <key> |
Set a secret key for private paste |
-h, --help |
Show help |
-v, --version |
Show version |
--init |
Configure your pbnj instance |
| Option | Description |
|---|---|
-l, --limit <n> |
Number of pastes to show (default: 10) |
The CLI automatically detects language from file extensions:
- JavaScript (
.js,.jsx) - TypeScript (
.ts,.tsx) - Python (
.py) - Rust (
.rs) - Go (
.go) - Ruby (
.rb) - And 30+ more...
MIT
