Add building-nostr to ref, flesh out summary

This commit is contained in:
Jon Staab
2026-04-08 15:20:56 -07:00
parent 09b179df47
commit 0aa79d08fd
3 changed files with 95 additions and 7 deletions
+19 -4
View File
@@ -14,10 +14,21 @@ Before doing any research, ask the user to provide a brief summary of what this
should cover. What concepts, data structures, protocols, or functionality should the should cover. What concepts, data structures, protocols, or functionality should the
research focus on? Wait for their response before proceeding. research focus on? Wait for their response before proceeding.
## Step 2: Research Reference Implementations ## Step 2: Research References
Once you have the topic summary, spawn **one sub-agent per reference implementation** in Once you have the topic summary, research the references in `./ref/` in parallel.
`./ref/` to analyze them in parallel. Each sub-agent should:
### Philosophy Reference
Spawn a sub-agent to read `ref/building-nostr` for content relevant to the chapter topic.
This is not code — it's high-level ideas about what nostr is and how to work with it.
Extract any philosophical framing, design principles, or conceptual guidance that should
inform the chapter's narrative and approach.
### Code References
Spawn **one sub-agent per code reference implementation** to analyze them in parallel.
Each sub-agent should:
1. Search the reference implementation for code relevant to the chapter topic 1. Search the reference implementation for code relevant to the chapter topic
2. Analyze in depth: 2. Analyze in depth:
@@ -29,7 +40,7 @@ Once you have the topic summary, spawn **one sub-agent per reference implementat
3. Return a detailed summary focusing **only on functionality relevant to the chapter topic** 3. Return a detailed summary focusing **only on functionality relevant to the chapter topic**
— ignore unrelated parts of the library — ignore unrelated parts of the library
The six reference implementations to analyze: The six code reference implementations to analyze:
- `ref/applesauce` (TypeScript — noStrudel ecosystem) - `ref/applesauce` (TypeScript — noStrudel ecosystem)
- `ref/ndk` (TypeScript — Nostr Development Kit) - `ref/ndk` (TypeScript — Nostr Development Kit)
- `ref/nostr-gadgets` (TypeScript — high-level utilities, JSR) - `ref/nostr-gadgets` (TypeScript — high-level utilities, JSR)
@@ -51,6 +62,10 @@ The research file should have this structure:
<The topic summary provided by the user in Step 1> <The topic summary provided by the user in Step 1>
## Philosophy
<Relevant ideas, principles, and framing from ref/building-nostr>
## Reference Implementation Analysis ## Reference Implementation Analysis
### applesauce ### applesauce
+13 -2
View File
@@ -54,9 +54,20 @@ Always run `just all` to validate changes.
- The narrative should flow naturally — explain *why* before showing *what* - The narrative should flow naturally — explain *why* before showing *what*
- Write prose that a developer new to nostr could follow from start to finish - Write prose that a developer new to nostr could follow from start to finish
## Reference Implementations ## Reference Materials
The `ref/` directory contains nostr library implementations used for research: The `ref/` directory contains resources used for research, split into two categories.
### Philosophy
| Directory | Description |
|-----------|-------------|
| `ref/building-nostr` | High-level ideas about what nostr is and how to work with it — philosophy, not code |
This resource should inform the narrative voice, design philosophy, and conceptual framing
of chapters, but is not a source of implementation patterns.
### Implementations
| Directory | Language | Description | | Directory | Language | Description |
|-----------|----------|-------------| |-----------|----------|-------------|
+63 -1
View File
@@ -1,4 +1,66 @@
# Summary # Summary
- [Introduction](01-introduction.md) - [Introduction](01-introduction.md)
- [Events](02-events.md)
## Basics
- [Keys](02-keys.md)
- [Signing](03-signing.md)
- [Encryption](04-encryption.md)
- [Encryptables](xx.md)
- [Events](xx.md)
- [Tags](xx.md)
- [Kinds](xx.md)
- [Kind Ranges](xx.md)
- [Addresses](xx.md)
- [Proof of Work](xx.md)
- [Filters](xx.md)
## Domain
- [Relay Selections](xx.md)
- [Relay Metadata](xx.md)
- [Relay Membership](xx.md)
- [Profiles](xx.md)
- [Follows](xx.md)
- [Microblogging](xx.md)
- [Reactions](xx.md)
- [Reports](xx.md)
- [Emojis](xx.md)
- [Zaps](xx.md)
- Split out each list kind into its own chapter
- [Rooms](xx.md)
## Networking
- [Relay Connections](xx.md)
- [Relay Authentication](xx.md)
- [Relay Policies](xx.md)
- [Server Authentication](xx.md)
- [Relay Management API](xx.md)
- [Blossom Media Storage](xx.md)
## Signers
- [Secret Signers](xx.md)
- [Remote Signers](xx.md)
- [Android Signers](xx.md)
- [Browser Signers](xx.md)
## Content
- [Entities](xx.md)
- [Relays](xx.md)
- [Rooms](xx.md)
- [Links](xx.md)
- [Lightning](xx.md)
- [Cashu](xx.md)
- [Emojis](xx.md)
- [Topics](xx.md)
- [Code](xx.md)
## Storage
- [Event Repository](xx.md)
- [In Memory Backend](xx.md)
- [Sqlite Backend](xx.md)