upleb.uk

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

summaryrefslogtreecommitdiff
path: root/docs/how-to/README.md
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2025-11-04 10:25:53 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2025-11-04 10:25:53 +0000
commit52bad9954cdddf55ab749fd0c6387edbc766632f (patch)
treed9dd2078b70a627a71d1adb9555cee83faec5cd0 /docs/how-to/README.md
parentdb460efdd4cf34d3b6ac8c19b1b8f89f22bc279f (diff)
docs: use Diátaxis structure
Diffstat (limited to 'docs/how-to/README.md')
-rw-r--r--docs/how-to/README.md177
1 files changed, 177 insertions, 0 deletions
diff --git a/docs/how-to/README.md b/docs/how-to/README.md
new file mode 100644
index 0000000..ed5f014
--- /dev/null
+++ b/docs/how-to/README.md
@@ -0,0 +1,177 @@
1# How-To Guides
2
3**Task-oriented documentation** - Practical solutions to common problems.
4
5---
6
7## What Are How-To Guides?
8
9How-to guides are **recipes** that show you how to solve specific problems or accomplish particular tasks.
10
11**Characteristics:**
12- ✅ Task-oriented (solve a problem)
13- ✅ Practical (actionable steps)
14- ✅ Assume basic knowledge
15- ✅ Focus on results
16- ✅ Can be followed in any order
17
18**Not how-to guides:**
19- ❌ Complete lessons for beginners (those are Tutorials)
20- ❌ Technical specifications (those are Reference)
21- ❌ Conceptual discussions (those are Explanation)
22
23---
24
25## Available How-To Guides
26
27### [Configure Nix Flakes](nix-flakes.md)
28**Problem:** Set up reproducible development environment
29**Difficulty:** Intermediate
30
31**You'll learn:**
32- Enable Nix flakes
33- Enter development environment
34- Work with subprojects
35- Troubleshoot common issues
36
37---
38
39## Planned How-To Guides
40
41### Deploy ngit-grasp
42**Status:** 🔜 Planned (waiting for main server)
43
44**Problem:** Deploy to production
45**You'll learn:**
46- Server requirements
47- Reverse proxy setup (nginx/Caddy)
48- SSL/TLS configuration
49- Monitoring and logging
50
51---
52
53### Run Compliance Tests
54**Status:** 🔜 Planned
55
56**Problem:** Test GRASP compliance
57**You'll learn:**
58- Set up test relay
59- Run integration tests
60- Interpret results
61- Add custom tests
62
63---
64
65### Upgrade nostr-sdk
66**Status:** 🔜 Planned
67
68**Problem:** Handle breaking changes in nostr-sdk
69**You'll learn:**
70- Check for breaking changes
71- Update dependencies
72- Fix compilation errors
73- Test after upgrade
74
75---
76
77### Configure Authentication
78**Status:** 🔜 Planned (feature not yet implemented)
79
80**Problem:** Secure your relay
81**You'll learn:**
82- Enable authentication
83- Configure allowed users
84- Set up rate limiting
85- Monitor access
86
87---
88
89### Backup and Restore
90**Status:** 🔜 Planned
91
92**Problem:** Protect your data
93**You'll learn:**
94- Backup Git repositories
95- Backup Nostr events
96- Restore from backup
97- Automate backups
98
99---
100
101### Migrate from ngit-relay
102**Status:** 🔜 Planned
103
104**Problem:** Switch from reference implementation
105**You'll learn:**
106- Export data from ngit-relay
107- Import to ngit-grasp
108- Update repository URLs
109- Verify migration
110
111---
112
113## How to Use How-To Guides
114
1151. **Find your problem** - Browse or search for what you need
1162. **Check prerequisites** - Make sure you have required knowledge
1173. **Follow the steps** - Adapt to your specific situation
1184. **Solve and move on** - No need to read everything
119
120**Not sure if this is what you need?**
121- New to ngit-grasp? → [Tutorials](../tutorials/)
122- Looking for technical details? → [Reference](../reference/)
123- Want to understand why? → [Explanation](../explanation/)
124
125---
126
127## Contributing How-To Guides
128
129When writing a how-to guide:
130
131**DO:**
132- ✅ Start with the problem/goal
133- ✅ List prerequisites clearly
134- ✅ Provide concrete steps
135- ✅ Include troubleshooting
136- ✅ Show examples
137- ✅ Link to related docs
138
139**DON'T:**
140- ❌ Teach basics (link to Tutorials)
141- ❌ Explain every concept (link to Explanation)
142- ❌ List all options (link to Reference)
143- ❌ Make it a tutorial (stay focused on the task)
144
145**Template:**
146```markdown
147# How-To: [Task/Problem]
148
149**Problem:** [What you're trying to accomplish]
150**Difficulty:** [Beginner/Intermediate/Advanced]
151**Time:** [Estimated time]
152
153## Prerequisites
154- [Required knowledge/tools]
155
156## Solution
157
158### Step 1: [Action]
159[Instructions]
160
161### Step 2: [Action]
162[Instructions]
163
164## Troubleshooting
165
166### [Common problem]
167**Solution:** [How to fix]
168
169## Related Documentation
170- [Links to relevant docs]
171```
172
173See [Diátaxis: How-To Guides](https://diataxis.fr/how-to-guides/) for detailed guidance.
174
175---
176
177*Part of the [ngit-grasp documentation](../README.md) using the [Diátaxis](https://diataxis.fr/) framework.*