Add extension metadata and screenshots for LNbits UI (#46)

* Add extension metadata and screenshots for LNbits UI

- Update description.md with comprehensive explanation of relay multiplexer
- Add screenshots array to config.json pointing to 1.jpeg and 2.jpeg
- Change short_description to "Nostr relay multiplexer" for clarity
- Create extensions.json with nostrclient-dev entries for testing
- Add CLAUDE.md for future Claude Code instances

Fixes #41

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Change extension name to 'Nostr Client Dev'

Rename extension from 'Nostr Client' to 'Nostr Client Dev' to distinguish from the official extension.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* FIX: Ensure valid json

Wrap extensions array in object with "featured" and "extensions" keys to match LNbits Manifest format. This fixes the "1 validation error for Manifest" issue.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update config.json format for LNbits UI display

- Change name to "Nostr Client Dev" to match extensions.json
- Replace "screenshots" with "images" array using proper format
- Add "description_md" URL for full description display

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Crop screenshot 1 to match height of screenshot 2

Crop bottom of 1.jpeg to make both screenshots the same height (1557px) for consistent display in LNbits UI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Remove headings from description.md

Remove markdown headings for cleaner display in LNbits extension UI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Change name back to 'Nostr Client' in config.json

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Delete CLAUDE.md

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com>
This commit is contained in:
Ben Weeks 2025-12-11 15:38:34 +00:00 committed by GitHub
parent 5a078f2bfc
commit 507003ac20
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 61 additions and 3 deletions

View file

@ -1,8 +1,17 @@
{
"name": "Nostr Client",
"short_description": "Nostr relay multiplexer",
"version": "1.1.0",
"short_description": "Nostr client for extensions",
"tile": "/nostrclient/static/images/nostr-bitcoin.png",
"contributors": ["calle", "motorina0", "dni"],
"min_lnbits_version": "1.0.0"
"min_lnbits_version": "1.0.0",
"images": [
{
"uri": "https://raw.githubusercontent.com/lnbits/nostrclient/add-extension-metadata/static/images/1.jpeg"
},
{
"uri": "https://raw.githubusercontent.com/lnbits/nostrclient/add-extension-metadata/static/images/2.jpeg"
}
],
"description_md": "https://raw.githubusercontent.com/lnbits/nostrclient/add-extension-metadata/description.md"
}

View file

@ -1 +1,8 @@
An always-on extension that can open multiple connections to nostr relays and act as a multiplexer for other clients: You open a single websocket to nostrclient which then sends the data to multiple relays. The responses from these relays are then sent back to the client.
An always-on relay multiplexer that simplifies connecting to multiple Nostr relays.
Instead of your Nostr client managing connections to dozens of relays, you connect to a single WebSocket endpoint provided by `nostrclient`, which then fans out your requests to all configured relays and aggregates the responses back to you.
- **Simplified Client Configuration** - Connect to one endpoint instead of managing multiple relay connections
- **Always-On Connectivity** - Your LNbits instance maintains persistent connections to relays
- **Resource Efficient** - Share relay connections across multiple clients
- **Automatic Subscription Management** - Subscription ID rewriting prevents conflicts between clients

42
extensions.json Normal file
View file

@ -0,0 +1,42 @@
{
"featured": [],
"extensions": [
{
"id": "nostrclient-dev",
"repo": "https://github.com/BenGWeeks/nostrclient",
"name": "Nostr Client Dev",
"version": "0.3.7",
"min_lnbits_version": "0.11.0",
"max_lnbits_version": "0.12.0",
"short_description": "Nostr relay multiplexer",
"icon": "https://raw.githubusercontent.com/BenGWeeks/nostrclient/add-extension-metadata/static/images/nostr-bitcoin.png",
"archive": "https://github.com/BenGWeeks/nostrclient/archive/refs/heads/add-extension-metadata.zip",
"hash": "61323bb77a48614cde18b2a6fd424306cbff8cafc6fc4a7a4222270a52fa4bf5"
},
{
"id": "nostrclient-dev",
"repo": "https://github.com/BenGWeeks/nostrclient",
"name": "Nostr Client Dev",
"version": "0.4.0",
"min_lnbits_version": "0.12.0",
"max_lnbits_version": "1.0.0",
"short_description": "Nostr relay multiplexer",
"icon": "https://raw.githubusercontent.com/BenGWeeks/nostrclient/add-extension-metadata/static/images/nostr-bitcoin.png",
"archive": "https://github.com/BenGWeeks/nostrclient/archive/refs/heads/add-extension-metadata.zip",
"hash": "4c81c251049599ef0ee32393b45fe5e4870ab02772dadb34e489b1a247411eca",
"details_link": "https://raw.githubusercontent.com/BenGWeeks/nostrclient/add-extension-metadata/config.json"
},
{
"id": "nostrclient-dev",
"repo": "https://github.com/BenGWeeks/nostrclient",
"name": "Nostr Client Dev",
"version": "1.0.1",
"min_lnbits_version": "1.0.0",
"short_description": "Nostr relay multiplexer",
"icon": "https://raw.githubusercontent.com/BenGWeeks/nostrclient/add-extension-metadata/static/images/nostr-bitcoin.png",
"archive": "https://github.com/BenGWeeks/nostrclient/archive/refs/heads/add-extension-metadata.zip",
"hash": "cde77e4454297abf9b9c7400fc5a5f071d0b0dd9c6651f403a0a47dfea544e53",
"details_link": "https://raw.githubusercontent.com/BenGWeeks/nostrclient/add-extension-metadata/config.json"
}
]
}

BIN
static/images/1.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 KiB

BIN
static/images/2.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB