upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/AGENTS.md
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2025-11-05 10:19:56 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2025-11-05 10:19:56 +0000
commit86077d24e7cc8ff9d474a5947f0151d005f9f747 (patch)
tree47b7cd4c52e8f784e1b8f13ab6f88a1c4eef31e4 /AGENTS.md
parent53b926427fa6b65abcf680dd1c19eebfd3e85f65 (diff)
fix: hardcoded port
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md25
1 files changed, 16 insertions, 9 deletions
diff --git a/AGENTS.md b/AGENTS.md
index e25299c..ed9c97d 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -5,6 +5,7 @@ This file provides guidance to agents when working with code in this repository.
5## Project Structure 5## Project Structure
6 6
7**Workspace with Two Rust Projects:** 7**Workspace with Two Rust Projects:**
8
8- Root: `ngit-grasp` (main GRASP relay implementation) 9- Root: `ngit-grasp` (main GRASP relay implementation)
9- `grasp-audit/`: Separate subproject with own `Cargo.toml` and `flake.nix` 10- `grasp-audit/`: Separate subproject with own `Cargo.toml` and `flake.nix`
10 11
@@ -32,11 +33,11 @@ nix-shell --run "cargo build"
32**Integration tests require relay running:** 33**Integration tests require relay running:**
33 34
34```bash 35```bash
35# Start ngit-relay first (tests run on port 18081) 36# Start ngit-relay first (choose any available port, example uses 18081)
36docker run --rm -p 18081:8081 -e NGIT_BIND_ADDRESS=0.0.0.0:8081 ghcr.io/decentralizedclimate/ngit-relay:latest 37docker run --rm -p 18081:8081 -e NGIT_BIND_ADDRESS=0.0.0.0:8081 ghcr.io/danconwaydev/ngit-relay:latest
37 38
38# From grasp-audit directory 39# From grasp-audit directory, set RELAY_URL to match your port
39nix develop -c cargo test --lib test_grasp01_nostr_relay_against_relay -- --ignored --nocapture 40RELAY_URL="ws://localhost:18081" nix develop -c cargo test --lib test_grasp01_nostr_relay_against_relay -- --ignored --nocapture
40``` 41```
41 42
42Tests marked `#[ignore]` need relay - unit tests don't. 43Tests marked `#[ignore]` need relay - unit tests don't.
@@ -60,13 +61,14 @@ event.id()
60event.tags() 61event.tags()
61for tag in &event.tags { } 62for tag in &event.tags { }
62 63
63// ✅ CORRECT (0.43 API) 64// ✅ CORRECT (0.43 API)
64event.id // Direct field access 65event.id // Direct field access
65event.tags // Direct field access 66event.tags // Direct field access
66event.tags.iter() // Iterator method 67event.tags.iter() // Iterator method
67``` 68```
68 69
69**Tag API changed:** 70**Tag API changed:**
71
70```rust 72```rust
71// ❌ WRONG (0.35) 73// ❌ WRONG (0.35)
72Tag::Generic(TagKind::Custom("clone".into()), vec![...]) 74Tag::Generic(TagKind::Custom("clone".into()), vec![...])
@@ -76,6 +78,7 @@ Tag::custom(TagKind::custom("clone"), vec![...])
76``` 78```
77 79
78**EventBuilder signature changed:** 80**EventBuilder signature changed:**
81
79```rust 82```rust
80// ❌ WRONG (0.35) 83// ❌ WRONG (0.35)
81EventBuilder::new(kind, content, &[tags]) 84EventBuilder::new(kind, content, &[tags])
@@ -89,12 +92,14 @@ See `docs/archive/2025-11-04-nostr-sdk-upgrade.md` for full migration.
89## Documentation 92## Documentation
90 93
91**Diátaxis Framework Used:** 94**Diátaxis Framework Used:**
95
92- `docs/tutorials/` - Learning-oriented 96- `docs/tutorials/` - Learning-oriented
93- `docs/how-to/` - Task-oriented 97- `docs/how-to/` - Task-oriented
94- `docs/reference/` - Information-oriented 98- `docs/reference/` - Information-oriented
95- `docs/explanation/` - Understanding-oriented 99- `docs/explanation/` - Understanding-oriented
96 100
97**Session files go in `work/` (gitignored except README.md)** 101**Session files go in `work/` (gitignored except README.md)**
102
98- Archive valuable content to `docs/archive/YYYY-MM-DD-*.md` at session end 103- Archive valuable content to `docs/archive/YYYY-MM-DD-*.md` at session end
99- Delete temporary files 104- Delete temporary files
100- Keep root clean (only README.md, AGENTS.md) 105- Keep root clean (only README.md, AGENTS.md)
@@ -111,6 +116,7 @@ See `docs/archive/2025-11-04-nostr-sdk-upgrade.md` for full migration.
111## File Restrictions by Mode 116## File Restrictions by Mode
112 117
113Code mode can only edit files matching specific patterns (enforced by system): 118Code mode can only edit files matching specific patterns (enforced by system):
119
114- Example: Architect mode restricted to `\.md$` files only 120- Example: Architect mode restricted to `\.md$` files only
115- Attempting to edit restricted files causes FileRestrictionError 121- Attempting to edit restricted files causes FileRestrictionError
116- Check mode configuration if edit attempts fail unexpectedly 122- Check mode configuration if edit attempts fail unexpectedly
@@ -121,11 +127,12 @@ Code mode can only edit files matching specific patterns (enforced by system):
121# Build grasp-audit 127# Build grasp-audit
122cd grasp-audit && nix develop -c cargo build 128cd grasp-audit && nix develop -c cargo build
123 129
124# Run all tests (requires relay on 18081) 130# Run all tests (requires relay running, set RELAY_URL to match your port)
125cd grasp-audit && nix develop -c cargo test --ignored 131cd grasp-audit && RELAY_URL="ws://localhost:18081" nix develop -c cargo test --ignored
126 132
127# Run single test 133# Run single test
128cd grasp-audit && nix develop -c cargo test --lib test_name -- --nocapture 134cd grasp-audit && nix develop -c cargo test --lib test_name -- --nocapture
129 135
130# Check session files 136# Check session files
131ls work/ # Should only have README.md when clean \ No newline at end of file 137ls work/ # Should only have README.md when clean
138```