mirror of
https://github.com/hoornet/vega.git
synced 2026-04-23 22:30:00 -07:00
Move all private documents (grant app, specs, research, drafts) into gitignored private_docs/ directory. Update AGENTS.md to reflect current Vega state (was still referencing Wrystr). Simplify gitignore rules.
2.0 KiB
2.0 KiB
AGENTS.md — Vega
This file guides AI coding agents working on this codebase.
See CLAUDE.md for the authoritative, up-to-date architecture and conventions.
What is Vega?
Vega is a cross-platform desktop Nostr client built for Mac, Windows, and Linux. Named after Jurij Vega (1754–1802), Slovenian mathematician. The goal: best Nostr desktop experience — polished UI, deep Lightning integration, full NIP coverage, performance that feels native.
Tech Stack
| Layer | Technology |
|---|---|
| Desktop shell | Tauri 2.0 (Rust backend) |
| Frontend | React 19 + TypeScript (Vite 7) |
| Nostr protocol | NDK (Nostr Dev Kit) |
| Lightning | Nostr Wallet Connect (NIP-47) |
| Styling | Tailwind CSS 4 |
| State management | Zustand |
| Local storage | SQLite via rusqlite (bundled) |
| Key storage | OS keychain via keyring crate |
Coding Conventions
TypeScript / React
- Functional components only, no class components
- Zustand stores per domain (
src/stores/) - Types in
src/types/— never useany - NDK interactions only through
src/lib/nostr/wrapper - Lightning/NWC only through
src/lib/lightning/wrapper - Tailwind classes only — no inline styles (except unavoidable WebkitUserSelect)
Rust
- Commands return
Result<T, String> - Private keys only in OS keychain via
keyringcrate - No secrets logged in production
General
- No secrets, keys, or credentials committed to git
- Private docs (drafts, specs, research) go in
private_docs/(gitignored) - Prefer explicit over clever
What to Avoid
- Do NOT add dependencies without checking if the existing stack covers it
- Do NOT store private keys anywhere except the OS keychain
- Do NOT expose Lightning credentials to the frontend/JS layer
- Do NOT use inline styles — use Tailwind classes
- Do NOT add paywalls to core social/protocol features
Monetization
Open source client (MIT) + closed source server-side premium services. Core social features stay fully free. Revenue at the edges (PRO relay, NIP-05, analytics).