Template for building Nostr client applications with React 18.x, TailwindCSS 3.x, Vite, shadcn/ui, and Nostrify - enhanced with Welshman for intelligent relay management.
## Overview
This is an enhanced version of the MKStack template that replaces the basic `NPool` implementation with `NWelshman` - a more sophisticated relay pool manager that provides intelligent routing, quality scoring, and specialized relay selection.
## Key Differences from Base MKStack
### 1. Enhanced Relay Management
**Base MKStack (NPool):**
- Simple relay connection using `NRelay1`
- All queries go to a single configured relay
- Basic round-robin publishing to preset relays
- No distinction between relay types or capabilities
**This Template (NWelshman):**
- Intelligent relay routing with quality scoring
- Specialized relay selection based on query type:
- **Indexer relays** for metadata (kinds 0, 3, 10002)
- **Search relays** for NIP-50 full-text search
- **Static relays** for general queries
- Quality-based relay prioritization
- Configurable redundancy and connection limits
### 2. Router Configuration
The `NostrProvider` now implements a sophisticated Router class that provides:
```typescript
// Relay selection based on capability
getIndexerRelays() // Returns relays optimized for metadata