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
package/docs/cli.html ADDED
@@ -0,0 +1,1332 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" data-theme="cli">
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>CLI Commands | YAKMESH Documentation</title>
10
+ <meta name="description" content="Complete reference for YAKMESH command-line interface. Initialize, manage, and monitor your mesh nodes.">
11
+ <link rel="stylesheet" href="tailwind.min.css">
12
+ <link rel="stylesheet" href="prism-tomorrow.min.css" media="print" onload="this.media='all'">
13
+ <noscript><link rel="stylesheet" href="prism-tomorrow.min.css"></noscript>
14
+ <link rel="stylesheet" href="docs.css">
15
+ <style>
16
+ .theme-accent { color: #22c55e; }
17
+ .theme-accent-hover:hover { color: #4ade80; }
18
+ .theme-badge { background: rgba(34, 197, 94, 0.2); color: #4ade80; }
19
+ .theme-border { border-color: #22c55e; }
20
+ .theme-callout { background: rgba(34, 197, 94, 0.1); border-color: #16a34a; }
21
+ .active-link { background: rgba(34, 197, 94, 0.2) !important; color: #4ade80 !important; }
22
+ .command-block { background: #0d1117; border: 1px solid #30363d; border-radius: 8px; }
23
+ .option-table { width: 100%; border-collapse: collapse; }
24
+ .option-table th, .option-table td { padding: 0.75rem; text-align: left; border-bottom: 1px solid #2e4c43; }
25
+ .option-table th { color: #22c55e; font-weight: 600; }
26
+ .option-table code { background: #1f332d; padding: 0.25rem 0.5rem; border-radius: 4px; color: #4ade80; }
27
+ </style>
28
+
29
+ <!-- Open Graph -->
30
+ <meta property="og:type" content="article">
31
+ <meta property="og:site_name" content="Yakmesh Documentation">
32
+ <meta property="og:title" content="CLI β€” Yakmesh">
33
+ <meta property="og:description" content="Yakmesh command-line interface β€” terminal-based node management and mesh operations.">
34
+ </head>
35
+ <body class="bg-mountain-900 text-white min-h-screen">
36
+ <!-- YAKMESH-ICON-SPRITE-START -->
37
+ <svg xmlns="http://www.w3.org/2000/svg" style="display:none">
38
+ <!--
39
+ Yakmesh Docs Icon Sprite Sheet
40
+ 24Γ—24 viewBox β€” stroke/fill set via .doc-icon CSS
41
+ Usage: <svg class="doc-icon"><use href="#icon-name"/></svg>
42
+ -->
43
+
44
+ <!-- ═══ GUIDES ═══ -->
45
+
46
+ <symbol id="icon-home" viewBox="0 0 24 24">
47
+ <path d="M3 9.5L12 3l9 6.5V20a1 1 0 01-1 1H4a1 1 0 01-1-1V9.5z"/>
48
+ <polyline points="9 22 9 12 15 12 15 22"/>
49
+ </symbol>
50
+
51
+ <symbol id="icon-rocket" viewBox="0 0 24 24">
52
+ <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"/>
53
+ <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"/>
54
+ <path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"/>
55
+ <path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"/>
56
+ </symbol>
57
+
58
+ <symbol id="icon-book" viewBox="0 0 24 24">
59
+ <path d="M4 19.5A2.5 2.5 0 016.5 17H20"/>
60
+ <path d="M6.5 2H20v20H6.5A2.5 2.5 0 014 19.5v-15A2.5 2.5 0 016.5 2z"/>
61
+ <line x1="8" y1="7" x2="16" y2="7"/>
62
+ <line x1="8" y1="11" x2="13" y2="11"/>
63
+ </symbol>
64
+
65
+ <!-- ═══ PROTOCOL STACK ═══ -->
66
+
67
+ <!-- YAK:// β€” Content addressing (yak horns) -->
68
+ <symbol id="icon-yak" viewBox="0 0 24 24">
69
+ <path d="M4 4c1 3 3 5 5 6"/>
70
+ <path d="M20 4c-1 3-3 5-5 6"/>
71
+ <circle cx="12" cy="14" r="5"/>
72
+ <circle cx="10" cy="13" r="0.5" fill="currentColor"/>
73
+ <circle cx="14" cy="13" r="0.5" fill="currentColor"/>
74
+ <path d="M10 16c1 1 3 1 4 0"/>
75
+ </symbol>
76
+
77
+ <!-- ANNEX β€” Encrypted bridge -->
78
+ <symbol id="icon-annex" viewBox="0 0 24 24">
79
+ <path d="M4 18h3a4 4 0 004-4V8"/>
80
+ <path d="M20 18h-3a4 4 0 01-4-4V8"/>
81
+ <circle cx="7" cy="6" r="2"/>
82
+ <circle cx="17" cy="6" r="2"/>
83
+ <line x1="7" y1="8" x2="7" y2="18"/>
84
+ <line x1="17" y1="8" x2="17" y2="18"/>
85
+ </symbol>
86
+
87
+ <!-- JHILKE β€” Cricket / steganographic key lifecycle -->
88
+ <symbol id="icon-jhilke" viewBox="0 0 24 24">
89
+ <ellipse cx="12" cy="14" rx="4" ry="6"/>
90
+ <path d="M8 10c-2-3-4-6-3-8"/>
91
+ <path d="M16 10c2-3 4-6 3-8"/>
92
+ <line x1="10" y1="20" x2="8" y2="23"/>
93
+ <line x1="14" y1="20" x2="16" y2="23"/>
94
+ <path d="M9 12l-4 2"/>
95
+ <path d="M15 12l4 2"/>
96
+ </symbol>
97
+
98
+ <!-- NAKPAK β€” Onion layers / backpack -->
99
+ <symbol id="icon-nakpak" viewBox="0 0 24 24">
100
+ <circle cx="12" cy="12" r="10" opacity="0.3"/>
101
+ <circle cx="12" cy="12" r="7" opacity="0.5"/>
102
+ <circle cx="12" cy="12" r="4" opacity="0.8"/>
103
+ <circle cx="12" cy="12" r="1.5" fill="currentColor"/>
104
+ </symbol>
105
+
106
+ <!-- NAMCHE β€” Gateway door -->
107
+ <symbol id="icon-namche" viewBox="0 0 24 24">
108
+ <rect x="3" y="3" width="18" height="18" rx="2"/>
109
+ <path d="M9 3v18"/>
110
+ <path d="M15 3v18"/>
111
+ <line x1="3" y1="8" x2="9" y2="8"/>
112
+ <line x1="15" y1="8" x2="21" y2="8"/>
113
+ <circle cx="12" cy="14" r="1" fill="currentColor"/>
114
+ </symbol>
115
+
116
+ <!-- DOKO β€” Basket / certificate -->
117
+ <symbol id="icon-doko" viewBox="0 0 24 24">
118
+ <path d="M6 8l-2 12h16l-2-12"/>
119
+ <path d="M6 8c0-3 2.7-5 6-5s6 2 6 5"/>
120
+ <line x1="8" y1="10" x2="10" y2="18"/>
121
+ <line x1="16" y1="10" x2="14" y2="18"/>
122
+ <line x1="12" y1="10" x2="12" y2="18"/>
123
+ </symbol>
124
+
125
+ <!-- SHERPA β€” Mountain climber -->
126
+ <symbol id="icon-sherpa" viewBox="0 0 24 24">
127
+ <path d="M4 20L10 6l3 6 3-4 4 12"/>
128
+ <line x1="4" y1="20" x2="20" y2="20"/>
129
+ <circle cx="13" cy="4" r="1.5"/>
130
+ </symbol>
131
+
132
+ <!-- MANDALA β€” Network topology web -->
133
+ <symbol id="icon-mandala" viewBox="0 0 24 24">
134
+ <circle cx="12" cy="12" r="9"/>
135
+ <circle cx="12" cy="12" r="4.5"/>
136
+ <line x1="12" y1="3" x2="12" y2="21"/>
137
+ <line x1="3" y1="12" x2="21" y2="12"/>
138
+ <line x1="5.6" y1="5.6" x2="18.4" y2="18.4"/>
139
+ <line x1="18.4" y1="5.6" x2="5.6" y2="18.4"/>
140
+ </symbol>
141
+
142
+ <!-- MANTRA β€” Gossip / prayer wheel -->
143
+ <symbol id="icon-mantra" viewBox="0 0 24 24">
144
+ <circle cx="12" cy="10" r="7"/>
145
+ <path d="M12 3v14"/>
146
+ <path d="M8 7c2 1.5 6 1.5 8 0"/>
147
+ <path d="M8 13c2-1.5 6-1.5 8 0"/>
148
+ <line x1="12" y1="17" x2="12" y2="22"/>
149
+ <line x1="9" y1="22" x2="15" y2="22"/>
150
+ </symbol>
151
+
152
+ <!-- GUMBA β€” Temple / access control -->
153
+ <symbol id="icon-gumba" viewBox="0 0 24 24">
154
+ <path d="M12 2L3 9h18z"/>
155
+ <line x1="5" y1="9" x2="5" y2="19"/>
156
+ <line x1="9" y1="9" x2="9" y2="19"/>
157
+ <line x1="15" y1="9" x2="15" y2="19"/>
158
+ <line x1="19" y1="9" x2="19" y2="19"/>
159
+ <line x1="3" y1="19" x2="21" y2="19"/>
160
+ <line x1="3" y1="21" x2="21" y2="21"/>
161
+ </symbol>
162
+
163
+ <!-- YURT β€” Camp / room -->
164
+ <symbol id="icon-yurt" viewBox="0 0 24 24">
165
+ <path d="M3 20L12 4l9 16"/>
166
+ <line x1="3" y1="20" x2="21" y2="20"/>
167
+ <path d="M10 20v-5a2 2 0 014 0v5"/>
168
+ <path d="M6 14h12"/>
169
+ </symbol>
170
+
171
+ <!-- KATHA β€” Chat / story scroll -->
172
+ <symbol id="icon-katha" viewBox="0 0 24 24">
173
+ <path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/>
174
+ <line x1="8" y1="8" x2="16" y2="8"/>
175
+ <line x1="8" y1="12" x2="13" y2="12"/>
176
+ </symbol>
177
+
178
+ <!-- VANI β€” Voice / microphone -->
179
+ <symbol id="icon-vani" viewBox="0 0 24 24">
180
+ <rect x="9" y="2" width="6" height="11" rx="3"/>
181
+ <path d="M5 10a7 7 0 0014 0"/>
182
+ <line x1="12" y1="17" x2="12" y2="22"/>
183
+ <line x1="8" y1="22" x2="16" y2="22"/>
184
+ </symbol>
185
+
186
+ <!-- DARSHAN β€” Eye / viewing -->
187
+ <symbol id="icon-darshan" viewBox="0 0 24 24">
188
+ <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8S1 12 1 12z"/>
189
+ <circle cx="12" cy="12" r="3"/>
190
+ </symbol>
191
+
192
+ <!-- STUPA β€” Tower / distributed storage -->
193
+ <symbol id="icon-stupa" viewBox="0 0 24 24">
194
+ <line x1="12" y1="2" x2="12" y2="5"/>
195
+ <path d="M10 5h4l1 3H9z"/>
196
+ <ellipse cx="12" cy="11" rx="5" ry="3"/>
197
+ <ellipse cx="12" cy="15" rx="6" ry="3"/>
198
+ <ellipse cx="12" cy="19" rx="7" ry="3"/>
199
+ </symbol>
200
+
201
+ <!-- LAMA β€” Crystal ball / consensus -->
202
+ <symbol id="icon-lama" viewBox="0 0 24 24">
203
+ <circle cx="12" cy="10" r="7"/>
204
+ <path d="M12 3c-1.5 2-2 5 0 7s4.5 2 6 0"/>
205
+ <path d="M7 19h10"/>
206
+ <path d="M9 22h6"/>
207
+ <line x1="9" y1="17" x2="9" y2="19"/>
208
+ <line x1="15" y1="17" x2="15" y2="19"/>
209
+ </symbol>
210
+
211
+ <!-- MANI β€” Prayer stone / time sync -->
212
+ <symbol id="icon-mani" viewBox="0 0 24 24">
213
+ <circle cx="12" cy="12" r="9"/>
214
+ <polyline points="12 6 12 12 16 14"/>
215
+ <circle cx="12" cy="12" r="1" fill="currentColor"/>
216
+ </symbol>
217
+
218
+ <!-- KARMA β€” Yin-yang / reputation -->
219
+ <symbol id="icon-karma" viewBox="0 0 24 24">
220
+ <circle cx="12" cy="12" r="9"/>
221
+ <path d="M12 3a4.5 4.5 0 010 9 4.5 4.5 0 000 9"/>
222
+ <circle cx="12" cy="7.5" r="1.5" fill="currentColor"/>
223
+ <circle cx="12" cy="16.5" r="1.5"/>
224
+ </symbol>
225
+
226
+ <!-- TATTVA β€” Quantum elements / atom -->
227
+ <symbol id="icon-tattva" viewBox="0 0 24 24">
228
+ <circle cx="12" cy="12" r="2.5" fill="currentColor" stroke="none"/>
229
+ <ellipse cx="12" cy="12" rx="10" ry="4"/>
230
+ <ellipse cx="12" cy="12" rx="10" ry="4" transform="rotate(60 12 12)"/>
231
+ <ellipse cx="12" cy="12" rx="10" ry="4" transform="rotate(120 12 12)"/>
232
+ </symbol>
233
+
234
+ <!-- TRIBHUJ β€” Triangle / balanced ternary -->
235
+ <symbol id="icon-tribhuj" viewBox="0 0 24 24">
236
+ <polygon points="12,3 21,20 3,20"/>
237
+ <line x1="12" y1="3" x2="12" y2="20"/>
238
+ <line x1="7.5" y1="11.5" x2="16.5" y2="11.5"/>
239
+ <circle cx="12" cy="14" r="1" fill="currentColor"/>
240
+ </symbol>
241
+
242
+ <!-- YPC-27 β€” Lock / cipher -->
243
+ <symbol id="icon-ypc27" viewBox="0 0 24 24">
244
+ <rect x="5" y="11" width="14" height="10" rx="2"/>
245
+ <path d="M8 11V7a4 4 0 118 0v4"/>
246
+ <circle cx="12" cy="16" r="1" fill="currentColor"/>
247
+ <line x1="12" y1="17" x2="12" y2="19"/>
248
+ </symbol>
249
+
250
+ <!-- SAKSHI β€” Witness / aperture eye -->
251
+ <symbol id="icon-sakshi" viewBox="0 0 24 24">
252
+ <circle cx="12" cy="12" r="9"/>
253
+ <path d="M12 3l3 9-3 9"/>
254
+ <path d="M12 3l-3 9 3 9"/>
255
+ <circle cx="12" cy="12" r="2.5"/>
256
+ <circle cx="12" cy="12" r="0.8" fill="currentColor"/>
257
+ </symbol>
258
+
259
+ <!-- PRAMAAN β€” Globe / geographic proof -->
260
+ <symbol id="icon-pramaan" viewBox="0 0 24 24">
261
+ <circle cx="12" cy="12" r="9"/>
262
+ <ellipse cx="12" cy="12" rx="4" ry="9"/>
263
+ <line x1="3" y1="9" x2="21" y2="9"/>
264
+ <line x1="3" y1="15" x2="21" y2="15"/>
265
+ <path d="M18 4l-2 2 1 3"/>
266
+ <path d="M6 18l2-1 3 1"/>
267
+ </symbol>
268
+
269
+ <!-- SURAKSHA β€” Shield / security -->
270
+ <symbol id="icon-suraksha" viewBox="0 0 24 24">
271
+ <path d="M12 2l8 4v6c0 5.5-3.8 10.7-8 12-4.2-1.3-8-6.5-8-12V6z"/>
272
+ <polyline points="9 12 11 14 15 10"/>
273
+ </symbol>
274
+
275
+ <!-- TIVRA β€” Lightning bolt / acceleration -->
276
+ <symbol id="icon-tivra" viewBox="0 0 24 24">
277
+ <polygon points="13,2 3,14 12,14 11,22 21,10 12,10"/>
278
+ </symbol>
279
+
280
+ <!-- PRAHARI β€” Satellite / sentinel -->
281
+ <symbol id="icon-prahari" viewBox="0 0 24 24">
282
+ <rect x="9" y="9" width="6" height="6" rx="1" transform="rotate(45 12 12)"/>
283
+ <line x1="12" y1="5" x2="12" y2="2"/>
284
+ <line x1="19" y1="12" x2="22" y2="12"/>
285
+ <line x1="12" y1="19" x2="12" y2="22"/>
286
+ <line x1="5" y1="12" x2="2" y2="12"/>
287
+ <path d="M7 7L5 5"/>
288
+ <path d="M17 7l2-2"/>
289
+ </symbol>
290
+
291
+ <!-- DHARMA β€” Balance scale / content moderation -->
292
+ <symbol id="icon-dharma" viewBox="0 0 24 24">
293
+ <line x1="12" y1="3" x2="12" y2="21"/>
294
+ <line x1="4" y1="7" x2="20" y2="7"/>
295
+ <path d="M4 7l2 7h0a3 3 0 006 0h0l2-7"/>
296
+ <path d="M14 7l2 7h0a3 3 0 006 0h0l2-7"/>
297
+ <line x1="10" y1="21" x2="14" y2="21"/>
298
+ </symbol>
299
+
300
+ <!-- SEVA β€” Helping hands / NPU sharing -->
301
+ <symbol id="icon-seva" viewBox="0 0 24 24">
302
+ <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"/>
303
+ <path d="M12 11V5"/>
304
+ <path d="M9 8l3-3 3 3"/>
305
+ <circle cx="12" cy="16" r="2"/>
306
+ </symbol>
307
+
308
+ <!-- ═══ APPLICATIONS ═══ -->
309
+
310
+ <!-- YakApp β€” Messenger -->
311
+ <symbol id="icon-yakapp" viewBox="0 0 24 24">
312
+ <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"/>
313
+ </symbol>
314
+
315
+ <!-- C2C β€” Core to Cosmos -->
316
+ <symbol id="icon-c2c" viewBox="0 0 24 24">
317
+ <circle cx="12" cy="12" r="3"/>
318
+ <circle cx="12" cy="12" r="9"/>
319
+ <path d="M12 3v3"/>
320
+ <path d="M12 18v3"/>
321
+ <path d="M3 12h3"/>
322
+ <path d="M18 12h3"/>
323
+ </symbol>
324
+
325
+ <!-- Studio β€” Creative suite -->
326
+ <symbol id="icon-studio" viewBox="0 0 24 24">
327
+ <circle cx="13.5" cy="6.5" r="2.5"/>
328
+ <path d="M6 21l4-10 3 5 4-7 4 12"/>
329
+ <rect x="2" y="2" width="20" height="20" rx="2"/>
330
+ </symbol>
331
+
332
+
333
+ <!-- ═══ REFERENCE ═══ -->
334
+
335
+ <!-- Quick Reference β€” Clipboard -->
336
+ <symbol id="icon-quickref" viewBox="0 0 24 24">
337
+ <path d="M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2"/>
338
+ <rect x="8" y="2" width="8" height="4" rx="1"/>
339
+ <line x1="8" y1="10" x2="16" y2="10"/>
340
+ <line x1="8" y1="14" x2="16" y2="14"/>
341
+ <line x1="8" y1="18" x2="12" y2="18"/>
342
+ </symbol>
343
+
344
+ <!-- GRANTH β€” Docs bundle -->
345
+ <symbol id="icon-granth" viewBox="0 0 24 24">
346
+ <path d="M4 19.5A2.5 2.5 0 016.5 17H20"/>
347
+ <path d="M6.5 2H20v20H6.5A2.5 2.5 0 014 19.5v-15A2.5 2.5 0 016.5 2z"/>
348
+ <path d="M8 7h8"/>
349
+ <path d="M8 11h5"/>
350
+ <path d="M8 15h3"/>
351
+ </symbol>
352
+
353
+ <!-- API β€” Signal tower -->
354
+ <symbol id="icon-api" viewBox="0 0 24 24">
355
+ <line x1="12" y1="10" x2="12" y2="22"/>
356
+ <path d="M8 6a6 6 0 018 0"/>
357
+ <path d="M5 3a10 10 0 0114 0"/>
358
+ <circle cx="12" cy="10" r="2"/>
359
+ </symbol>
360
+
361
+ <!-- Adapters β€” Plug connector -->
362
+ <symbol id="icon-adapters" viewBox="0 0 24 24">
363
+ <path d="M6 3v4"/>
364
+ <path d="M10 3v4"/>
365
+ <path d="M4 7h8v3a4 4 0 01-8 0V7z"/>
366
+ <line x1="8" y1="14" x2="8" y2="17"/>
367
+ <path d="M14 10h4v3a2 2 0 01-4 0v-3z"/>
368
+ <line x1="16" y1="7" x2="16" y2="10"/>
369
+ <line x1="16" y1="13" x2="16" y2="17"/>
370
+ <line x1="8" y1="17" x2="16" y2="17"/>
371
+ <line x1="12" y1="17" x2="12" y2="21"/>
372
+ </symbol>
373
+
374
+ <!-- ═══ EXTRA (pages outside nav-order) ═══ -->
375
+
376
+ <!-- Terminal / CLI -->
377
+ <symbol id="icon-terminal" viewBox="0 0 24 24">
378
+ <rect x="2" y="3" width="20" height="18" rx="2"/>
379
+ <polyline points="7 9 10 12 7 15"/>
380
+ <line x1="13" y1="15" x2="17" y2="15"/>
381
+ </symbol>
382
+
383
+ <!-- Gear / Configuration -->
384
+ <symbol id="icon-gear" viewBox="0 0 24 24">
385
+ <circle cx="12" cy="12" r="3"/>
386
+ <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"/>
387
+ </symbol>
388
+
389
+ <!-- Server / Web hosting -->
390
+ <symbol id="icon-server" viewBox="0 0 24 24">
391
+ <rect x="2" y="2" width="20" height="8" rx="2"/>
392
+ <rect x="2" y="14" width="20" height="8" rx="2"/>
393
+ <line x1="6" y1="6" x2="6.01" y2="6"/>
394
+ <line x1="6" y1="18" x2="6.01" y2="18"/>
395
+ </symbol>
396
+
397
+ <!-- ═══ CHROME / UI ═══ -->
398
+
399
+ <!-- Mountain peak β€” logo icon (replaces πŸ”οΈ) -->
400
+ <symbol id="icon-mountain" viewBox="0 0 24 24">
401
+ <path d="M8 21l4.5-9 3 5.5L19 12l3 9H2l6-9z"/>
402
+ <path d="M12 12l1.5-3L16 14"/>
403
+ </symbol>
404
+
405
+ <!-- Dashboard / bar chart (replaces πŸ“Š) -->
406
+ <symbol id="icon-dashboard" viewBox="0 0 24 24">
407
+ <line x1="18" y1="20" x2="18" y2="10"/>
408
+ <line x1="12" y1="20" x2="12" y2="4"/>
409
+ <line x1="6" y1="20" x2="6" y2="14"/>
410
+ <rect x="2" y="2" width="20" height="20" rx="2" stroke-opacity="0.4"/>
411
+ </symbol>
412
+
413
+ <!-- ═══ GENERIC / CONTENT ICONS ═══ -->
414
+
415
+ <!-- Lock / encrypted (replaces πŸ”) -->
416
+ <symbol id="icon-lock" viewBox="0 0 24 24">
417
+ <rect x="3" y="11" width="18" height="11" rx="2"/>
418
+ <path d="M7 11V7a5 5 0 0110 0v4"/>
419
+ </symbol>
420
+
421
+ <!-- Signal / broadcast (replaces πŸ“‘) -->
422
+ <symbol id="icon-signal" viewBox="0 0 24 24">
423
+ <path d="M2 12a10 10 0 0118 0"/>
424
+ <path d="M5 12a7 7 0 0112 0"/>
425
+ <path d="M8 12a4 4 0 016 0"/>
426
+ <circle cx="11" cy="12" r="1"/>
427
+ </symbol>
428
+
429
+ <!-- Link / chain (replaces πŸ”—) -->
430
+ <symbol id="icon-link" viewBox="0 0 24 24">
431
+ <path d="M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71"/>
432
+ <path d="M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71"/>
433
+ </symbol>
434
+
435
+ <!-- Globe / network (replaces 🌐) -->
436
+ <symbol id="icon-globe" viewBox="0 0 24 24">
437
+ <circle cx="12" cy="12" r="10"/>
438
+ <line x1="2" y1="12" x2="22" y2="12"/>
439
+ <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"/>
440
+ </symbol>
441
+
442
+ <!-- Sync / refresh (replaces πŸ”„) -->
443
+ <symbol id="icon-sync" viewBox="0 0 24 24">
444
+ <polyline points="23 4 23 10 17 10"/>
445
+ <polyline points="1 20 1 14 7 14"/>
446
+ <path d="M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"/>
447
+ </symbol>
448
+
449
+ <!-- Users / group (replaces πŸ‘₯) -->
450
+ <symbol id="icon-users" viewBox="0 0 24 24">
451
+ <path d="M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2"/>
452
+ <circle cx="9" cy="7" r="4"/>
453
+ <path d="M23 21v-2a4 4 0 00-3-3.87"/>
454
+ <path d="M16 3.13a4 4 0 010 7.75"/>
455
+ </symbol>
456
+
457
+ <!-- Shield / protection (replaces πŸ›‘) -->
458
+ <symbol id="icon-shield" viewBox="0 0 24 24">
459
+ <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>
460
+ </symbol>
461
+
462
+ <!-- Heartbeat / pulse (replaces πŸ’“) -->
463
+ <symbol id="icon-heartbeat" viewBox="0 0 24 24">
464
+ <path d="M3 12h4l3-9 4 18 3-9h4"/>
465
+ </symbol>
466
+
467
+ <!-- Map pin / location (replaces πŸ“) -->
468
+ <symbol id="icon-pin" viewBox="0 0 24 24">
469
+ <path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/>
470
+ <circle cx="12" cy="10" r="3"/>
471
+ </symbol>
472
+
473
+ <!-- Traffic light / status (replaces 🚦) -->
474
+ <symbol id="icon-traffic" viewBox="0 0 24 24">
475
+ <rect x="7" y="2" width="10" height="20" rx="3"/>
476
+ <circle cx="12" cy="7" r="1.5"/>
477
+ <circle cx="12" cy="12" r="1.5"/>
478
+ <circle cx="12" cy="17" r="1.5"/>
479
+ </symbol>
480
+
481
+ <!-- Check circle (replaces βœ…) -->
482
+ <symbol id="icon-check" viewBox="0 0 24 24">
483
+ <path d="M22 11.08V12a10 10 0 11-5.93-9.14"/>
484
+ <polyline points="22 4 12 14.01 9 11.01"/>
485
+ </symbol>
486
+
487
+ <!-- Megaphone / broadcast (replaces πŸ“’) -->
488
+ <symbol id="icon-megaphone" viewBox="0 0 24 24">
489
+ <path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/>
490
+ </symbol>
491
+
492
+ <!-- Pen / signed (replaces ✍) -->
493
+ <symbol id="icon-pen" viewBox="0 0 24 24">
494
+ <path d="M12 20h9"/>
495
+ <path d="M16.5 3.5a2.121 2.121 0 013 3L7 19l-4 1 1-4L16.5 3.5z"/>
496
+ </symbol>
497
+
498
+ <!-- Warning / alert (replaces ⚠) -->
499
+ <symbol id="icon-warning" viewBox="0 0 24 24">
500
+ <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"/>
501
+ <line x1="12" y1="9" x2="12" y2="13"/>
502
+ <line x1="12" y1="17" x2="12.01" y2="17"/>
503
+ </symbol>
504
+
505
+ <!-- Hourglass / timer (replaces ⏳) -->
506
+ <symbol id="icon-hourglass" viewBox="0 0 24 24">
507
+ <path d="M6 2h12v5l-4 4 4 4v5H6v-5l4-4-4-4V2z"/>
508
+ </symbol>
509
+
510
+ <!-- Scroll / document (replaces πŸ“œ) -->
511
+ <symbol id="icon-scroll" viewBox="0 0 24 24">
512
+ <path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/>
513
+ <polyline points="14 2 14 8 20 8"/>
514
+ <line x1="16" y1="13" x2="8" y2="13"/>
515
+ <line x1="16" y1="17" x2="8" y2="17"/>
516
+ </symbol>
517
+
518
+ <!-- Bolt / lightning (replaces ⚑) -->
519
+ <symbol id="icon-bolt" viewBox="0 0 24 24">
520
+ <polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>
521
+ </symbol>
522
+
523
+ <!-- Target / crosshair (replaces 🎯) -->
524
+ <symbol id="icon-target" viewBox="0 0 24 24">
525
+ <circle cx="12" cy="12" r="10"/>
526
+ <circle cx="12" cy="12" r="6"/>
527
+ <circle cx="12" cy="12" r="2"/>
528
+ </symbol>
529
+
530
+ <!-- Handshake / trust (replaces 🀝) -->
531
+ <symbol id="icon-handshake" viewBox="0 0 24 24">
532
+ <path d="M11 17l-3.5-3.5a2.12 2.12 0 013-3L14 14"/>
533
+ <path d="M20.88 7.12l-3.17 3.17"/>
534
+ <path d="M3.12 7.12l3.17 3.17"/>
535
+ <path d="M2 12h4"/>
536
+ <path d="M18 12h4"/>
537
+ <path d="M7.76 4.25L12 2l4.24 2.25"/>
538
+ </symbol>
539
+
540
+ <!-- Leaf / organic (replaces 🌿) -->
541
+ <symbol id="icon-leaf" viewBox="0 0 24 24">
542
+ <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"/>
543
+ <path d="M7 15c2-2 5.5-3 9-3"/>
544
+ </symbol>
545
+
546
+ <!-- Satellite (replaces πŸ›°) -->
547
+ <symbol id="icon-satellite" viewBox="0 0 24 24">
548
+ <path d="M13 7L9 3 5 7l4 4"/>
549
+ <path d="M17 11l4 4-4 4-4-4"/>
550
+ <line x1="8" y1="11" x2="13" y2="16"/>
551
+ <line x1="3" y1="21" x2="3.01" y2="21"/>
552
+ <path d="M6 18a3 3 0 000 0"/>
553
+ <path d="M9 15a6 6 0 000 0"/>
554
+ </symbol>
555
+
556
+ <!-- Phone / mobile (replaces πŸ“±) -->
557
+ <symbol id="icon-phone" viewBox="0 0 24 24">
558
+ <rect x="5" y="2" width="14" height="20" rx="2"/>
559
+ <line x1="12" y1="18" x2="12.01" y2="18"/>
560
+ </symbol>
561
+
562
+ <!-- Masks / theater (replaces 🎭) -->
563
+ <symbol id="icon-masks" viewBox="0 0 24 24">
564
+ <circle cx="12" cy="12" r="10"/>
565
+ <path d="M8 14s1.5 2 4 2 4-2 4-2"/>
566
+ <line x1="9" y1="9" x2="9.01" y2="9"/>
567
+ <line x1="15" y1="9" x2="15.01" y2="9"/>
568
+ </symbol>
569
+
570
+ <!-- Stars / cosmos (replaces 🌌) -->
571
+ <symbol id="icon-cosmos" viewBox="0 0 24 24">
572
+ <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"/>
573
+ </symbol>
574
+
575
+ <!-- Gem / diamond (replaces πŸ’Ž) -->
576
+ <symbol id="icon-gem" viewBox="0 0 24 24">
577
+ <polygon points="6 3 18 3 22 9 12 22 2 9 6 3"/>
578
+ <line x1="2" y1="9" x2="22" y2="9"/>
579
+ <line x1="12" y1="22" x2="8" y2="9"/>
580
+ <line x1="12" y1="22" x2="16" y2="9"/>
581
+ <line x1="8" y1="9" x2="10" y2="3"/>
582
+ <line x1="16" y1="9" x2="14" y2="3"/>
583
+ </symbol>
584
+
585
+ <!-- Search / magnifying glass (replaces πŸ”) -->
586
+ <symbol id="icon-search" viewBox="0 0 24 24">
587
+ <circle cx="11" cy="11" r="8"/>
588
+ <line x1="21" y1="21" x2="16.65" y2="16.65"/>
589
+ </symbol>
590
+
591
+ </svg>
592
+ <!-- YAKMESH-ICON-SPRITE-END -->
593
+ <a href="#mainContent" class="skip-link">Skip to main content</a>
594
+
595
+ <nav class="docs-sidebar" id="sidebar">
596
+ <a href="index.html" class="sidebar-logo">
597
+ <span class="logo-icon"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mountain"/></svg></span>
598
+ <span class="logo-text">Yakmesh</span>
599
+ </a>
600
+ <a href="/dashboard" class="sidebar-dashboard-link"><svg class="doc-icon" aria-hidden="true"><use href="#icon-dashboard"/></svg> <span>Dashboard</span></a>
601
+ <ul class="sidebar-nav">
602
+ <li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-book"/></svg> Guides</span></li>
603
+ <li><a href="index.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-home"/></svg> <span>Overview</span></a></li>
604
+ <li><a href="getting-started.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-rocket"/></svg> <span>Getting Started</span></a></li>
605
+ <li><a href="tutorials.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-book"/></svg> <span>Tutorials</span></a></li>
606
+ <li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-yak"/></svg> Protocol Stack</span></li>
607
+ <li><a href="yak-protocol.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-yak"/></svg> <span>YAK://</span></a></li>
608
+ <li><a href="annex.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-annex"/></svg> <span>ANNEX</span></a></li>
609
+ <li><a href="jhilke.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-jhilke"/></svg> <span>JHILKE</span></a></li>
610
+ <li><a href="nakpak.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-nakpak"/></svg> <span>NAKPAK</span></a></li>
611
+ <li><a href="namche.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-namche"/></svg> <span>NAMCHE</span></a></li>
612
+ <li><a href="doko.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-doko"/></svg> <span>DOKO</span></a></li>
613
+ <li><a href="sherpa.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-sherpa"/></svg> <span>SHERPA</span></a></li>
614
+ <li><a href="mandala.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mandala"/></svg> <span>MANDALA</span></a></li>
615
+ <li><a href="mantra.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mantra"/></svg> <span>MANTRA</span></a></li>
616
+ <li><a href="gumba.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-gumba"/></svg> <span>GUMBA</span></a></li>
617
+ <li><a href="yurt.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-yurt"/></svg> <span>YURT</span></a></li>
618
+ <li><a href="katha.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-katha"/></svg> <span>KATHA</span></a></li>
619
+ <li><a href="vani.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-vani"/></svg> <span>VANI</span></a></li>
620
+ <li><a href="darshan.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-darshan"/></svg> <span>DARSHAN</span></a></li>
621
+ <li><a href="stupa.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-stupa"/></svg> <span>STUPA</span></a></li>
622
+ <li><a href="lama.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-lama"/></svg> <span>LAMA</span></a></li>
623
+ <li><a href="mani.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mani"/></svg> <span>MANI</span></a></li>
624
+ <li><a href="karma.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-karma"/></svg> <span>KARMA</span></a></li>
625
+ <li><a href="tattva.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-tattva"/></svg> <span>TATTVA</span></a></li>
626
+ <li><a href="tribhuj.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-tribhuj"/></svg> <span>TRIBHUJ</span></a></li>
627
+ <li><a href="ypc27.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-ypc27"/></svg> <span>YPC-27</span></a></li>
628
+ <li><a href="sakshi.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-sakshi"/></svg> <span>SAKSHI</span></a></li>
629
+ <li><a href="geo-proof.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-pramaan"/></svg> <span>PRAMAAN</span></a></li>
630
+ <li><a href="trust-security.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-suraksha"/></svg> <span>SURAKSHA</span></a></li>
631
+ <li><a href="tivra.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-tivra"/></svg> <span>TIVRA</span></a></li>
632
+ <li><a href="prahari.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-prahari"/></svg> <span>PRAHARI</span></a></li>
633
+ <li><a href="dharma.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-dharma"/></svg> <span>DHARMA</span></a></li>
634
+ <li><a href="seva.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-seva"/></svg> <span>SEVA</span></a></li>
635
+ <li><a href="docs-bundle.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-granth"/></svg> <span>GRANTH</span></a></li>
636
+ <li><a href="api.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-api"/></svg> <span>API</span></a></li>
637
+ <li><a href="adapters.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-adapters"/></svg> <span>Adapters</span></a></li>
638
+ <li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-rocket"/></svg> Applications</span></li>
639
+ <li><a href="yakapp.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-yakapp"/></svg> <span>YakApp</span></a></li>
640
+ <li><a href="c2c.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-c2c"/></svg> <span>C2C</span></a></li>
641
+ <li><a href="studio.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-studio"/></svg> <span>Studio</span></a></li>
642
+ <li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-gear"/></svg> Infrastructure</span></li>
643
+ <li><a href="cli.html" class="active"><svg class="doc-icon" aria-hidden="true"><use href="#icon-terminal"/></svg> <span>CLI</span></a></li>
644
+ <li><a href="configuration.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-gear"/></svg> <span>Configuration</span></a></li>
645
+ <li><a href="mesh.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mandala"/></svg> <span>Mesh Network</span></a></li>
646
+ <li><a href="time-sources.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mani"/></svg> <span>Time Sources</span></a></li>
647
+ <li><a href="webserver.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-server"/></svg> <span>Web Server</span></a></li>
648
+ <li><a href="advanced-systems.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-tivra"/></svg> <span>Advanced Systems</span></a></li>
649
+ <li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-book"/></svg> Tutorials</span></li>
650
+ <li><a href="gumba-tutorial.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-gumba"/></svg> <span>GUMBA Tutorial</span></a></li>
651
+ <li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-quickref"/></svg> Reference</span></li>
652
+ <li><a href="quick-reference.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-quickref"/></svg> <span>Quick Ref</span></a></li>
653
+ </ul>
654
+ </nav>
655
+
656
+ <button class="sidebar-toggle" id="sidebarToggle" title="Toggle sidebar">
657
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
658
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 19l-7-7 7-7m8 14l-7-7 7-7" />
659
+ </svg>
660
+ </button>
661
+
662
+ <!-- Mobile overlay for tap-to-close sidebar -->
663
+ <div class="sidebar-overlay" id="sidebarOverlay"></div>
664
+
665
+ <main class="docs-main" id="mainContent">
666
+
667
+ <div class="docs-content">
668
+ <!-- Page Header -->
669
+ <div class="flex items-center gap-3 mb-4">
670
+ <svg class="doc-icon hero-icon" aria-hidden="true"><use href="#icon-terminal"/></svg>
671
+ <div>
672
+ <div class="flex items-center gap-3">
673
+ <h1 class="text-4xl font-bold">CLI Commands</h1>
674
+ <span class="theme-badge text-xs px-2 py-1 rounded-full">v1.0.0</span>
675
+ </div>
676
+ <p class="theme-accent">Command-line interface for YAKMESH nodes</p>
677
+ </div>
678
+ </div>
679
+ <p class="text-xl text-mountain-300 mb-8">
680
+ Manage your YAKMESH node from the terminal. Initialize, start, monitor, and connect to the mesh network.
681
+ </p>
682
+
683
+ <!-- Quick Reference Callout -->
684
+ <div class="theme-callout rounded-xl p-6 mb-8 border">
685
+ <p class="font-semibold mb-2 theme-accent"><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-bolt"/></svg> Quick Reference</p>
686
+ <p class="text-mountain-300 text-sm mb-4">
687
+ All commands are available via <code class="bg-mountain-800 px-2 py-1 rounded">npx yakmesh</code> or
688
+ <code class="bg-mountain-800 px-2 py-1 rounded">yakmesh</code> if installed globally.
689
+ </p>
690
+ <pre class="language-bash !mb-0"><code># Install globally for easier access
691
+ npm install -g yakmesh</code></pre>
692
+ </div>
693
+
694
+ <!-- Table of Contents -->
695
+ <div class="bg-mountain-800 rounded-xl p-6 mb-8">
696
+ <h2 class="text-lg font-semibold mb-4 theme-accent"><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-scroll"/></svg> Command Categories</h2>
697
+ <div class="grid md:grid-cols-2 gap-4 text-mountain-300">
698
+ <ul class="space-y-2">
699
+ <li><a href="#core-commands" class="theme-accent-hover hover:underline">β†’ Core Commands</a></li>
700
+ <li><a href="#protocol-commands" class="theme-accent-hover hover:underline">β†’ Protocol Commands</a></li>
701
+ </ul>
702
+ <ul class="space-y-2">
703
+ <li><a href="#bookmark-commands" class="theme-accent-hover hover:underline">β†’ Bookmark Commands</a></li>
704
+ <li><a href="#geo-commands" class="theme-accent-hover hover:underline">β†’ Geographic Commands</a></li>
705
+ </ul>
706
+ </div>
707
+ </div>
708
+
709
+ <!-- ======================= -->
710
+ <!-- CORE COMMANDS SECTION -->
711
+ <!-- ======================= -->
712
+ <h2 id="core-commands" class="text-2xl font-bold mb-6 pt-4 border-t border-mountain-700">
713
+ <span class="theme-accent">$</span> Core Commands
714
+ </h2>
715
+
716
+ <!-- yakmesh init -->
717
+ <div class="command-block p-6 mb-6">
718
+ <div class="flex items-center gap-3 mb-4">
719
+ <code class="text-xl theme-accent font-mono">yakmesh init</code>
720
+ <span class="text-mountain-400 text-sm">Initialize a new node</span>
721
+ </div>
722
+ <p class="text-mountain-300 mb-4">
723
+ Creates a new YAKMESH node with post-quantum identity, configuration file, and data directory.
724
+ </p>
725
+
726
+ <h3 class="font-semibold mb-3">Options</h3>
727
+ <table class="option-table mb-4">
728
+ <thead>
729
+ <tr>
730
+ <th>Option</th>
731
+ <th>Description</th>
732
+ <th>Default</th>
733
+ </tr>
734
+ </thead>
735
+ <tbody class="text-mountain-300">
736
+ <tr>
737
+ <td><code>--name</code></td>
738
+ <td>Human-readable node name</td>
739
+ <td>Auto-generated</td>
740
+ </tr>
741
+ <tr>
742
+ <td><code>--region</code></td>
743
+ <td>Geographic region identifier</td>
744
+ <td>Auto-detected</td>
745
+ </tr>
746
+ <tr>
747
+ <td><code>--port</code></td>
748
+ <td>HTTP API port</td>
749
+ <td>3000</td>
750
+ </tr>
751
+ <tr>
752
+ <td><code>--ws-port</code></td>
753
+ <td>WebSocket port for P2P</td>
754
+ <td>9001</td>
755
+ </tr>
756
+ <tr>
757
+ <td><code>--bootstrap</code></td>
758
+ <td>Bootstrap peer address</td>
759
+ <td>None</td>
760
+ </tr>
761
+ </tbody>
762
+ </table>
763
+
764
+ <h4 class="font-semibold mb-3">Examples</h4>
765
+ <pre class="language-bash"><code># Basic initialization
766
+ yakmesh init
767
+
768
+ # Named node with custom ports
769
+ yakmesh init --name "himalaya-node-1" --port 8080 --ws-port 9002
770
+
771
+ # Initialize with bootstrap peer
772
+ yakmesh init --bootstrap wss://seed.yakmesh.dev:9001
773
+
774
+ # Full configuration
775
+ yakmesh init \
776
+ --name "everest-gateway" \
777
+ --region "asia-south" \
778
+ --port 3000 \
779
+ --ws-port 9001 \
780
+ --bootstrap wss://peer.example.com:9001</code></pre>
781
+ </div>
782
+
783
+ <!-- yakmesh start -->
784
+ <div class="command-block p-6 mb-6">
785
+ <div class="flex items-center gap-3 mb-4">
786
+ <code class="text-xl theme-accent font-mono">yakmesh start</code>
787
+ <span class="text-mountain-400 text-sm">Start the node</span>
788
+ </div>
789
+ <p class="text-mountain-300 mb-4">
790
+ Starts the YAKMESH node with all services: HTTP API, WebSocket P2P, and mesh networking.
791
+ </p>
792
+
793
+ <h4 class="font-semibold mb-3">Options</h4>
794
+ <table class="option-table mb-4">
795
+ <thead>
796
+ <tr>
797
+ <th>Option</th>
798
+ <th>Description</th>
799
+ <th>Default</th>
800
+ </tr>
801
+ </thead>
802
+ <tbody class="text-mountain-300">
803
+ <tr>
804
+ <td><code>--config</code></td>
805
+ <td>Path to configuration file</td>
806
+ <td>./yakmesh.config.js</td>
807
+ </tr>
808
+ <tr>
809
+ <td><code>--daemon</code></td>
810
+ <td>Run as background daemon</td>
811
+ <td>false</td>
812
+ </tr>
813
+ </tbody>
814
+ </table>
815
+
816
+ <h4 class="font-semibold mb-3">Examples</h4>
817
+ <pre class="language-bash"><code># Start with default config
818
+ yakmesh start
819
+
820
+ # Start with custom config
821
+ yakmesh start --config /etc/yakmesh/node.config.js
822
+
823
+ # Start as daemon (background process)
824
+ yakmesh start --daemon</code></pre>
825
+
826
+ <h4 class="font-semibold mb-3 mt-4">Expected Output</h4>
827
+ <pre class="language-text"><code><span class="yak-icon"></span> Starting Yakmesh Node...
828
+
829
+ <svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-lock"/></svg> Securing codebase...
830
+ <svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-check"/></svg> Codebase locked: 65 files protected
831
+ <svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-lama"/></svg> Initializing Oracle System...
832
+ <svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-check"/></svg> Annex channel initialized
833
+ <svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-check"/></svg> Yakmesh Node is running!
834
+ Network: factor-primitive-bose
835
+ Network ID: pq-EqU8
836
+ Dashboard: http://localhost:3000/dashboard</code></pre>
837
+ </div>
838
+
839
+ <!-- yakmesh status -->
840
+ <div class="command-block p-6 mb-6">
841
+ <div class="flex items-center gap-3 mb-4">
842
+ <code class="text-xl theme-accent font-mono">yakmesh status</code>
843
+ <span class="text-mountain-400 text-sm">Show node status</span>
844
+ </div>
845
+ <p class="text-mountain-300 mb-4">
846
+ Displays the current status of your running YAKMESH node including health, peers, and network info.
847
+ </p>
848
+
849
+ <h4 class="font-semibold mb-3">Example</h4>
850
+ <pre class="language-bash"><code>yakmesh status</code></pre>
851
+ <pre class="language-text"><code>╔══════════════════════════════════════════════════╗
852
+ β•‘ YAKMESH NODE STATUS β•‘
853
+ ╠══════════════════════════════════════════════════╣
854
+ β•‘ Status: 🟒 ONLINE β•‘
855
+ β•‘ Network: factor-primitive-bose β•‘
856
+ β•‘ Network ID: pq-EqU8 β•‘
857
+ β•‘ Uptime: 2h 34m 12s β•‘
858
+ β•‘ Peers: 7 connected β•‘
859
+ β•‘ Algorithm: ML-DSA-65 β•‘
860
+ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•</code></pre>
861
+ </div>
862
+
863
+ <!-- yakmesh peers -->
864
+ <div class="command-block p-6 mb-6">
865
+ <div class="flex items-center gap-3 mb-4">
866
+ <code class="text-xl theme-accent font-mono">yakmesh peers</code>
867
+ <span class="text-mountain-400 text-sm">List connected peers</span>
868
+ </div>
869
+ <p class="text-mountain-300 mb-4">
870
+ Lists all currently connected peers with their node IDs, endpoints, and connection status.
871
+ </p>
872
+
873
+ <h4 class="font-semibold mb-3">Example Output</h4>
874
+ <pre class="language-text"><code>Connected Peers (7):
875
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
876
+ β”‚ ID β”‚ Endpoint β”‚ Latency β”‚ Trust β”‚
877
+ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
878
+ β”‚ node-a7f3...2b1e β”‚ wss://peer1:9001 β”‚ 12ms β”‚ 0.95 β”‚
879
+ β”‚ node-c4d8...9f2a β”‚ wss://peer2:9001 β”‚ 45ms β”‚ 0.87 β”‚
880
+ β”‚ node-b2e6...1c4f β”‚ 192.168.1.5:9001 β”‚ 2ms β”‚ 0.99 β”‚
881
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜</code></pre>
882
+ </div>
883
+
884
+ <!-- yakmesh info -->
885
+ <div class="command-block p-6 mb-6">
886
+ <div class="flex items-center gap-3 mb-4">
887
+ <code class="text-xl theme-accent font-mono">yakmesh info</code>
888
+ <span class="text-mountain-400 text-sm">Show detailed node info</span>
889
+ </div>
890
+ <p class="text-mountain-300 mb-4">
891
+ Displays comprehensive information about your node including identity, capabilities, and configuration.
892
+ </p>
893
+
894
+ <h4 class="font-semibold mb-3">Example Output</h4>
895
+ <pre class="language-json"><code>{
896
+ "nodeId": "pq-7f3a2b1e-c4d8-4a2f-9b1c-e5f6a7b8c9d0",
897
+ "name": "himalaya-node-1",
898
+ "network": "factor-primitive-bose",
899
+ "networkId": "pq-EqU8",
900
+ "version": "2.5.0",
901
+ "algorithm": "ML-DSA-65",
902
+ "endpoints": {
903
+ "http": "http://localhost:3000",
904
+ "ws": "ws://localhost:9001"
905
+ },
906
+ "capabilities": ["SHERPA", "NAKPAK", "GEO_PROOF"],
907
+ "region": "asia-south",
908
+ "uptime": 9252
909
+ }</code></pre>
910
+ </div>
911
+
912
+ <!-- yakmesh join -->
913
+ <div class="command-block p-6 mb-8">
914
+ <div class="flex items-center gap-3 mb-4">
915
+ <code class="text-xl theme-accent font-mono">yakmesh join &lt;endpoint&gt;</code>
916
+ <span class="text-mountain-400 text-sm">Connect to a peer</span>
917
+ </div>
918
+ <p class="text-mountain-300 mb-4">
919
+ Initiates a connection to a known peer endpoint. The handshake includes NAMCHE verification.
920
+ </p>
921
+
922
+ <h4 class="font-semibold mb-3">Examples</h4>
923
+ <pre class="language-bash"><code># Join via WebSocket
924
+ yakmesh join wss://peer.yakmesh.dev:9001
925
+
926
+ # Join local network peer
927
+ yakmesh join ws://192.168.1.100:9001
928
+
929
+ # Join with explicit protocol
930
+ yakmesh join wss://gateway.example.com:9001</code></pre>
931
+
932
+ <h4 class="font-semibold mb-3 mt-4">Success Output</h4>
933
+ <pre class="language-text"><code>πŸ”— Connecting to wss://peer.yakmesh.dev:9001...
934
+ 🧭 NAMCHE handshake initiated...
935
+ βœ“ Connected to node-a7f3...2b1e
936
+ Trust score: 0.92
937
+ Latency: 45ms</code></pre>
938
+ </div>
939
+
940
+ <!-- ======================== -->
941
+ <!-- PROTOCOL COMMANDS SECTION -->
942
+ <!-- ======================== -->
943
+ <h2 id="protocol-commands" class="text-2xl font-bold mb-6 pt-4 border-t border-mountain-700">
944
+ <span class="theme-accent">$</span> Protocol Commands
945
+ </h2>
946
+ <p class="text-mountain-300 mb-6">
947
+ Manage the <code class="bg-mountain-800 px-2 py-1 rounded theme-accent">yak://</code> protocol handler for system-wide mesh URL support.
948
+ </p>
949
+
950
+ <!-- protocol register -->
951
+ <div class="command-block p-6 mb-6">
952
+ <div class="flex items-center gap-3 mb-4">
953
+ <code class="text-xl theme-accent font-mono">yakmesh protocol register</code>
954
+ <span class="text-mountain-400 text-sm">Register yak:// protocol</span>
955
+ </div>
956
+ <p class="text-mountain-300 mb-4">
957
+ Registers the <code class="bg-mountain-800 px-2 py-1 rounded">yak://</code> protocol with your operating system.
958
+ Enables clicking yak:// links in browsers and applications.
959
+ </p>
960
+
961
+ <h3 class="font-semibold mb-3">Example</h3>
962
+ <pre class="language-bash"><code>yakmesh protocol register</code></pre>
963
+ <pre class="language-text"><code>βœ“ Protocol yak:// registered successfully
964
+ Handler: /usr/local/bin/yakmesh
965
+
966
+ Test with: yakmesh protocol test yak://hello</code></pre>
967
+
968
+ <div class="theme-callout rounded-lg p-4 mt-4 border">
969
+ <p class="text-sm text-mountain-300">
970
+ <span class="theme-accent font-semibold">Note:</span> On Windows, this modifies the registry.
971
+ On macOS/Linux, it updates protocol handlers. May require elevated permissions.
972
+ </p>
973
+ </div>
974
+ </div>
975
+
976
+ <!-- protocol unregister -->
977
+ <div class="command-block p-6 mb-6">
978
+ <div class="flex items-center gap-3 mb-4">
979
+ <code class="text-xl theme-accent font-mono">yakmesh protocol unregister</code>
980
+ <span class="text-mountain-400 text-sm">Unregister protocol</span>
981
+ </div>
982
+ <p class="text-mountain-300 mb-4">
983
+ Removes the yak:// protocol handler from your system.
984
+ </p>
985
+
986
+ <pre class="language-bash"><code>yakmesh protocol unregister</code></pre>
987
+ <pre class="language-text"><code>βœ“ Protocol yak:// unregistered</code></pre>
988
+ </div>
989
+
990
+ <!-- protocol test -->
991
+ <div class="command-block p-6 mb-6">
992
+ <div class="flex items-center gap-3 mb-4">
993
+ <code class="text-xl theme-accent font-mono">yakmesh protocol test &lt;url&gt;</code>
994
+ <span class="text-mountain-400 text-sm">Test yak:// URL</span>
995
+ </div>
996
+ <p class="text-mountain-300 mb-4">
997
+ Parses and validates a yak:// URL without executing it. Useful for debugging.
998
+ </p>
999
+
1000
+ <h4 class="font-semibold mb-3">Examples</h4>
1001
+ <pre class="language-bash"><code># Test a simple URL
1002
+ yakmesh protocol test yak://node-a7f3/resource
1003
+
1004
+ # Test with query parameters
1005
+ yakmesh protocol test "yak://gateway.local/api/status?format=json"</code></pre>
1006
+ <pre class="language-json"><code>{
1007
+ "valid": true,
1008
+ "parsed": {
1009
+ "protocol": "yak:",
1010
+ "host": "node-a7f3",
1011
+ "path": "/resource",
1012
+ "query": {}
1013
+ }
1014
+ }</code></pre>
1015
+ </div>
1016
+
1017
+ <!-- protocol open -->
1018
+ <div class="command-block p-6 mb-8">
1019
+ <div class="flex items-center gap-3 mb-4">
1020
+ <code class="text-xl theme-accent font-mono">yakmesh protocol open &lt;url&gt;</code>
1021
+ <span class="text-mountain-400 text-sm">Open yak:// URL</span>
1022
+ </div>
1023
+ <p class="text-mountain-300 mb-4">
1024
+ Opens a yak:// URL, routing through the mesh network to the target resource.
1025
+ </p>
1026
+
1027
+ <h4 class="font-semibold mb-3">Examples</h4>
1028
+ <pre class="language-bash"><code># Open a mesh resource
1029
+ yakmesh protocol open yak://peer-node/dashboard
1030
+
1031
+ # Open with path
1032
+ yakmesh protocol open yak://gateway/api/health</code></pre>
1033
+ </div>
1034
+
1035
+ <!-- ======================== -->
1036
+ <!-- BOOKMARK COMMANDS SECTION -->
1037
+ <!-- ======================== -->
1038
+ <h2 id="bookmark-commands" class="text-2xl font-bold mb-6 pt-4 border-t border-mountain-700">
1039
+ <span class="theme-accent">$</span> Bookmark Commands
1040
+ </h2>
1041
+ <p class="text-mountain-300 mb-6">
1042
+ Save and manage yak:// bookmarks for quick access to frequently used mesh resources.
1043
+ </p>
1044
+
1045
+ <!-- bookmark add -->
1046
+ <div class="command-block p-6 mb-6">
1047
+ <div class="flex items-center gap-3 mb-4">
1048
+ <code class="text-xl theme-accent font-mono">yakmesh protocol bookmark add &lt;name&gt; &lt;target&gt;</code>
1049
+ <span class="text-mountain-400 text-sm">Add a bookmark</span>
1050
+ </div>
1051
+ <p class="text-mountain-300 mb-4">
1052
+ Creates a named shortcut to a yak:// URL or mesh resource.
1053
+ </p>
1054
+
1055
+ <h3 class="font-semibold mb-3">Examples</h3>
1056
+ <pre class="language-bash"><code># Bookmark a dashboard
1057
+ yakmesh protocol bookmark add dashboard yak://local/dashboard
1058
+
1059
+ # Bookmark an API endpoint
1060
+ yakmesh protocol bookmark add health-check yak://gateway/api/health
1061
+
1062
+ # Bookmark external node
1063
+ yakmesh protocol bookmark add main-peer yak://node-a7f3.yakmesh.dev/</code></pre>
1064
+ <pre class="language-text"><code>βœ“ Bookmark 'dashboard' added β†’ yak://local/dashboard</code></pre>
1065
+ </div>
1066
+
1067
+ <!-- bookmark remove -->
1068
+ <div class="command-block p-6 mb-6">
1069
+ <div class="flex items-center gap-3 mb-4">
1070
+ <code class="text-xl theme-accent font-mono">yakmesh protocol bookmark remove &lt;name&gt;</code>
1071
+ <span class="text-mountain-400 text-sm">Remove a bookmark</span>
1072
+ </div>
1073
+ <pre class="language-bash"><code>yakmesh protocol bookmark remove dashboard</code></pre>
1074
+ <pre class="language-text"><code>βœ“ Bookmark 'dashboard' removed</code></pre>
1075
+ </div>
1076
+
1077
+ <!-- bookmark list -->
1078
+ <div class="command-block p-6 mb-6">
1079
+ <div class="flex items-center gap-3 mb-4">
1080
+ <code class="text-xl theme-accent font-mono">yakmesh protocol bookmark list</code>
1081
+ <span class="text-mountain-400 text-sm">List all bookmarks</span>
1082
+ </div>
1083
+ <pre class="language-bash"><code>yakmesh protocol bookmark list</code></pre>
1084
+ <pre class="language-text"><code>Bookmarks:
1085
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
1086
+ β”‚ Name β”‚ Target β”‚
1087
+ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
1088
+ β”‚ dashboard β”‚ yak://local/dashboard β”‚
1089
+ β”‚ health-check β”‚ yak://gateway/api/health β”‚
1090
+ β”‚ main-peer β”‚ yak://node-a7f3.yakmesh.dev/ β”‚
1091
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜</code></pre>
1092
+ </div>
1093
+
1094
+ <!-- bookmark get -->
1095
+ <div class="command-block p-6 mb-8">
1096
+ <div class="flex items-center gap-3 mb-4">
1097
+ <code class="text-xl theme-accent font-mono">yakmesh protocol bookmark get &lt;name&gt;</code>
1098
+ <span class="text-mountain-400 text-sm">Get bookmark target</span>
1099
+ </div>
1100
+ <pre class="language-bash"><code>yakmesh protocol bookmark get dashboard</code></pre>
1101
+ <pre class="language-text"><code>yak://local/dashboard</code></pre>
1102
+ </div>
1103
+
1104
+ <!-- ======================== -->
1105
+ <!-- GEO COMMANDS SECTION -->
1106
+ <!-- ======================== -->
1107
+ <h2 id="geo-commands" class="text-2xl font-bold mb-6 pt-4 border-t border-mountain-700">
1108
+ <span class="theme-accent">$</span> Geographic Commands
1109
+ </h2>
1110
+ <p class="text-mountain-300 mb-6">
1111
+ Manage geographic proof of location using speed-of-light verification.
1112
+ See <a href="geo-proof.html" class="theme-accent theme-accent-hover">Geographic Proof documentation</a> for details.
1113
+ </p>
1114
+
1115
+ <!-- geo status -->
1116
+ <div class="command-block p-6 mb-6">
1117
+ <div class="flex items-center gap-3 mb-4">
1118
+ <code class="text-xl theme-accent font-mono">yakmesh geo status</code>
1119
+ <span class="text-mountain-400 text-sm">Geographic proof status</span>
1120
+ </div>
1121
+ <p class="text-mountain-300 mb-4">
1122
+ Shows the current geographic verification status and location proof.
1123
+ </p>
1124
+
1125
+ <pre class="language-bash"><code>yakmesh geo status</code></pre>
1126
+ <pre class="language-text"><code>Geographic Proof Status:
1127
+ Verified: βœ“ Yes
1128
+ Region: asia-south
1129
+ Confidence: 94.2%
1130
+ Last Proof: 2024-01-15T10:30:00Z
1131
+ Landmarks Used: 4
1132
+
1133
+ Triangulation:
1134
+ β€’ Singapore (12ms) βœ“
1135
+ β€’ Tokyo (45ms) βœ“
1136
+ β€’ Sydney (89ms) βœ“
1137
+ β€’ Mumbai (8ms) βœ“</code></pre>
1138
+ </div>
1139
+
1140
+ <!-- geo landmarks -->
1141
+ <div class="command-block p-6 mb-6">
1142
+ <div class="flex items-center gap-3 mb-4">
1143
+ <code class="text-xl theme-accent font-mono">yakmesh geo landmarks</code>
1144
+ <span class="text-mountain-400 text-sm">List landmarks</span>
1145
+ </div>
1146
+ <p class="text-mountain-300 mb-4">
1147
+ Lists all known geographic landmarks used for triangulation.
1148
+ </p>
1149
+
1150
+ <pre class="language-text"><code>Known Landmarks (12):
1151
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
1152
+ β”‚ Name β”‚ Location β”‚ Status β”‚ Latency β”‚
1153
+ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
1154
+ β”‚ landmark-sgp β”‚ Singapore β”‚ 🟒 Up β”‚ 12ms β”‚
1155
+ β”‚ landmark-tyo β”‚ Tokyo β”‚ 🟒 Up β”‚ 45ms β”‚
1156
+ β”‚ landmark-syd β”‚ Sydney β”‚ 🟒 Up β”‚ 89ms β”‚
1157
+ β”‚ landmark-mum β”‚ Mumbai β”‚ 🟒 Up β”‚ 8ms β”‚
1158
+ β”‚ landmark-fra β”‚ Frankfurt β”‚ 🟒 Up β”‚ 156ms β”‚
1159
+ β”‚ landmark-nyc β”‚ New York β”‚ 🟑 Slow β”‚ 234ms β”‚
1160
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜</code></pre>
1161
+ </div>
1162
+
1163
+ <!-- geo zones -->
1164
+ <div class="command-block p-6 mb-6">
1165
+ <div class="flex items-center gap-3 mb-4">
1166
+ <code class="text-xl theme-accent font-mono">yakmesh geo zones</code>
1167
+ <span class="text-mountain-400 text-sm">List exclusion zones</span>
1168
+ </div>
1169
+ <p class="text-mountain-300 mb-4">
1170
+ Lists configured geographic exclusion zones where connections are restricted.
1171
+ </p>
1172
+
1173
+ <pre class="language-bash"><code>yakmesh geo zones</code></pre>
1174
+ </div>
1175
+
1176
+ <!-- geo prove -->
1177
+ <div class="command-block p-6 mb-6">
1178
+ <div class="flex items-center gap-3 mb-4">
1179
+ <code class="text-xl theme-accent font-mono">yakmesh geo prove</code>
1180
+ <span class="text-mountain-400 text-sm">Generate geographic proof</span>
1181
+ </div>
1182
+ <p class="text-mountain-300 mb-4">
1183
+ Initiates a new geographic proof generation by triangulating against known landmarks.
1184
+ </p>
1185
+
1186
+ <pre class="language-bash"><code>yakmesh geo prove</code></pre>
1187
+ <pre class="language-text"><code>🌍 Generating geographic proof...
1188
+ Pinging landmark-sgp... 12ms βœ“
1189
+ Pinging landmark-tyo... 45ms βœ“
1190
+ Pinging landmark-syd... 89ms βœ“
1191
+ Pinging landmark-mum... 8ms βœ“
1192
+
1193
+ βœ“ Proof generated successfully
1194
+ Region: asia-south
1195
+ Confidence: 94.2%
1196
+ Proof ID: geo-proof-7f3a2b1e</code></pre>
1197
+ </div>
1198
+
1199
+ <!-- geo verify -->
1200
+ <div class="command-block p-6 mb-6">
1201
+ <div class="flex items-center gap-3 mb-4">
1202
+ <code class="text-xl theme-accent font-mono">yakmesh geo verify &lt;nodeId&gt;</code>
1203
+ <span class="text-mountain-400 text-sm">Verify another node</span>
1204
+ </div>
1205
+ <p class="text-mountain-300 mb-4">
1206
+ Requests and verifies the geographic proof from another node.
1207
+ </p>
1208
+
1209
+ <pre class="language-bash"><code>yakmesh geo verify node-a7f3</code></pre>
1210
+ <pre class="language-text"><code>πŸ” Verifying geographic proof for node-a7f3...
1211
+ Claimed region: europe-west
1212
+ Verification landmarks: 3
1213
+
1214
+ βœ“ Location verified
1215
+ Confidence: 91.7%
1216
+ Distance to claimed: ~50km
1217
+ Proof valid: Yes</code></pre>
1218
+ </div>
1219
+
1220
+ <!-- geo add-landmark -->
1221
+ <div class="command-block p-6 mb-6">
1222
+ <div class="flex items-center gap-3 mb-4">
1223
+ <code class="text-xl theme-accent font-mono">yakmesh geo add-landmark</code>
1224
+ <span class="text-mountain-400 text-sm">Add a landmark</span>
1225
+ </div>
1226
+ <p class="text-mountain-300 mb-4">
1227
+ Adds a new landmark server for geographic triangulation.
1228
+ </p>
1229
+
1230
+ <pre class="language-bash"><code>yakmesh geo add-landmark --name "my-landmark" --endpoint "wss://landmark.example.com:9001" --location "40.7128,-74.0060"</code></pre>
1231
+ </div>
1232
+
1233
+ <!-- geo physics -->
1234
+ <div class="command-block p-6 mb-8">
1235
+ <div class="flex items-center gap-3 mb-4">
1236
+ <code class="text-xl theme-accent font-mono">yakmesh geo physics</code>
1237
+ <span class="text-mountain-400 text-sm">Show speed-of-light constants</span>
1238
+ </div>
1239
+ <p class="text-mountain-300 mb-4">
1240
+ Displays the physical constants used for geographic proof calculations.
1241
+ </p>
1242
+
1243
+ <pre class="language-bash"><code>yakmesh geo physics</code></pre>
1244
+ <pre class="language-json"><code>{
1245
+ "speedOfLight": 299792458,
1246
+ "fiberRefractionIndex": 1.47,
1247
+ "effectiveSpeed": 203940108,
1248
+ "minTriangulationPoints": 3,
1249
+ "maxAcceptableDeviation": 0.15,
1250
+ "units": {
1251
+ "speed": "m/s",
1252
+ "distance": "km",
1253
+ "time": "ms"
1254
+ }
1255
+ }</code></pre>
1256
+
1257
+ <div class="theme-callout rounded-lg p-4 mt-4 border">
1258
+ <p class="text-sm text-mountain-300">
1259
+ <span class="theme-accent font-semibold"><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-bolt"/></svg> How it works:</span>
1260
+ Geographic proof uses the speed of light through fiber optic cables to verify
1261
+ that a node's claimed location is physically consistent with its measured latencies.
1262
+ </p>
1263
+ </div>
1264
+ </div>
1265
+
1266
+ <!-- Next Steps -->
1267
+ <div class="bg-mountain-800 border theme-border rounded-xl p-6 mt-8">
1268
+ <h3 class="text-lg font-semibold mb-4">Continue Exploring</h3>
1269
+ <ul class="space-y-3 text-mountain-300">
1270
+ <li class="flex items-center gap-2">
1271
+ <svg class="doc-icon inline-icon" aria-hidden="true"><use href="#icon-signal"/></svg>
1272
+ <a href="api.html" class="theme-accent theme-accent-hover">REST API Reference</a>
1273
+ <span class="text-mountain-400 text-sm">β€” HTTP endpoints for programmatic access</span>
1274
+ </li>
1275
+ <li class="flex items-center gap-2">
1276
+ <svg class="doc-icon inline-icon" aria-hidden="true"><use href="#icon-link"/></svg>
1277
+ <a href="yak-protocol.html" class="theme-accent theme-accent-hover">YAK:// Protocol</a>
1278
+ <span class="text-mountain-400 text-sm">β€” Custom URL scheme details</span>
1279
+ </li>
1280
+ <li class="flex items-center gap-2">
1281
+ <svg class="doc-icon inline-icon" aria-hidden="true"><use href="#icon-pramaan"/></svg>
1282
+ <a href="geo-proof.html" class="theme-accent theme-accent-hover">Geographic Proof</a>
1283
+ <span class="text-mountain-400 text-sm">β€” Speed-of-light verification</span>
1284
+ </li>
1285
+ <li class="flex items-center gap-2">
1286
+ <svg class="doc-icon inline-icon" aria-hidden="true"><use href="#icon-gear"/></svg>
1287
+ <a href="configuration.html" class="theme-accent theme-accent-hover">Configuration</a>
1288
+ <span class="text-mountain-400 text-sm">β€” Full config file reference</span>
1289
+ </li>
1290
+ </ul>
1291
+ </div>
1292
+
1293
+ <!-- Journey Navigation -->
1294
+ <div class="border-t border-mountain-700 mt-12 pt-8">
1295
+ <h2 class="text-xl font-bold mb-6">Continue the Journey</h2>
1296
+ <div class="flex flex-col sm:flex-row gap-4">
1297
+ <a href="studio.html" class="flex-1 block bg-mountain-800 border border-mountain-700 rounded-xl p-4 hover:border-theme-accent transition group">
1298
+ <div class="text-xs text-mountain-400 mb-1">← Previous</div>
1299
+ <div class="flex items-center gap-2">
1300
+ <svg class="doc-icon journey-icon" aria-hidden="true"><use href="#icon-studio"/></svg>
1301
+ <span class="font-semibold group-hover:text-theme-accent">Studio</span>
1302
+ </div>
1303
+ <p class="text-mountain-400 text-sm mt-1">YakApp Studio creative suite</p>
1304
+ </a>
1305
+ <a href="configuration.html" class="flex-1 block bg-mountain-800 border border-theme-primary rounded-xl p-4 hover:border-theme-accent transition group">
1306
+ <div class="text-xs text-mountain-400 mb-1">Next β†’</div>
1307
+ <div class="flex items-center gap-2">
1308
+ <svg class="doc-icon journey-icon" aria-hidden="true"><use href="#icon-gear"/></svg>
1309
+ <span class="font-semibold group-hover:text-theme-accent">Configuration</span>
1310
+ </div>
1311
+ <p class="text-mountain-400 text-sm mt-1">Node configuration reference</p>
1312
+ </a>
1313
+ </div>
1314
+ </div>
1315
+ </main>
1316
+
1317
+ <footer class="docs-footer">
1318
+ <p>Β© 2026 YAKMESHβ„’</p>
1319
+ </footer><!-- Scripts -->
1320
+ <script src="prism.min.js" defer></script>
1321
+ <script src="prism-bash.min.js" defer></script>
1322
+ <script src="prism-json.min.js" defer></script>
1323
+ <script src="docs.js" defer></script>
1324
+
1325
+
1326
+ </body>
1327
+ </html>
1328
+
1329
+
1330
+
1331
+
1332
+