Add nostrlib to agents stuff

This commit is contained in:
Jon Staab
2026-04-14 14:03:54 -07:00
parent 2f334fa3be
commit 7c6909a791
5 changed files with 16 additions and 4 deletions
+2
View File
@@ -0,0 +1,2 @@
--ignore-dir=target
--ignore-dir=.claude
+7
View File
@@ -0,0 +1,7 @@
Refer to @book/SUMMARY.md for a table of contents. Find a chapter that has not yet been written, then execute your /research-chapter, /plan-chapter, and /write-chapter skills for the chapter.
Validation after this process is complete:
- Make sure the chapter is concise, correct, and makes sense in context of the book
- Add tests to the tests directory
- Make sure that the project compiles and the tests complete
-2
View File
@@ -33,8 +33,6 @@ Draw on the research to make your questions specific and informed. Areas to expl
introduced? What prior knowledge can we assume from earlier chapters? introduced? What prior knowledge can we assume from earlier chapters?
- **Code Organization**: Which crate(s) should this code live in? How should modules be - **Code Organization**: Which crate(s) should this code live in? How should modules be
structured? structured?
- **Teaching Approach**: Are there concepts that need careful explanation? Diagrams?
Worked examples?
Ask questions in batches of 2-3 at a time. After each round of answers, follow up on Ask questions in batches of 2-3 at a time. After each round of answers, follow up on
anything that needs clarification before moving on. Continue until you have enough detail anything that needs clarification before moving on. Continue until you have enough detail
+5 -1
View File
@@ -40,10 +40,11 @@ Each sub-agent should:
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 code reference implementations to analyze: The seven 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)
- `ref/nostrlib` (Go — fiatjaf's comprehensive Go library)
- `ref/nostr-tools` (TypeScript — low-level tools, minimal deps) - `ref/nostr-tools` (TypeScript — low-level tools, minimal deps)
- `ref/rust-nostr` (Rust — full implementation, multiple crates) - `ref/rust-nostr` (Rust — full implementation, multiple crates)
- `ref/welshman` (TypeScript — extracted from Coracle client) - `ref/welshman` (TypeScript — extracted from Coracle client)
@@ -77,6 +78,9 @@ The research file should have this structure:
### nostr-gadgets ### nostr-gadgets
<detailed findings> <detailed findings>
### nostrlib
<detailed findings>
### nostr-tools ### nostr-tools
<detailed findings> <detailed findings>
+2 -1
View File
@@ -75,6 +75,7 @@ of chapters, but is not a source of implementation patterns.
| `ref/applesauce` | TypeScript | Libraries for building nostr web clients (noStrudel) | | `ref/applesauce` | TypeScript | Libraries for building nostr web clients (noStrudel) |
| `ref/ndk` | TypeScript | Nostr Development Kit with framework integrations | | `ref/ndk` | TypeScript | Nostr Development Kit with framework integrations |
| `ref/nostr-gadgets` | TypeScript | High-level nostr client utilities (JSR) | | `ref/nostr-gadgets` | TypeScript | High-level nostr client utilities (JSR) |
| `ref/nostrlib` | Go | Comprehensive Go library for relays, clients, and hybrid apps (fiatjaf) |
| `ref/nostr-tools` | TypeScript | Low-level nostr tools, minimal dependencies | | `ref/nostr-tools` | TypeScript | Low-level nostr tools, minimal dependencies |
| `ref/rust-nostr` | Rust | Full Rust implementation with multiple crates | | `ref/rust-nostr` | Rust | Full Rust implementation with multiple crates |
| `ref/welshman` | TypeScript | Nostr toolkit extracted from the Coracle client | | `ref/welshman` | TypeScript | Nostr toolkit extracted from the Coracle client |
@@ -96,7 +97,7 @@ Chapters are developed in three phases using slash commands:
## Code Style ## Code Style
- Rust code should be idiomatic and well-documented - Rust code should be idiomatic and well-documented
- Prefer clarity over cleverness — this is a teaching resource - Prefer clarity over cleverness
- Keep dependencies minimal - Keep dependencies minimal
- All public items need doc comments that explain the *why* - All public items need doc comments that explain the *why*
- Code must compile and pass `just all` before a chapter is considered complete - Code must compile and pass `just all` before a chapter is considered complete