Files
notedeck/crates/notedeck
William Casarin b1a5dd6cab add NotedeckOptions and feature flags, add notebook feature
This switches from bools to flags in our Args struct. We also add
notebook as an optional feature flag (--notebook) since its not ready.
2025-07-31 16:03:13 -07:00
..
2025-04-21 13:21:45 -07:00

Notedeck

Notedeck is a shared Rust library that provides the core functionality for building Nostr client applications. It serves as the foundation for various Notedeck applications like notedeck_chrome, notedeck_columns, and notedeck_dave.

Overview

The Notedeck crate implements common data types, utilities, and logic used across all Notedeck applications. It provides a unified interface for interacting with the Nostr protocol, managing accounts, handling note data, and rendering UI components.

Key features include:

  • Nostr Protocol Integration: Connect to relays, subscribe to events, publish notes
  • Account Management: Handle user accounts, keypairs, and profiles
  • Note Handling: Cache and process notes efficiently
  • UI Components: Common UI elements and styles
  • Image Caching: Efficient image and GIF caching system
  • Wallet Integration: Lightning wallet support with zaps functionality
  • Theme Support: Customizable themes and styles
  • Storage: Persistent storage for settings and data

Applications

This crate serves as the foundation for several Notedeck applications:

  • notedeck_chrome - The browser chrome, manages a toolbar for switching between different clients
  • notedeck_columns - A column-based Nostr client interface
  • notedeck_dave - A nostr ai assistant

License

GPLv2