yakmesh 2.8.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/CHANGELOG.md +637 -0
  2. package/CONTRIBUTING.md +42 -0
  3. package/Caddyfile +77 -0
  4. package/README.md +119 -29
  5. package/adapters/adapter-mlv-bible/README.md +124 -0
  6. package/adapters/adapter-mlv-bible/index.js +400 -0
  7. package/adapters/chat-mod-adapter.js +532 -0
  8. package/adapters/content-adapter.js +273 -0
  9. package/content/api.js +50 -41
  10. package/content/index.js +2 -2
  11. package/content/store.js +355 -173
  12. package/dashboard/index.html +19 -3
  13. package/database/replication.js +117 -37
  14. package/docs/CRYPTO-AGILITY.md +204 -0
  15. package/docs/MTLS-RESEARCH.md +367 -0
  16. package/docs/NAMCHE-SPEC.md +681 -0
  17. package/docs/PEERQUANTA-YAKMESH-INTEGRATION.md +407 -0
  18. package/docs/PRECISION-DISCLOSURE.md +96 -0
  19. package/docs/README.md +76 -0
  20. package/docs/ROADMAP-2.4.0.md +447 -0
  21. package/docs/ROADMAP-2.5.0.md +244 -0
  22. package/docs/SECURITY-AUDIT-REPORT.md +306 -0
  23. package/docs/SST-INTEGRATION.md +712 -0
  24. package/docs/STEADYWATCH-IMPLEMENTATION.md +303 -0
  25. package/docs/TERNARY-AUDIT-REPORT.md +247 -0
  26. package/docs/TME-FAQ.md +221 -0
  27. package/docs/WHITEPAPER.md +623 -0
  28. package/docs/adapters.html +1001 -0
  29. package/docs/advanced-systems.html +1045 -0
  30. package/docs/annex.html +1046 -0
  31. package/docs/api.html +970 -0
  32. package/docs/business/response-templates.md +160 -0
  33. package/docs/c2c.html +1225 -0
  34. package/docs/cli.html +1332 -0
  35. package/docs/configuration.html +1248 -0
  36. package/docs/darshan.html +1085 -0
  37. package/docs/dharma.html +966 -0
  38. package/docs/docs-bundle.html +1075 -0
  39. package/docs/docs.css +3120 -0
  40. package/docs/docs.js +556 -0
  41. package/docs/doko.html +969 -0
  42. package/docs/geo-proof.html +858 -0
  43. package/docs/getting-started.html +840 -0
  44. package/docs/gumba-tutorial.html +1144 -0
  45. package/docs/gumba.html +1098 -0
  46. package/docs/index.html +914 -0
  47. package/docs/jhilke.html +1312 -0
  48. package/docs/karma.html +1100 -0
  49. package/docs/katha.html +1037 -0
  50. package/docs/lama.html +978 -0
  51. package/docs/mandala.html +1067 -0
  52. package/docs/mani.html +964 -0
  53. package/docs/mantra.html +967 -0
  54. package/docs/mesh.html +1409 -0
  55. package/docs/nakpak.html +869 -0
  56. package/docs/namche.html +928 -0
  57. package/docs/nav-order.json +53 -0
  58. package/docs/prahari.html +1043 -0
  59. package/docs/prism-bash.min.js +1 -0
  60. package/docs/prism-javascript.min.js +1 -0
  61. package/docs/prism-json.min.js +1 -0
  62. package/docs/prism-tomorrow.min.css +1 -0
  63. package/docs/prism.min.js +1 -0
  64. package/docs/privacy.html +699 -0
  65. package/docs/quick-reference.html +1181 -0
  66. package/docs/sakshi.html +1402 -0
  67. package/docs/sandboxing.md +386 -0
  68. package/docs/seva.html +911 -0
  69. package/docs/sherpa.html +871 -0
  70. package/docs/studio.html +860 -0
  71. package/docs/stupa.html +995 -0
  72. package/docs/tailwind.min.css +2 -0
  73. package/docs/tattva.html +1332 -0
  74. package/docs/terms.html +686 -0
  75. package/docs/time-server-deployment.md +166 -0
  76. package/docs/time-sources.html +1392 -0
  77. package/docs/tivra.html +1127 -0
  78. package/docs/trademark-policy.html +686 -0
  79. package/docs/tribhuj.html +1183 -0
  80. package/docs/trust-security.html +1029 -0
  81. package/docs/tutorials/backup-recovery.html +654 -0
  82. package/docs/tutorials/dashboard.html +604 -0
  83. package/docs/tutorials/domain-setup.html +605 -0
  84. package/docs/tutorials/host-website.html +456 -0
  85. package/docs/tutorials/mesh-network.html +505 -0
  86. package/docs/tutorials/mobile-access.html +445 -0
  87. package/docs/tutorials/privacy.html +467 -0
  88. package/docs/tutorials/raspberry-pi.html +600 -0
  89. package/docs/tutorials/security-basics.html +539 -0
  90. package/docs/tutorials/share-files.html +431 -0
  91. package/docs/tutorials/troubleshooting.html +637 -0
  92. package/docs/tutorials/trust-karma.html +419 -0
  93. package/docs/tutorials/yak-protocol.html +456 -0
  94. package/docs/tutorials.html +1034 -0
  95. package/docs/vani.html +1270 -0
  96. package/docs/webserver.html +809 -0
  97. package/docs/yak-protocol.html +940 -0
  98. package/docs/yak-timeserver-design.md +475 -0
  99. package/docs/yakapp.html +1015 -0
  100. package/docs/ypc27.html +1069 -0
  101. package/docs/yurt.html +1344 -0
  102. package/embedded-docs/bundle.js +334 -74
  103. package/gossip/protocol.js +247 -27
  104. package/identity/key-resolver.js +262 -0
  105. package/identity/machine-seed.js +632 -0
  106. package/identity/node-key.js +669 -368
  107. package/identity/tribhuj-ratchet.js +506 -0
  108. package/knowledge-base.js +37 -8
  109. package/launcher/yakmesh.bat +62 -0
  110. package/launcher/yakmesh.sh +70 -0
  111. package/mesh/annex.js +462 -108
  112. package/mesh/beacon-broadcast.js +113 -1
  113. package/mesh/darshan.js +1718 -0
  114. package/mesh/gumba.js +1567 -0
  115. package/mesh/jhilke.js +651 -0
  116. package/mesh/katha.js +1012 -0
  117. package/mesh/nakpak-routing.js +8 -5
  118. package/mesh/network.js +724 -34
  119. package/mesh/pulse-sync.js +4 -1
  120. package/mesh/rate-limiter.js +127 -15
  121. package/mesh/seva.js +526 -0
  122. package/mesh/sherpa-discovery.js +89 -8
  123. package/mesh/sybil-defense.js +19 -5
  124. package/mesh/temporal-encoder.js +4 -3
  125. package/mesh/vani.js +1364 -0
  126. package/mesh/yurt.js +1340 -0
  127. package/models/entropy-sentinel.onnx +0 -0
  128. package/models/karma-trust.onnx +0 -0
  129. package/models/manifest.json +43 -0
  130. package/models/sakshi-anomaly.onnx +0 -0
  131. package/oracle/code-proof-protocol.js +7 -6
  132. package/oracle/codebase-lock.js +257 -28
  133. package/oracle/index.js +74 -15
  134. package/oracle/ma902-snmp.js +678 -0
  135. package/oracle/module-sealer.js +5 -3
  136. package/oracle/network-identity.js +16 -0
  137. package/oracle/packet-checksum.js +201 -0
  138. package/oracle/sst.js +579 -0
  139. package/oracle/ternary-144t.js +714 -0
  140. package/oracle/ternary-ml.js +481 -0
  141. package/oracle/time-api.js +239 -0
  142. package/oracle/time-source.js +137 -47
  143. package/oracle/validation-oracle-hardened.js +1111 -1071
  144. package/oracle/validation-oracle.js +4 -2
  145. package/oracle/ypc27.js +211 -0
  146. package/package.json +20 -3
  147. package/protocol/yak-handler.js +35 -9
  148. package/protocol/yak-protocol.js +28 -13
  149. package/reference/cpp/yakmesh_mceliece_shard.cpp +168 -0
  150. package/reference/cpp/yakmesh_ypc27.cpp +179 -0
  151. package/sbom.json +87 -0
  152. package/scripts/security-audit.mjs +264 -0
  153. package/scripts/update-docs-nav.js +194 -0
  154. package/scripts/update-docs-sidebar.cjs +164 -0
  155. package/security/crypto-config.js +4 -3
  156. package/security/dharma-moderation.js +517 -0
  157. package/security/doko-identity.js +193 -143
  158. package/security/domain-consensus.js +86 -85
  159. package/security/fs-hardening.js +620 -0
  160. package/security/hardware-attestation.js +5 -3
  161. package/security/hybrid-trust.js +227 -87
  162. package/security/karma-rate-limiter.js +692 -0
  163. package/security/khata-protocol.js +22 -21
  164. package/security/khata-trust-integration.js +277 -150
  165. package/security/memory-safety.js +635 -0
  166. package/security/mesh-auth.js +11 -10
  167. package/security/mesh-revocation.js +373 -5
  168. package/security/namche-gateway.js +298 -69
  169. package/security/sakshi.js +460 -3
  170. package/security/sangha.js +770 -0
  171. package/security/secure-config.js +473 -0
  172. package/security/silicon-parity.js +13 -10
  173. package/security/steadywatch.js +1142 -0
  174. package/security/strike-system.js +32 -3
  175. package/security/temporal-signing.js +488 -0
  176. package/security/trit-commitment.js +464 -0
  177. package/server/crypto/annex.js +247 -0
  178. package/server/darshan-api.js +343 -0
  179. package/server/index.js +3259 -362
  180. package/server/komm-api.js +668 -0
  181. package/utils/accel.js +2273 -0
  182. package/utils/ternary-id.js +79 -0
  183. package/utils/verify-worker.js +57 -0
  184. package/webserver/index.js +95 -5
  185. package/assets/yakmesh-logo.png +0 -0
  186. package/assets/yakmesh-logo.svg +0 -80
  187. package/assets/yakmesh-logo2.png +0 -0
  188. package/assets/yakmesh-logo2sm.png +0 -0
  189. package/assets/ymsm.png +0 -0
  190. package/website/assets/silhouettes/adapters.svg +0 -107
  191. package/website/assets/silhouettes/api-endpoints.svg +0 -115
  192. package/website/assets/silhouettes/atomic-clock.svg +0 -83
  193. package/website/assets/silhouettes/base-camp.svg +0 -81
  194. package/website/assets/silhouettes/bridge.svg +0 -69
  195. package/website/assets/silhouettes/docs-bundle.svg +0 -113
  196. package/website/assets/silhouettes/doko-basket.svg +0 -70
  197. package/website/assets/silhouettes/fortress.svg +0 -93
  198. package/website/assets/silhouettes/gateway.svg +0 -54
  199. package/website/assets/silhouettes/gears.svg +0 -93
  200. package/website/assets/silhouettes/globe-satellite.svg +0 -67
  201. package/website/assets/silhouettes/karma-wheel.svg +0 -137
  202. package/website/assets/silhouettes/lama-council.svg +0 -141
  203. package/website/assets/silhouettes/mandala-network.svg +0 -169
  204. package/website/assets/silhouettes/mani-stones.svg +0 -149
  205. package/website/assets/silhouettes/mantra-wheel.svg +0 -116
  206. package/website/assets/silhouettes/mesh-nodes.svg +0 -113
  207. package/website/assets/silhouettes/nakpak.svg +0 -56
  208. package/website/assets/silhouettes/peak-lightning.svg +0 -73
  209. package/website/assets/silhouettes/sherpa.svg +0 -69
  210. package/website/assets/silhouettes/stupa-tower.svg +0 -119
  211. package/website/assets/silhouettes/tattva-eye.svg +0 -78
  212. package/website/assets/silhouettes/terminal.svg +0 -74
  213. package/website/assets/silhouettes/webserver.svg +0 -145
  214. package/website/assets/silhouettes/yak.svg +0 -78
  215. package/website/assets/yakmesh-logo.png +0 -0
  216. package/website/assets/yakmesh-logo.webp +0 -0
  217. package/website/assets/yakmesh-logo128x140.webp +0 -0
  218. package/website/assets/yakmesh-logo2.png +0 -0
  219. package/website/assets/yakmesh-logo2.svg +0 -51
  220. package/website/assets/yakmesh-logo40x44.webp +0 -0
  221. package/website/assets/yakmesh.gif +0 -0
  222. package/website/assets/yakmesh.ico +0 -0
  223. package/website/assets/yakmesh.jpg +0 -0
  224. package/website/assets/yakmesh.pdf +0 -0
  225. package/website/assets/yakmesh.png +0 -0
  226. package/website/assets/yakmesh.svg +0 -70
  227. package/website/assets/yakmesh128.webp +0 -0
  228. package/website/assets/yakmesh32.png +0 -0
  229. package/website/assets/yakmesh32.svg +0 -65
  230. package/website/assets/yakmesh32o.ico +0 -2
  231. package/website/assets/yakmesh32o.svg +0 -65
  232. package/website/assets/yakmesh32o.svgz +0 -0
@@ -0,0 +1,1034 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" data-theme="tutorials">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <link rel="icon" href="favicon.ico" sizes="32x32">
7
+ <link rel="icon" href="icon.svg" type="image/svg+xml">
8
+ <link rel="apple-touch-icon" href="apple-touch-icon.png">
9
+ <title>Tutorials - YAKMESH Documentation</title>
10
+ <meta name="description" content="Step-by-step tutorials for using YAKMESH. Host websites, share content, and build decentralized apps.">
11
+
12
+ <link rel="stylesheet" href="tailwind.min.css">
13
+ <link rel="stylesheet" href="prism-tomorrow.min.css" media="print" onload="this.media='all'">
14
+ <noscript><link rel="stylesheet" href="prism-tomorrow.min.css"></noscript>
15
+ <link rel="stylesheet" href="docs.css">
16
+ <style>
17
+ .theme-accent { color: #10b981; }
18
+ .theme-accent-hover:hover { color: #34d399; }
19
+ .theme-badge { background: rgba(16, 185, 129, 0.2); color: #34d399; }
20
+ .theme-border { border-color: #10b981; }
21
+ .theme-callout { background: rgba(16, 185, 129, 0.1); border-color: #059669; }
22
+ .active-link { background: rgba(16, 185, 129, 0.2) !important; color: #34d399 !important; }
23
+ .tutorial-card { background: rgba(30, 41, 59, 0.5); border: 1px solid #334155; border-radius: 0.75rem; padding: 1.5rem; margin-bottom: 1.5rem; }
24
+ .tutorial-card:hover { border-color: #10b981; }
25
+ .step-number { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; background: #10b981; color: white; border-radius: 50%; font-weight: bold; margin-right: 0.75rem; }
26
+ </style>
27
+
28
+ <!-- Open Graph -->
29
+ <meta property="og:type" content="article">
30
+ <meta property="og:site_name" content="Yakmesh Documentation">
31
+ <meta property="og:title" content="Tutorials — Yakmesh">
32
+ <meta property="og:description" content="Step-by-step tutorials for building applications on the Yakmesh mesh network.">
33
+ </head>
34
+ <body class="bg-mountain-900 text-white min-h-screen">
35
+ <!-- YAKMESH-ICON-SPRITE-START -->
36
+ <svg xmlns="http://www.w3.org/2000/svg" style="display:none">
37
+ <!--
38
+ Yakmesh Docs Icon Sprite Sheet
39
+ 24×24 viewBox — stroke/fill set via .doc-icon CSS
40
+ Usage: <svg class="doc-icon"><use href="#icon-name"/></svg>
41
+ -->
42
+
43
+ <!-- ═══ GUIDES ═══ -->
44
+
45
+ <symbol id="icon-home" viewBox="0 0 24 24">
46
+ <path d="M3 9.5L12 3l9 6.5V20a1 1 0 01-1 1H4a1 1 0 01-1-1V9.5z"/>
47
+ <polyline points="9 22 9 12 15 12 15 22"/>
48
+ </symbol>
49
+
50
+ <symbol id="icon-rocket" viewBox="0 0 24 24">
51
+ <path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 00-2.91-.09z"/>
52
+ <path d="M12 15l-3-3a22 22 0 012-3.95A12.88 12.88 0 0122 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 01-4 2z"/>
53
+ <path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"/>
54
+ <path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"/>
55
+ </symbol>
56
+
57
+ <symbol id="icon-book" viewBox="0 0 24 24">
58
+ <path d="M4 19.5A2.5 2.5 0 016.5 17H20"/>
59
+ <path d="M6.5 2H20v20H6.5A2.5 2.5 0 014 19.5v-15A2.5 2.5 0 016.5 2z"/>
60
+ <line x1="8" y1="7" x2="16" y2="7"/>
61
+ <line x1="8" y1="11" x2="13" y2="11"/>
62
+ </symbol>
63
+
64
+ <!-- ═══ PROTOCOL STACK ═══ -->
65
+
66
+ <!-- YAK:// — Content addressing (yak horns) -->
67
+ <symbol id="icon-yak" viewBox="0 0 24 24">
68
+ <path d="M4 4c1 3 3 5 5 6"/>
69
+ <path d="M20 4c-1 3-3 5-5 6"/>
70
+ <circle cx="12" cy="14" r="5"/>
71
+ <circle cx="10" cy="13" r="0.5" fill="currentColor"/>
72
+ <circle cx="14" cy="13" r="0.5" fill="currentColor"/>
73
+ <path d="M10 16c1 1 3 1 4 0"/>
74
+ </symbol>
75
+
76
+ <!-- ANNEX — Encrypted bridge -->
77
+ <symbol id="icon-annex" viewBox="0 0 24 24">
78
+ <path d="M4 18h3a4 4 0 004-4V8"/>
79
+ <path d="M20 18h-3a4 4 0 01-4-4V8"/>
80
+ <circle cx="7" cy="6" r="2"/>
81
+ <circle cx="17" cy="6" r="2"/>
82
+ <line x1="7" y1="8" x2="7" y2="18"/>
83
+ <line x1="17" y1="8" x2="17" y2="18"/>
84
+ </symbol>
85
+
86
+ <!-- JHILKE — Cricket / steganographic key lifecycle -->
87
+ <symbol id="icon-jhilke" viewBox="0 0 24 24">
88
+ <ellipse cx="12" cy="14" rx="4" ry="6"/>
89
+ <path d="M8 10c-2-3-4-6-3-8"/>
90
+ <path d="M16 10c2-3 4-6 3-8"/>
91
+ <line x1="10" y1="20" x2="8" y2="23"/>
92
+ <line x1="14" y1="20" x2="16" y2="23"/>
93
+ <path d="M9 12l-4 2"/>
94
+ <path d="M15 12l4 2"/>
95
+ </symbol>
96
+
97
+ <!-- NAKPAK — Onion layers / backpack -->
98
+ <symbol id="icon-nakpak" viewBox="0 0 24 24">
99
+ <circle cx="12" cy="12" r="10" opacity="0.3"/>
100
+ <circle cx="12" cy="12" r="7" opacity="0.5"/>
101
+ <circle cx="12" cy="12" r="4" opacity="0.8"/>
102
+ <circle cx="12" cy="12" r="1.5" fill="currentColor"/>
103
+ </symbol>
104
+
105
+ <!-- NAMCHE — Gateway door -->
106
+ <symbol id="icon-namche" viewBox="0 0 24 24">
107
+ <rect x="3" y="3" width="18" height="18" rx="2"/>
108
+ <path d="M9 3v18"/>
109
+ <path d="M15 3v18"/>
110
+ <line x1="3" y1="8" x2="9" y2="8"/>
111
+ <line x1="15" y1="8" x2="21" y2="8"/>
112
+ <circle cx="12" cy="14" r="1" fill="currentColor"/>
113
+ </symbol>
114
+
115
+ <!-- DOKO — Basket / certificate -->
116
+ <symbol id="icon-doko" viewBox="0 0 24 24">
117
+ <path d="M6 8l-2 12h16l-2-12"/>
118
+ <path d="M6 8c0-3 2.7-5 6-5s6 2 6 5"/>
119
+ <line x1="8" y1="10" x2="10" y2="18"/>
120
+ <line x1="16" y1="10" x2="14" y2="18"/>
121
+ <line x1="12" y1="10" x2="12" y2="18"/>
122
+ </symbol>
123
+
124
+ <!-- SHERPA — Mountain climber -->
125
+ <symbol id="icon-sherpa" viewBox="0 0 24 24">
126
+ <path d="M4 20L10 6l3 6 3-4 4 12"/>
127
+ <line x1="4" y1="20" x2="20" y2="20"/>
128
+ <circle cx="13" cy="4" r="1.5"/>
129
+ </symbol>
130
+
131
+ <!-- MANDALA — Network topology web -->
132
+ <symbol id="icon-mandala" viewBox="0 0 24 24">
133
+ <circle cx="12" cy="12" r="9"/>
134
+ <circle cx="12" cy="12" r="4.5"/>
135
+ <line x1="12" y1="3" x2="12" y2="21"/>
136
+ <line x1="3" y1="12" x2="21" y2="12"/>
137
+ <line x1="5.6" y1="5.6" x2="18.4" y2="18.4"/>
138
+ <line x1="18.4" y1="5.6" x2="5.6" y2="18.4"/>
139
+ </symbol>
140
+
141
+ <!-- MANTRA — Gossip / prayer wheel -->
142
+ <symbol id="icon-mantra" viewBox="0 0 24 24">
143
+ <circle cx="12" cy="10" r="7"/>
144
+ <path d="M12 3v14"/>
145
+ <path d="M8 7c2 1.5 6 1.5 8 0"/>
146
+ <path d="M8 13c2-1.5 6-1.5 8 0"/>
147
+ <line x1="12" y1="17" x2="12" y2="22"/>
148
+ <line x1="9" y1="22" x2="15" y2="22"/>
149
+ </symbol>
150
+
151
+ <!-- GUMBA — Temple / access control -->
152
+ <symbol id="icon-gumba" viewBox="0 0 24 24">
153
+ <path d="M12 2L3 9h18z"/>
154
+ <line x1="5" y1="9" x2="5" y2="19"/>
155
+ <line x1="9" y1="9" x2="9" y2="19"/>
156
+ <line x1="15" y1="9" x2="15" y2="19"/>
157
+ <line x1="19" y1="9" x2="19" y2="19"/>
158
+ <line x1="3" y1="19" x2="21" y2="19"/>
159
+ <line x1="3" y1="21" x2="21" y2="21"/>
160
+ </symbol>
161
+
162
+ <!-- YURT — Camp / room -->
163
+ <symbol id="icon-yurt" viewBox="0 0 24 24">
164
+ <path d="M3 20L12 4l9 16"/>
165
+ <line x1="3" y1="20" x2="21" y2="20"/>
166
+ <path d="M10 20v-5a2 2 0 014 0v5"/>
167
+ <path d="M6 14h12"/>
168
+ </symbol>
169
+
170
+ <!-- KATHA — Chat / story scroll -->
171
+ <symbol id="icon-katha" viewBox="0 0 24 24">
172
+ <path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/>
173
+ <line x1="8" y1="8" x2="16" y2="8"/>
174
+ <line x1="8" y1="12" x2="13" y2="12"/>
175
+ </symbol>
176
+
177
+ <!-- VANI — Voice / microphone -->
178
+ <symbol id="icon-vani" viewBox="0 0 24 24">
179
+ <rect x="9" y="2" width="6" height="11" rx="3"/>
180
+ <path d="M5 10a7 7 0 0014 0"/>
181
+ <line x1="12" y1="17" x2="12" y2="22"/>
182
+ <line x1="8" y1="22" x2="16" y2="22"/>
183
+ </symbol>
184
+
185
+ <!-- DARSHAN — Eye / viewing -->
186
+ <symbol id="icon-darshan" viewBox="0 0 24 24">
187
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8S1 12 1 12z"/>
188
+ <circle cx="12" cy="12" r="3"/>
189
+ </symbol>
190
+
191
+ <!-- STUPA — Tower / distributed storage -->
192
+ <symbol id="icon-stupa" viewBox="0 0 24 24">
193
+ <line x1="12" y1="2" x2="12" y2="5"/>
194
+ <path d="M10 5h4l1 3H9z"/>
195
+ <ellipse cx="12" cy="11" rx="5" ry="3"/>
196
+ <ellipse cx="12" cy="15" rx="6" ry="3"/>
197
+ <ellipse cx="12" cy="19" rx="7" ry="3"/>
198
+ </symbol>
199
+
200
+ <!-- LAMA — Crystal ball / consensus -->
201
+ <symbol id="icon-lama" viewBox="0 0 24 24">
202
+ <circle cx="12" cy="10" r="7"/>
203
+ <path d="M12 3c-1.5 2-2 5 0 7s4.5 2 6 0"/>
204
+ <path d="M7 19h10"/>
205
+ <path d="M9 22h6"/>
206
+ <line x1="9" y1="17" x2="9" y2="19"/>
207
+ <line x1="15" y1="17" x2="15" y2="19"/>
208
+ </symbol>
209
+
210
+ <!-- MANI — Prayer stone / time sync -->
211
+ <symbol id="icon-mani" viewBox="0 0 24 24">
212
+ <circle cx="12" cy="12" r="9"/>
213
+ <polyline points="12 6 12 12 16 14"/>
214
+ <circle cx="12" cy="12" r="1" fill="currentColor"/>
215
+ </symbol>
216
+
217
+ <!-- KARMA — Yin-yang / reputation -->
218
+ <symbol id="icon-karma" viewBox="0 0 24 24">
219
+ <circle cx="12" cy="12" r="9"/>
220
+ <path d="M12 3a4.5 4.5 0 010 9 4.5 4.5 0 000 9"/>
221
+ <circle cx="12" cy="7.5" r="1.5" fill="currentColor"/>
222
+ <circle cx="12" cy="16.5" r="1.5"/>
223
+ </symbol>
224
+
225
+ <!-- TATTVA — Quantum elements / atom -->
226
+ <symbol id="icon-tattva" viewBox="0 0 24 24">
227
+ <circle cx="12" cy="12" r="2.5" fill="currentColor" stroke="none"/>
228
+ <ellipse cx="12" cy="12" rx="10" ry="4"/>
229
+ <ellipse cx="12" cy="12" rx="10" ry="4" transform="rotate(60 12 12)"/>
230
+ <ellipse cx="12" cy="12" rx="10" ry="4" transform="rotate(120 12 12)"/>
231
+ </symbol>
232
+
233
+ <!-- TRIBHUJ — Triangle / balanced ternary -->
234
+ <symbol id="icon-tribhuj" viewBox="0 0 24 24">
235
+ <polygon points="12,3 21,20 3,20"/>
236
+ <line x1="12" y1="3" x2="12" y2="20"/>
237
+ <line x1="7.5" y1="11.5" x2="16.5" y2="11.5"/>
238
+ <circle cx="12" cy="14" r="1" fill="currentColor"/>
239
+ </symbol>
240
+
241
+ <!-- YPC-27 — Lock / cipher -->
242
+ <symbol id="icon-ypc27" viewBox="0 0 24 24">
243
+ <rect x="5" y="11" width="14" height="10" rx="2"/>
244
+ <path d="M8 11V7a4 4 0 118 0v4"/>
245
+ <circle cx="12" cy="16" r="1" fill="currentColor"/>
246
+ <line x1="12" y1="17" x2="12" y2="19"/>
247
+ </symbol>
248
+
249
+ <!-- SAKSHI — Witness / aperture eye -->
250
+ <symbol id="icon-sakshi" viewBox="0 0 24 24">
251
+ <circle cx="12" cy="12" r="9"/>
252
+ <path d="M12 3l3 9-3 9"/>
253
+ <path d="M12 3l-3 9 3 9"/>
254
+ <circle cx="12" cy="12" r="2.5"/>
255
+ <circle cx="12" cy="12" r="0.8" fill="currentColor"/>
256
+ </symbol>
257
+
258
+ <!-- PRAMAAN — Globe / geographic proof -->
259
+ <symbol id="icon-pramaan" viewBox="0 0 24 24">
260
+ <circle cx="12" cy="12" r="9"/>
261
+ <ellipse cx="12" cy="12" rx="4" ry="9"/>
262
+ <line x1="3" y1="9" x2="21" y2="9"/>
263
+ <line x1="3" y1="15" x2="21" y2="15"/>
264
+ <path d="M18 4l-2 2 1 3"/>
265
+ <path d="M6 18l2-1 3 1"/>
266
+ </symbol>
267
+
268
+ <!-- SURAKSHA — Shield / security -->
269
+ <symbol id="icon-suraksha" viewBox="0 0 24 24">
270
+ <path d="M12 2l8 4v6c0 5.5-3.8 10.7-8 12-4.2-1.3-8-6.5-8-12V6z"/>
271
+ <polyline points="9 12 11 14 15 10"/>
272
+ </symbol>
273
+
274
+ <!-- TIVRA — Lightning bolt / acceleration -->
275
+ <symbol id="icon-tivra" viewBox="0 0 24 24">
276
+ <polygon points="13,2 3,14 12,14 11,22 21,10 12,10"/>
277
+ </symbol>
278
+
279
+ <!-- PRAHARI — Satellite / sentinel -->
280
+ <symbol id="icon-prahari" viewBox="0 0 24 24">
281
+ <rect x="9" y="9" width="6" height="6" rx="1" transform="rotate(45 12 12)"/>
282
+ <line x1="12" y1="5" x2="12" y2="2"/>
283
+ <line x1="19" y1="12" x2="22" y2="12"/>
284
+ <line x1="12" y1="19" x2="12" y2="22"/>
285
+ <line x1="5" y1="12" x2="2" y2="12"/>
286
+ <path d="M7 7L5 5"/>
287
+ <path d="M17 7l2-2"/>
288
+ </symbol>
289
+
290
+ <!-- DHARMA — Balance scale / content moderation -->
291
+ <symbol id="icon-dharma" viewBox="0 0 24 24">
292
+ <line x1="12" y1="3" x2="12" y2="21"/>
293
+ <line x1="4" y1="7" x2="20" y2="7"/>
294
+ <path d="M4 7l2 7h0a3 3 0 006 0h0l2-7"/>
295
+ <path d="M14 7l2 7h0a3 3 0 006 0h0l2-7"/>
296
+ <line x1="10" y1="21" x2="14" y2="21"/>
297
+ </symbol>
298
+
299
+ <!-- SEVA — Helping hands / NPU sharing -->
300
+ <symbol id="icon-seva" viewBox="0 0 24 24">
301
+ <path d="M12 22c-4 0-8-2-8-6 0-2 1-3 3-4l5-3 5 3c2 1 3 2 3 4 0 4-4 6-8 6z"/>
302
+ <path d="M12 11V5"/>
303
+ <path d="M9 8l3-3 3 3"/>
304
+ <circle cx="12" cy="16" r="2"/>
305
+ </symbol>
306
+
307
+ <!-- ═══ APPLICATIONS ═══ -->
308
+
309
+ <!-- YakApp — Messenger -->
310
+ <symbol id="icon-yakapp" viewBox="0 0 24 24">
311
+ <path d="M21 11.5a8.38 8.38 0 01-.9 3.8 8.5 8.5 0 01-7.6 4.7 8.38 8.38 0 01-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 01-.9-3.8 8.5 8.5 0 014.7-7.6 8.38 8.38 0 013.8-.9h.5a8.48 8.48 0 018 8v.5z"/>
312
+ </symbol>
313
+
314
+ <!-- C2C — Core to Cosmos -->
315
+ <symbol id="icon-c2c" viewBox="0 0 24 24">
316
+ <circle cx="12" cy="12" r="3"/>
317
+ <circle cx="12" cy="12" r="9"/>
318
+ <path d="M12 3v3"/>
319
+ <path d="M12 18v3"/>
320
+ <path d="M3 12h3"/>
321
+ <path d="M18 12h3"/>
322
+ </symbol>
323
+
324
+ <!-- Studio — Creative suite -->
325
+ <symbol id="icon-studio" viewBox="0 0 24 24">
326
+ <circle cx="13.5" cy="6.5" r="2.5"/>
327
+ <path d="M6 21l4-10 3 5 4-7 4 12"/>
328
+ <rect x="2" y="2" width="20" height="20" rx="2"/>
329
+ </symbol>
330
+
331
+
332
+ <!-- ═══ REFERENCE ═══ -->
333
+
334
+ <!-- Quick Reference — Clipboard -->
335
+ <symbol id="icon-quickref" viewBox="0 0 24 24">
336
+ <path d="M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2"/>
337
+ <rect x="8" y="2" width="8" height="4" rx="1"/>
338
+ <line x1="8" y1="10" x2="16" y2="10"/>
339
+ <line x1="8" y1="14" x2="16" y2="14"/>
340
+ <line x1="8" y1="18" x2="12" y2="18"/>
341
+ </symbol>
342
+
343
+ <!-- GRANTH — Docs bundle -->
344
+ <symbol id="icon-granth" viewBox="0 0 24 24">
345
+ <path d="M4 19.5A2.5 2.5 0 016.5 17H20"/>
346
+ <path d="M6.5 2H20v20H6.5A2.5 2.5 0 014 19.5v-15A2.5 2.5 0 016.5 2z"/>
347
+ <path d="M8 7h8"/>
348
+ <path d="M8 11h5"/>
349
+ <path d="M8 15h3"/>
350
+ </symbol>
351
+
352
+ <!-- API — Signal tower -->
353
+ <symbol id="icon-api" viewBox="0 0 24 24">
354
+ <line x1="12" y1="10" x2="12" y2="22"/>
355
+ <path d="M8 6a6 6 0 018 0"/>
356
+ <path d="M5 3a10 10 0 0114 0"/>
357
+ <circle cx="12" cy="10" r="2"/>
358
+ </symbol>
359
+
360
+ <!-- Adapters — Plug connector -->
361
+ <symbol id="icon-adapters" viewBox="0 0 24 24">
362
+ <path d="M6 3v4"/>
363
+ <path d="M10 3v4"/>
364
+ <path d="M4 7h8v3a4 4 0 01-8 0V7z"/>
365
+ <line x1="8" y1="14" x2="8" y2="17"/>
366
+ <path d="M14 10h4v3a2 2 0 01-4 0v-3z"/>
367
+ <line x1="16" y1="7" x2="16" y2="10"/>
368
+ <line x1="16" y1="13" x2="16" y2="17"/>
369
+ <line x1="8" y1="17" x2="16" y2="17"/>
370
+ <line x1="12" y1="17" x2="12" y2="21"/>
371
+ </symbol>
372
+
373
+ <!-- ═══ EXTRA (pages outside nav-order) ═══ -->
374
+
375
+ <!-- Terminal / CLI -->
376
+ <symbol id="icon-terminal" viewBox="0 0 24 24">
377
+ <rect x="2" y="3" width="20" height="18" rx="2"/>
378
+ <polyline points="7 9 10 12 7 15"/>
379
+ <line x1="13" y1="15" x2="17" y2="15"/>
380
+ </symbol>
381
+
382
+ <!-- Gear / Configuration -->
383
+ <symbol id="icon-gear" viewBox="0 0 24 24">
384
+ <circle cx="12" cy="12" r="3"/>
385
+ <path d="M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 01-2.83 2.83l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06A1.65 1.65 0 004.68 15a1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06A1.65 1.65 0 009 4.68a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06A1.65 1.65 0 0019.4 9a1.65 1.65 0 001.51 1H21a2 2 0 010 4h-.09a1.65 1.65 0 00-1.51 1z"/>
386
+ </symbol>
387
+
388
+ <!-- Server / Web hosting -->
389
+ <symbol id="icon-server" viewBox="0 0 24 24">
390
+ <rect x="2" y="2" width="20" height="8" rx="2"/>
391
+ <rect x="2" y="14" width="20" height="8" rx="2"/>
392
+ <line x1="6" y1="6" x2="6.01" y2="6"/>
393
+ <line x1="6" y1="18" x2="6.01" y2="18"/>
394
+ </symbol>
395
+
396
+ <!-- ═══ CHROME / UI ═══ -->
397
+
398
+ <!-- Mountain peak — logo icon (replaces 🏔️) -->
399
+ <symbol id="icon-mountain" viewBox="0 0 24 24">
400
+ <path d="M8 21l4.5-9 3 5.5L19 12l3 9H2l6-9z"/>
401
+ <path d="M12 12l1.5-3L16 14"/>
402
+ </symbol>
403
+
404
+ <!-- Dashboard / bar chart (replaces 📊) -->
405
+ <symbol id="icon-dashboard" viewBox="0 0 24 24">
406
+ <line x1="18" y1="20" x2="18" y2="10"/>
407
+ <line x1="12" y1="20" x2="12" y2="4"/>
408
+ <line x1="6" y1="20" x2="6" y2="14"/>
409
+ <rect x="2" y="2" width="20" height="20" rx="2" stroke-opacity="0.4"/>
410
+ </symbol>
411
+
412
+ <!-- ═══ GENERIC / CONTENT ICONS ═══ -->
413
+
414
+ <!-- Lock / encrypted (replaces 🔐) -->
415
+ <symbol id="icon-lock" viewBox="0 0 24 24">
416
+ <rect x="3" y="11" width="18" height="11" rx="2"/>
417
+ <path d="M7 11V7a5 5 0 0110 0v4"/>
418
+ </symbol>
419
+
420
+ <!-- Signal / broadcast (replaces 📡) -->
421
+ <symbol id="icon-signal" viewBox="0 0 24 24">
422
+ <path d="M2 12a10 10 0 0118 0"/>
423
+ <path d="M5 12a7 7 0 0112 0"/>
424
+ <path d="M8 12a4 4 0 016 0"/>
425
+ <circle cx="11" cy="12" r="1"/>
426
+ </symbol>
427
+
428
+ <!-- Link / chain (replaces 🔗) -->
429
+ <symbol id="icon-link" viewBox="0 0 24 24">
430
+ <path d="M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71"/>
431
+ <path d="M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71"/>
432
+ </symbol>
433
+
434
+ <!-- Globe / network (replaces 🌐) -->
435
+ <symbol id="icon-globe" viewBox="0 0 24 24">
436
+ <circle cx="12" cy="12" r="10"/>
437
+ <line x1="2" y1="12" x2="22" y2="12"/>
438
+ <path d="M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z"/>
439
+ </symbol>
440
+
441
+ <!-- Sync / refresh (replaces 🔄) -->
442
+ <symbol id="icon-sync" viewBox="0 0 24 24">
443
+ <polyline points="23 4 23 10 17 10"/>
444
+ <polyline points="1 20 1 14 7 14"/>
445
+ <path d="M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"/>
446
+ </symbol>
447
+
448
+ <!-- Users / group (replaces 👥) -->
449
+ <symbol id="icon-users" viewBox="0 0 24 24">
450
+ <path d="M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2"/>
451
+ <circle cx="9" cy="7" r="4"/>
452
+ <path d="M23 21v-2a4 4 0 00-3-3.87"/>
453
+ <path d="M16 3.13a4 4 0 010 7.75"/>
454
+ </symbol>
455
+
456
+ <!-- Shield / protection (replaces 🛡) -->
457
+ <symbol id="icon-shield" viewBox="0 0 24 24">
458
+ <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>
459
+ </symbol>
460
+
461
+ <!-- Heartbeat / pulse (replaces 💓) -->
462
+ <symbol id="icon-heartbeat" viewBox="0 0 24 24">
463
+ <path d="M3 12h4l3-9 4 18 3-9h4"/>
464
+ </symbol>
465
+
466
+ <!-- Map pin / location (replaces 📍) -->
467
+ <symbol id="icon-pin" viewBox="0 0 24 24">
468
+ <path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/>
469
+ <circle cx="12" cy="10" r="3"/>
470
+ </symbol>
471
+
472
+ <!-- Traffic light / status (replaces 🚦) -->
473
+ <symbol id="icon-traffic" viewBox="0 0 24 24">
474
+ <rect x="7" y="2" width="10" height="20" rx="3"/>
475
+ <circle cx="12" cy="7" r="1.5"/>
476
+ <circle cx="12" cy="12" r="1.5"/>
477
+ <circle cx="12" cy="17" r="1.5"/>
478
+ </symbol>
479
+
480
+ <!-- Check circle (replaces ✅) -->
481
+ <symbol id="icon-check" viewBox="0 0 24 24">
482
+ <path d="M22 11.08V12a10 10 0 11-5.93-9.14"/>
483
+ <polyline points="22 4 12 14.01 9 11.01"/>
484
+ </symbol>
485
+
486
+ <!-- Megaphone / broadcast (replaces 📢) -->
487
+ <symbol id="icon-megaphone" viewBox="0 0 24 24">
488
+ <path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/>
489
+ </symbol>
490
+
491
+ <!-- Pen / signed (replaces ✍) -->
492
+ <symbol id="icon-pen" viewBox="0 0 24 24">
493
+ <path d="M12 20h9"/>
494
+ <path d="M16.5 3.5a2.121 2.121 0 013 3L7 19l-4 1 1-4L16.5 3.5z"/>
495
+ </symbol>
496
+
497
+ <!-- Warning / alert (replaces ⚠) -->
498
+ <symbol id="icon-warning" viewBox="0 0 24 24">
499
+ <path d="M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z"/>
500
+ <line x1="12" y1="9" x2="12" y2="13"/>
501
+ <line x1="12" y1="17" x2="12.01" y2="17"/>
502
+ </symbol>
503
+
504
+ <!-- Hourglass / timer (replaces ⏳) -->
505
+ <symbol id="icon-hourglass" viewBox="0 0 24 24">
506
+ <path d="M6 2h12v5l-4 4 4 4v5H6v-5l4-4-4-4V2z"/>
507
+ </symbol>
508
+
509
+ <!-- Scroll / document (replaces 📜) -->
510
+ <symbol id="icon-scroll" viewBox="0 0 24 24">
511
+ <path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/>
512
+ <polyline points="14 2 14 8 20 8"/>
513
+ <line x1="16" y1="13" x2="8" y2="13"/>
514
+ <line x1="16" y1="17" x2="8" y2="17"/>
515
+ </symbol>
516
+
517
+ <!-- Bolt / lightning (replaces ⚡) -->
518
+ <symbol id="icon-bolt" viewBox="0 0 24 24">
519
+ <polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>
520
+ </symbol>
521
+
522
+ <!-- Target / crosshair (replaces 🎯) -->
523
+ <symbol id="icon-target" viewBox="0 0 24 24">
524
+ <circle cx="12" cy="12" r="10"/>
525
+ <circle cx="12" cy="12" r="6"/>
526
+ <circle cx="12" cy="12" r="2"/>
527
+ </symbol>
528
+
529
+ <!-- Handshake / trust (replaces 🤝) -->
530
+ <symbol id="icon-handshake" viewBox="0 0 24 24">
531
+ <path d="M11 17l-3.5-3.5a2.12 2.12 0 013-3L14 14"/>
532
+ <path d="M20.88 7.12l-3.17 3.17"/>
533
+ <path d="M3.12 7.12l3.17 3.17"/>
534
+ <path d="M2 12h4"/>
535
+ <path d="M18 12h4"/>
536
+ <path d="M7.76 4.25L12 2l4.24 2.25"/>
537
+ </symbol>
538
+
539
+ <!-- Leaf / organic (replaces 🌿) -->
540
+ <symbol id="icon-leaf" viewBox="0 0 24 24">
541
+ <path d="M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 0-8 0-10 2"/>
542
+ <path d="M7 15c2-2 5.5-3 9-3"/>
543
+ </symbol>
544
+
545
+ <!-- Satellite (replaces 🛰) -->
546
+ <symbol id="icon-satellite" viewBox="0 0 24 24">
547
+ <path d="M13 7L9 3 5 7l4 4"/>
548
+ <path d="M17 11l4 4-4 4-4-4"/>
549
+ <line x1="8" y1="11" x2="13" y2="16"/>
550
+ <line x1="3" y1="21" x2="3.01" y2="21"/>
551
+ <path d="M6 18a3 3 0 000 0"/>
552
+ <path d="M9 15a6 6 0 000 0"/>
553
+ </symbol>
554
+
555
+ <!-- Phone / mobile (replaces 📱) -->
556
+ <symbol id="icon-phone" viewBox="0 0 24 24">
557
+ <rect x="5" y="2" width="14" height="20" rx="2"/>
558
+ <line x1="12" y1="18" x2="12.01" y2="18"/>
559
+ </symbol>
560
+
561
+ <!-- Masks / theater (replaces 🎭) -->
562
+ <symbol id="icon-masks" viewBox="0 0 24 24">
563
+ <circle cx="12" cy="12" r="10"/>
564
+ <path d="M8 14s1.5 2 4 2 4-2 4-2"/>
565
+ <line x1="9" y1="9" x2="9.01" y2="9"/>
566
+ <line x1="15" y1="9" x2="15.01" y2="9"/>
567
+ </symbol>
568
+
569
+ <!-- Stars / cosmos (replaces 🌌) -->
570
+ <symbol id="icon-cosmos" viewBox="0 0 24 24">
571
+ <polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/>
572
+ </symbol>
573
+
574
+ <!-- Gem / diamond (replaces 💎) -->
575
+ <symbol id="icon-gem" viewBox="0 0 24 24">
576
+ <polygon points="6 3 18 3 22 9 12 22 2 9 6 3"/>
577
+ <line x1="2" y1="9" x2="22" y2="9"/>
578
+ <line x1="12" y1="22" x2="8" y2="9"/>
579
+ <line x1="12" y1="22" x2="16" y2="9"/>
580
+ <line x1="8" y1="9" x2="10" y2="3"/>
581
+ <line x1="16" y1="9" x2="14" y2="3"/>
582
+ </symbol>
583
+
584
+ <!-- Search / magnifying glass (replaces 🔍) -->
585
+ <symbol id="icon-search" viewBox="0 0 24 24">
586
+ <circle cx="11" cy="11" r="8"/>
587
+ <line x1="21" y1="21" x2="16.65" y2="16.65"/>
588
+ </symbol>
589
+
590
+ </svg>
591
+ <!-- YAKMESH-ICON-SPRITE-END -->
592
+ <a href="#mainContent" class="skip-link">Skip to main content</a>
593
+
594
+ <nav class="docs-sidebar" id="sidebar">
595
+ <a href="index.html" class="sidebar-logo">
596
+ <span class="logo-icon"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mountain"/></svg></span>
597
+ <span class="logo-text">Yakmesh</span>
598
+ </a>
599
+ <a href="/dashboard" class="sidebar-dashboard-link"><svg class="doc-icon" aria-hidden="true"><use href="#icon-dashboard"/></svg> <span>Dashboard</span></a>
600
+ <ul class="sidebar-nav">
601
+ <li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-book"/></svg> Guides</span></li>
602
+ <li><a href="index.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-home"/></svg> <span>Overview</span></a></li>
603
+ <li><a href="getting-started.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-rocket"/></svg> <span>Getting Started</span></a></li>
604
+ <li><a href="tutorials.html" class="active"><svg class="doc-icon" aria-hidden="true"><use href="#icon-book"/></svg> <span>Tutorials</span></a></li>
605
+ <li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-yak"/></svg> Protocol Stack</span></li>
606
+ <li><a href="yak-protocol.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-yak"/></svg> <span>YAK://</span></a></li>
607
+ <li><a href="annex.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-annex"/></svg> <span>ANNEX</span></a></li>
608
+ <li><a href="jhilke.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-jhilke"/></svg> <span>JHILKE</span></a></li>
609
+ <li><a href="nakpak.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-nakpak"/></svg> <span>NAKPAK</span></a></li>
610
+ <li><a href="namche.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-namche"/></svg> <span>NAMCHE</span></a></li>
611
+ <li><a href="doko.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-doko"/></svg> <span>DOKO</span></a></li>
612
+ <li><a href="sherpa.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-sherpa"/></svg> <span>SHERPA</span></a></li>
613
+ <li><a href="mandala.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mandala"/></svg> <span>MANDALA</span></a></li>
614
+ <li><a href="mantra.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mantra"/></svg> <span>MANTRA</span></a></li>
615
+ <li><a href="gumba.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-gumba"/></svg> <span>GUMBA</span></a></li>
616
+ <li><a href="yurt.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-yurt"/></svg> <span>YURT</span></a></li>
617
+ <li><a href="katha.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-katha"/></svg> <span>KATHA</span></a></li>
618
+ <li><a href="vani.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-vani"/></svg> <span>VANI</span></a></li>
619
+ <li><a href="darshan.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-darshan"/></svg> <span>DARSHAN</span></a></li>
620
+ <li><a href="stupa.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-stupa"/></svg> <span>STUPA</span></a></li>
621
+ <li><a href="lama.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-lama"/></svg> <span>LAMA</span></a></li>
622
+ <li><a href="mani.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mani"/></svg> <span>MANI</span></a></li>
623
+ <li><a href="karma.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-karma"/></svg> <span>KARMA</span></a></li>
624
+ <li><a href="tattva.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-tattva"/></svg> <span>TATTVA</span></a></li>
625
+ <li><a href="tribhuj.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-tribhuj"/></svg> <span>TRIBHUJ</span></a></li>
626
+ <li><a href="ypc27.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-ypc27"/></svg> <span>YPC-27</span></a></li>
627
+ <li><a href="sakshi.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-sakshi"/></svg> <span>SAKSHI</span></a></li>
628
+ <li><a href="geo-proof.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-pramaan"/></svg> <span>PRAMAAN</span></a></li>
629
+ <li><a href="trust-security.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-suraksha"/></svg> <span>SURAKSHA</span></a></li>
630
+ <li><a href="tivra.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-tivra"/></svg> <span>TIVRA</span></a></li>
631
+ <li><a href="prahari.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-prahari"/></svg> <span>PRAHARI</span></a></li>
632
+ <li><a href="dharma.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-dharma"/></svg> <span>DHARMA</span></a></li>
633
+ <li><a href="seva.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-seva"/></svg> <span>SEVA</span></a></li>
634
+ <li><a href="docs-bundle.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-granth"/></svg> <span>GRANTH</span></a></li>
635
+ <li><a href="api.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-api"/></svg> <span>API</span></a></li>
636
+ <li><a href="adapters.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-adapters"/></svg> <span>Adapters</span></a></li>
637
+ <li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-rocket"/></svg> Applications</span></li>
638
+ <li><a href="yakapp.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-yakapp"/></svg> <span>YakApp</span></a></li>
639
+ <li><a href="c2c.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-c2c"/></svg> <span>C2C</span></a></li>
640
+ <li><a href="studio.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-studio"/></svg> <span>Studio</span></a></li>
641
+ <li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-gear"/></svg> Infrastructure</span></li>
642
+ <li><a href="cli.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-terminal"/></svg> <span>CLI</span></a></li>
643
+ <li><a href="configuration.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-gear"/></svg> <span>Configuration</span></a></li>
644
+ <li><a href="mesh.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mandala"/></svg> <span>Mesh Network</span></a></li>
645
+ <li><a href="time-sources.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mani"/></svg> <span>Time Sources</span></a></li>
646
+ <li><a href="webserver.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-server"/></svg> <span>Web Server</span></a></li>
647
+ <li><a href="advanced-systems.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-tivra"/></svg> <span>Advanced Systems</span></a></li>
648
+ <li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-book"/></svg> Tutorials</span></li>
649
+ <li><a href="gumba-tutorial.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-gumba"/></svg> <span>GUMBA Tutorial</span></a></li>
650
+ <li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-quickref"/></svg> Reference</span></li>
651
+ <li><a href="quick-reference.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-quickref"/></svg> <span>Quick Ref</span></a></li>
652
+ </ul>
653
+ </nav>
654
+
655
+ <button class="sidebar-toggle" id="sidebarToggle" title="Toggle sidebar">
656
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
657
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 19l-7-7 7-7m8 14l-7-7 7-7" />
658
+ </svg>
659
+ </button>
660
+
661
+ <div class="sidebar-overlay" id="sidebarOverlay"></div>
662
+
663
+ <main class="docs-main" id="mainContent">
664
+ <div class="docs-content">
665
+
666
+ <!-- Page Header -->
667
+ <div class="flex items-center gap-3 mb-4">
668
+ <svg class="doc-icon hero-icon" aria-hidden="true"><use href="#icon-book"/></svg>
669
+ <div>
670
+ <h1 class="text-4xl font-bold">Tutorials</h1>
671
+ <p class="theme-accent">Practical guides for real-world use cases</p>
672
+ </div>
673
+ </div>
674
+ <p class="text-xl text-mountain-300 mb-8">
675
+ Step-by-step instructions for hosting websites, sharing content, and building on YAKMESH.
676
+ </p>
677
+
678
+ <!-- Quick Links -->
679
+ <div class="grid md:grid-cols-3 gap-4 mb-12">
680
+ <a href="#host-website" class="tutorial-card block">
681
+ <div class="text-2xl mb-2"><svg class="doc-icon card-icon" width="24" height="24" aria-hidden="true"><use href="#icon-globe"/></svg></div>
682
+ <h2 class="font-bold mb-1">Host a Website</h2>
683
+ <p class="text-sm text-mountain-400">Serve your site locally and to the internet</p>
684
+ </a>
685
+ <a href="#yak-protocol" class="tutorial-card block">
686
+ <div class="text-2xl mb-2"><svg class="doc-icon card-icon" width="24" height="24" aria-hidden="true"><use href="#icon-yak"/></svg></div>
687
+ <h3 class="font-bold mb-1">YAK:// Protocol</h3>
688
+ <p class="text-sm text-mountain-400">Share content with yak:// links</p>
689
+ </a>
690
+ <a href="#mesh-network" class="tutorial-card block">
691
+ <div class="text-2xl mb-2"><svg class="doc-icon card-icon" width="24" height="24" aria-hidden="true"><use href="#icon-mandala"/></svg></div>
692
+ <h3 class="font-bold mb-1">Join the Mesh</h3>
693
+ <p class="text-sm text-mountain-400">Connect to the YAKMESH network</p>
694
+ </a>
695
+ </div>
696
+
697
+ <!-- =========== TUTORIAL 1: HOST A WEBSITE =========== -->
698
+ <section id="host-website" class="mb-16">
699
+ <h2 class="text-3xl font-bold mb-6 flex items-center gap-3">
700
+ <svg class="doc-icon hero-icon" aria-hidden="true"><use href="#icon-book"/></svg> Tutorial 1: Host a Website
701
+ </h2>
702
+
703
+ <p class="text-mountain-300 mb-6">
704
+ This tutorial shows you how to serve a static website using YAKMESH. Your site will be
705
+ accessible on your local network and optionally to the internet.
706
+ </p>
707
+
708
+ <!-- Step 1 -->
709
+ <div class="tutorial-card">
710
+ <h3 class="text-xl font-bold mb-3"><span class="step-number">1</span> Install YAKMESH</h3>
711
+ <p class="text-mountain-300 mb-4">First, install YAKMESH globally (or in your project):</p>
712
+ <pre class="language-bash"><code># Global install (recommended for beginners)
713
+ npm install -g yakmesh
714
+
715
+ # Or project-local
716
+ npm install yakmesh</code></pre>
717
+ </div>
718
+
719
+ <!-- Step 2 -->
720
+ <div class="tutorial-card">
721
+ <h3 class="text-xl font-bold mb-3"><span class="step-number">2</span> Create Your Website Folder</h3>
722
+ <p class="text-mountain-300 mb-4">Create a folder with your website files:</p>
723
+ <pre class="language-bash"><code>mkdir my-website
724
+ cd my-website
725
+
726
+ # Create a simple index.html
727
+ echo '&lt;!DOCTYPE html&gt;
728
+ &lt;html&gt;
729
+ &lt;head&gt;&lt;title&gt;My YAKMESH Site&lt;/title&gt;&lt;/head&gt;
730
+ &lt;body&gt;
731
+ &lt;h1&gt;Hello from YAKMESH!&lt;/h1&gt;
732
+ &lt;p&gt;This site is served by a quantum-resistant mesh network.&lt;/p&gt;
733
+ &lt;/body&gt;
734
+ &lt;/html&gt;' > index.html</code></pre>
735
+ </div>
736
+
737
+ <!-- Step 3 -->
738
+ <div class="tutorial-card">
739
+ <h3 class="text-xl font-bold mb-3"><span class="step-number">3</span> Create Configuration</h3>
740
+ <p class="text-mountain-300 mb-4">Create a <code>yakmesh.config.js</code> file:</p>
741
+ <pre class="language-javascript"><code>// yakmesh.config.js
742
+ module.exports = {
743
+ // Server settings
744
+ port: 3000,
745
+ host: '0.0.0.0', // Listen on all interfaces (LAN accessible)
746
+
747
+ // Website folder
748
+ webserver: {
749
+ enabled: true,
750
+ root: './', // Serve files from current folder
751
+ index: 'index.html'
752
+ },
753
+
754
+ // Dashboard (optional)
755
+ dashboard: true,
756
+
757
+ // Mesh settings (optional)
758
+ mesh: {
759
+ enabled: true,
760
+ discovery: true // Find other YAKMESH nodes
761
+ }
762
+ };</code></pre>
763
+ </div>
764
+
765
+ <!-- Step 4 -->
766
+ <div class="tutorial-card">
767
+ <h3 class="text-xl font-bold mb-3"><span class="step-number">4</span> Start the Server</h3>
768
+ <p class="text-mountain-300 mb-4">Launch your YAKMESH node:</p>
769
+ <pre class="language-bash"><code># If installed globally
770
+ yakmesh start
771
+
772
+ # If installed locally
773
+ npx yakmesh start</code></pre>
774
+ <p class="text-mountain-300 mt-4">You should see output like:</p>
775
+ <pre class="language-bash"><code>🏔️ YAKMESH v2.8.2 starting...
776
+ ✓ Codebase locked: 65 files protected
777
+ ✓ Oracle System initialized
778
+ ✓ Webserver ready
779
+ 🌐 Server running at http://localhost:3000
780
+ 📊 Dashboard at http://localhost:3000/dashboard</code></pre>
781
+ </div>
782
+
783
+ <!-- Step 5 -->
784
+ <div class="tutorial-card">
785
+ <h3 class="text-xl font-bold mb-3"><span class="step-number">5</span> Access Your Site</h3>
786
+ <p class="text-mountain-300 mb-4">Your website is now accessible:</p>
787
+ <ul class="list-disc list-inside text-mountain-300 space-y-2">
788
+ <li><strong>Local:</strong> <code>http://localhost:3000</code></li>
789
+ <li><strong>LAN:</strong> <code>http://192.168.x.x:3000</code> (your computer's IP)</li>
790
+ <li><strong>Dashboard:</strong> <code>http://localhost:3000/dashboard</code></li>
791
+ </ul>
792
+ </div>
793
+
794
+ <!-- Exposing to Internet -->
795
+ <div class="tutorial-card border-yellow-500">
796
+ <h3 class="text-xl font-bold mb-3"><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-globe"/></svg> Exposing to the Internet</h3>
797
+ <p class="text-mountain-300 mb-4">To make your site accessible from anywhere:</p>
798
+
799
+ <h4 class="font-bold mt-4 mb-2">Option A: Port Forwarding (Home Network)</h4>
800
+ <ol class="list-decimal list-inside text-mountain-300 space-y-2 mb-4">
801
+ <li>Log into your router admin panel (usually <code>192.168.1.1</code>)</li>
802
+ <li>Find "Port Forwarding" settings</li>
803
+ <li>Forward external port 80 or 443 to your computer's IP, port 3000</li>
804
+ <li>Get your public IP from <code>whatismyip.com</code></li>
805
+ </ol>
806
+
807
+ <h4 class="font-bold mt-4 mb-2">Option B: Cloudflare Tunnel (Recommended)</h4>
808
+ <pre class="language-bash"><code># Install cloudflared
809
+ npm install -g cloudflared
810
+
811
+ # Create a tunnel
812
+ cloudflared tunnel --url http://localhost:3000</code></pre>
813
+ <p class="text-mountain-300 mt-2">This gives you a free HTTPS URL without port forwarding.</p>
814
+
815
+ <h4 class="font-bold mt-4 mb-2">Option C: VPS Hosting</h4>
816
+ <p class="text-mountain-300">Deploy to a VPS (DigitalOcean, Linode, etc.) and run YAKMESH there.</p>
817
+ </div>
818
+ </section>
819
+
820
+ <!-- =========== TUTORIAL 2: YAK PROTOCOL =========== -->
821
+ <section id="yak-protocol" class="mb-16">
822
+ <h2 class="text-3xl font-bold mb-6 flex items-center gap-3">
823
+ <svg class="doc-icon hero-icon" aria-hidden="true"><use href="#icon-book"/></svg> Tutorial 2: Using the YAK:// Protocol
824
+ </h2>
825
+
826
+ <p class="text-mountain-300 mb-6">
827
+ The <code>yak://</code> protocol is YAKMESH's native content addressing system.
828
+ It lets you share content with cryptographic links that work across the mesh.
829
+ </p>
830
+
831
+ <!-- What is YAK -->
832
+ <div class="tutorial-card">
833
+ <h3 class="text-xl font-bold mb-3">What is yak://</h3>
834
+ <p class="text-mountain-300 mb-4">YAK links look like this:</p>
835
+ <pre class="language-bash"><code>yak://abc123def456.../my-file.txt
836
+ yak://node-id/path/to/resource</code></pre>
837
+ <p class="text-mountain-300 mt-4">
838
+ Unlike HTTP, YAK links are <strong>content-addressed</strong>. The link includes
839
+ a cryptographic hash of the content, so you can verify what you receive is authentic.
840
+ </p>
841
+ </div>
842
+
843
+ <!-- Register Protocol -->
844
+ <div class="tutorial-card">
845
+ <h3 class="text-xl font-bold mb-3"><span class="step-number">1</span> Register the Protocol</h3>
846
+ <p class="text-mountain-300 mb-4">On Windows, register yak:// as a URL handler:</p>
847
+ <pre class="language-bash"><code># Run as Administrator
848
+ yakmesh register-protocol</code></pre>
849
+ <p class="text-mountain-300 mt-4">This allows your browser to open yak:// links directly.</p>
850
+ </div>
851
+
852
+ <!-- Share Content -->
853
+ <div class="tutorial-card">
854
+ <h3 class="text-xl font-bold mb-3"><span class="step-number">2</span> Share Content</h3>
855
+ <p class="text-mountain-300 mb-4">Add content to your node and get a yak:// link:</p>
856
+ <pre class="language-javascript"><code>// In your application
857
+ const yakmesh = require('yakmesh');
858
+
859
+ // Add content to DOKO (content store)
860
+ const result = await yakmesh.doko.put('Hello, YAKMESH!', {
861
+ type: 'text/plain',
862
+ name: 'greeting.txt'
863
+ });
864
+
865
+ console.log('Share this link:', result.yakUrl);
866
+ // Output: yak://abc123.../greeting.txt</code></pre>
867
+ </div>
868
+
869
+ <!-- Retrieve Content -->
870
+ <div class="tutorial-card">
871
+ <h3 class="text-xl font-bold mb-3"><span class="step-number">3</span> Retrieve Content</h3>
872
+ <p class="text-mountain-300 mb-4">Fetch content using a yak:// link:</p>
873
+ <pre class="language-javascript"><code>// Fetch from yak:// link
874
+ const content = await yakmesh.doko.get('yak://abc123.../greeting.txt');
875
+ console.log(content); // "Hello, YAKMESH!"</code></pre>
876
+ </div>
877
+
878
+ <!-- CLI Usage -->
879
+ <div class="tutorial-card">
880
+ <h3 class="text-xl font-bold mb-3">CLI Commands</h3>
881
+ <pre class="language-bash"><code># Share a file
882
+ yakmesh share ./my-document.pdf
883
+
884
+ # Open a yak:// link
885
+ yakmesh open yak://abc123.../document.pdf
886
+
887
+ # List your shared content
888
+ yakmesh doko list</code></pre>
889
+ </div>
890
+ </section>
891
+
892
+ <!-- =========== TUTORIAL 3: MESH NETWORK =========== -->
893
+ <section id="mesh-network" class="mb-16">
894
+ <h2 class="text-3xl font-bold mb-6 flex items-center gap-3">
895
+ <svg class="doc-icon hero-icon" aria-hidden="true"><use href="#icon-book"/></svg> Tutorial 3: Joining the Mesh Network
896
+ </h2>
897
+
898
+ <p class="text-mountain-300 mb-6">
899
+ YAKMESH nodes automatically discover and connect to each other. Here's how to
900
+ participate in the mesh.
901
+ </p>
902
+
903
+ <!-- Enable Mesh -->
904
+ <div class="tutorial-card">
905
+ <h3 class="text-xl font-bold mb-3"><span class="step-number">1</span> Enable Mesh Networking</h3>
906
+ <p class="text-mountain-300 mb-4">In your <code>yakmesh.config.js</code>:</p>
907
+ <pre class="language-javascript"><code>module.exports = {
908
+ mesh: {
909
+ enabled: true,
910
+ discovery: true, // Auto-discover peers
911
+ announce: true, // Announce to discovery servers
912
+ maxPeers: 50 // Maximum connections
913
+ },
914
+
915
+ // Optional: Connect to specific peers
916
+ bootstrap: [
917
+ 'https://yakmesh.dev/.well-known/yakmesh',
918
+ 'https://seed1.yakmesh.devwork'
919
+ ]
920
+ };</code></pre>
921
+ </div>
922
+
923
+ <!-- Check Peers -->
924
+ <div class="tutorial-card">
925
+ <h3 class="text-xl font-bold mb-3"><span class="step-number">2</span> Check Connected Peers</h3>
926
+ <p class="text-mountain-300 mb-4">View your mesh connections:</p>
927
+ <pre class="language-bash"><code># CLI command
928
+ yakmesh peers
929
+
930
+ # Or via API
931
+ curl http://localhost:3000/api/mesh/peers</code></pre>
932
+ <p class="text-mountain-300 mt-4">Output shows connected nodes, their trust levels, and latency.</p>
933
+ </div>
934
+
935
+ <!-- What You Get -->
936
+ <div class="tutorial-card">
937
+ <h3 class="text-xl font-bold mb-3">What the Mesh Provides</h3>
938
+ <ul class="list-disc list-inside text-mountain-300 space-y-2">
939
+ <li><strong>Content Availability:</strong> Your shared content remains accessible even when you're offline (cached by peers)</li>
940
+ <li><strong>Time Synchronization:</strong> Atomic-precision timing via MANI protocol</li>
941
+ <li><strong>Peer Discovery:</strong> Automatic finding of nearby nodes via SHERPA</li>
942
+ <li><strong>Geographic Proofs:</strong> Prove your location without revealing exact coordinates</li>
943
+ <li><strong>Redundancy:</strong> Data replicated across trusted peers</li>
944
+ </ul>
945
+ </div>
946
+ </section>
947
+
948
+ <!-- =========== ADDITIONAL FEATURES =========== -->
949
+ <section id="features" class="mb-16">
950
+ <h2 class="text-3xl font-bold mb-6 flex items-center gap-3">
951
+ <svg class="doc-icon hero-icon" aria-hidden="true"><use href="#icon-book"/></svg> Additional Features
952
+ </h2>
953
+
954
+ <div class="grid md:grid-cols-2 gap-4">
955
+ <div class="tutorial-card">
956
+ <h3 class="font-bold mb-2"><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-dashboard"/></svg> Dashboard</h3>
957
+ <p class="text-sm text-mountain-400 mb-2">Monitor your node's health, peers, and activity.</p>
958
+ <pre class="language-bash"><code>yakmesh open dashboard</code></pre>
959
+ </div>
960
+
961
+ <div class="tutorial-card">
962
+ <h3 class="font-bold mb-2"><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-book"/></svg> Self-Hosted Docs</h3>
963
+ <p class="text-sm text-mountain-400 mb-2">Full documentation available offline.</p>
964
+ <pre class="language-bash"><code>yakmesh open docs</code></pre>
965
+ </div>
966
+
967
+ <div class="tutorial-card">
968
+ <h3 class="font-bold mb-2"><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-lock"/></svg> Quantum-Resistant Crypto</h3>
969
+ <p class="text-sm text-mountain-400 mb-2">All communications use ML-KEM + ML-DSA.</p>
970
+ <pre class="language-bash"><code>yakmesh status --crypto</code></pre>
971
+ </div>
972
+
973
+ <div class="tutorial-card">
974
+ <h3 class="font-bold mb-2"><svg class="doc-icon inline-icon" aria-hidden="true"><use href="#icon-mani"/></svg> Time Sources</h3>
975
+ <p class="text-sm text-mountain-400 mb-2">Atomic-precision timing from multiple sources.</p>
976
+ <pre class="language-bash"><code>yakmesh time-sources</code></pre>
977
+ </div>
978
+ </div>
979
+ </section>
980
+
981
+ <!-- What's Next -->
982
+ <section class="mb-16">
983
+ <h2 class="text-2xl font-bold mb-4">What's Next?</h2>
984
+ <p class="text-mountain-300 mb-4">
985
+ YAKMESH is actively being developed. Upcoming features include:
986
+ </p>
987
+ <ul class="list-disc list-inside text-mountain-300 space-y-2">
988
+ <li><strong>QRL Integration:</strong> Native support for Quantum Resistant Ledger (QRL 2.0/Zond)</li>
989
+ <li><strong>IPFS Bridge:</strong> Interoperability with IPFS content addressing</li>
990
+ <li><strong>Mobile Apps:</strong> iOS and Android nodes</li>
991
+ <li><strong>Browser Extension:</strong> Native yak:// support in browsers</li>
992
+ </ul>
993
+ </section>
994
+
995
+ <!-- Version Badge -->
996
+ <div class="mt-12 pt-6 border-t border-mountain-700">
997
+ <span class="inline-block text-xs theme-badge px-2 py-1 rounded">v2.8.2</span>
998
+ <span class="text-mountain-500 text-sm ml-2">Last updated: February 2026</span>
999
+ </div>
1000
+
1001
+ <!-- Journey Navigation -->
1002
+ <div class="border-t border-mountain-700 mt-12 pt-8">
1003
+ <h2 class="text-xl font-bold mb-6">Continue the Journey</h2>
1004
+ <div class="flex flex-col sm:flex-row gap-4">
1005
+ <a href="getting-started.html" class="flex-1 block bg-mountain-800 border border-mountain-700 rounded-xl p-4 hover:border-theme-accent transition group">
1006
+ <div class="text-xs text-mountain-400 mb-1">← Previous</div>
1007
+ <div class="flex items-center gap-2">
1008
+ <svg class="doc-icon journey-icon" aria-hidden="true"><use href="#icon-rocket"/></svg>
1009
+ <span class="font-semibold group-hover:text-theme-accent">Getting Started</span>
1010
+ </div>
1011
+ <p class="text-mountain-400 text-sm mt-1">Quick start guide</p>
1012
+ </a>
1013
+ <a href="yak-protocol.html" class="flex-1 block bg-mountain-800 border border-theme-primary rounded-xl p-4 hover:border-theme-accent transition group">
1014
+ <div class="text-xs text-mountain-400 mb-1">Next →</div>
1015
+ <div class="flex items-center gap-2">
1016
+ <svg class="doc-icon journey-icon" aria-hidden="true"><use href="#icon-yak"/></svg>
1017
+ <span class="font-semibold group-hover:text-theme-accent">YAK://</span>
1018
+ </div>
1019
+ <p class="text-mountain-400 text-sm mt-1">Content addressing</p>
1020
+ </a>
1021
+ </div>
1022
+ </div>
1023
+ </main>
1024
+
1025
+ <footer class="docs-footer"><p>© 2026 YAKMESH™</p></footer>
1026
+
1027
+ <script src="prism.min.js" defer></script>
1028
+ <script src="prism-javascript.min.js" defer></script>
1029
+ <script src="prism-bash.min.js" defer></script>
1030
+ <script src="docs.js" defer></script>
1031
+ </body>
1032
+ </html>
1033
+
1034
+