dexterm-cli 0.1.3 → 0.1.4

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 (221) hide show
  1. package/dist/packages/cli/assets/claude/analyst-system.md +2 -1
  2. package/dist/packages/cli/src/app-help-gen.js +3 -3
  3. package/dist/packages/cli/src/docs-kb-gen.js +228 -0
  4. package/dist/packages/cli/src/doctor.js +22 -7
  5. package/dist/packages/cli/src/index.js +1 -1
  6. package/dist/packages/cli/src/kb-skill-cmd.js +3 -0
  7. package/dist/packages/cli/src/larp-detected.js +209 -0
  8. package/dist/packages/cli/src/live/token.js +38 -1
  9. package/dist/packages/cli/src/main.js +140 -1
  10. package/dist/packages/cli/src/mcp-follow.js +225 -0
  11. package/dist/packages/cli/src/spectate-cmd.js +14 -3
  12. package/dist/packages/cli/src/version.js +1 -1
  13. package/dist/packages/cli/src/x-cmd.js +11 -5
  14. package/dist/packages/mcp/assets/kb/app-help/spectate-an-agent.md +4 -1
  15. package/dist/packages/mcp/assets/kb/docs/docs-agents-capability-tiers-enforced-server-side.md +38 -0
  16. package/dist/packages/mcp/assets/kb/docs/docs-agents-install-in-one-command.md +49 -0
  17. package/dist/packages/mcp/assets/kb/docs/docs-agents-per-agent-mandates.md +35 -0
  18. package/dist/packages/mcp/assets/kb/docs/docs-agents-recipes.md +43 -0
  19. package/dist/packages/mcp/assets/kb/docs/docs-agents-red-team-coverage.md +30 -0
  20. package/dist/packages/mcp/assets/kb/docs/docs-agents-two-ways-to-connect.md +37 -0
  21. package/dist/packages/mcp/assets/kb/docs/docs-agents-untrusted-by-default.md +36 -0
  22. package/dist/packages/mcp/assets/kb/docs/docs-agents-watch-an-agent-work-spectator-view.md +35 -0
  23. package/dist/packages/mcp/assets/kb/docs/docs-agents.md +26 -0
  24. package/dist/packages/mcp/assets/kb/docs/docs-analyst-answer-style.md +35 -0
  25. package/dist/packages/mcp/assets/kb/docs/docs-analyst-if-claude-is-missing.md +25 -0
  26. package/dist/packages/mcp/assets/kb/docs/docs-analyst-it-knows-the-app.md +33 -0
  27. package/dist/packages/mcp/assets/kb/docs/docs-analyst-mcp-tools.md +33 -0
  28. package/dist/packages/mcp/assets/kb/docs/docs-analyst-plain-language-filters.md +25 -0
  29. package/dist/packages/mcp/assets/kb/docs/docs-analyst-skills.md +31 -0
  30. package/dist/packages/mcp/assets/kb/docs/docs-analyst-starting-a-run.md +33 -0
  31. package/dist/packages/mcp/assets/kb/docs/docs-analyst-what-it-can-change-three-tiers.md +33 -0
  32. package/dist/packages/mcp/assets/kb/docs/docs-analyst-what-it-sees.md +26 -0
  33. package/dist/packages/mcp/assets/kb/docs/docs-analyst-what-the-analyst-can-never-do.md +31 -0
  34. package/dist/packages/mcp/assets/kb/docs/docs-analyst.md +23 -0
  35. package/dist/packages/mcp/assets/kb/docs/docs-beginners-1-start-dexterm.md +35 -0
  36. package/dist/packages/mcp/assets/kb/docs/docs-beginners-2-open-a-real-coin-by-contract-address.md +43 -0
  37. package/dist/packages/mcp/assets/kb/docs/docs-beginners-3-read-the-safety-panel.md +40 -0
  38. package/dist/packages/mcp/assets/kb/docs/docs-beginners-4-read-the-holder-panel.md +35 -0
  39. package/dist/packages/mcp/assets/kb/docs/docs-beginners-5-optionally-ask-the-analyst.md +39 -0
  40. package/dist/packages/mcp/assets/kb/docs/docs-beginners-6-export-or-share-what-you-see.md +34 -0
  41. package/dist/packages/mcp/assets/kb/docs/docs-beginners-7-quit-safely.md +34 -0
  42. package/dist/packages/mcp/assets/kb/docs/docs-beginners-before-any-experimental-trading.md +33 -0
  43. package/dist/packages/mcp/assets/kb/docs/docs-beginners-check-the-installation-with-doctor.md +38 -0
  44. package/dist/packages/mcp/assets/kb/docs/docs-beginners-choose-a-setup-path.md +30 -0
  45. package/dist/packages/mcp/assets/kb/docs/docs-beginners-common-mistakes-and-recovery.md +30 -0
  46. package/dist/packages/mcp/assets/kb/docs/docs-beginners-copy-and-paste-without-surprises.md +39 -0
  47. package/dist/packages/mcp/assets/kb/docs/docs-beginners-if-data-says-unavailable-stale-or-rate-limited.md +35 -0
  48. package/dist/packages/mcp/assets/kb/docs/docs-beginners-if-dexterm-says-command-not-found.md +36 -0
  49. package/dist/packages/mcp/assets/kb/docs/docs-beginners-if-optional-help-is-unavailable.md +33 -0
  50. package/dist/packages/mcp/assets/kb/docs/docs-beginners-if-paste-does-nothing-or-pastes-twice.md +35 -0
  51. package/dist/packages/mcp/assets/kb/docs/docs-beginners-if-the-screen-looks-broken.md +33 -0
  52. package/dist/packages/mcp/assets/kb/docs/docs-beginners-if-you-typed-the-wrong-thing.md +33 -0
  53. package/dist/packages/mcp/assets/kb/docs/docs-beginners-install-node-js-first.md +36 -0
  54. package/dist/packages/mcp/assets/kb/docs/docs-beginners-linux.md +30 -0
  55. package/dist/packages/mcp/assets/kb/docs/docs-beginners-macos-homebrew.md +46 -0
  56. package/dist/packages/mcp/assets/kb/docs/docs-beginners-macos-or-linux-npm.md +39 -0
  57. package/dist/packages/mcp/assets/kb/docs/docs-beginners-macos.md +30 -0
  58. package/dist/packages/mcp/assets/kb/docs/docs-beginners-open-the-terminal.md +29 -0
  59. package/dist/packages/mcp/assets/kb/docs/docs-beginners-reopen-dexterm-later.md +36 -0
  60. package/dist/packages/mcp/assets/kb/docs/docs-beginners-ten-minute-first-win.md +30 -0
  61. package/dist/packages/mcp/assets/kb/docs/docs-beginners-terminal-shell-prompt-command-output-and-path.md +40 -0
  62. package/dist/packages/mcp/assets/kb/docs/docs-beginners-where-to-go-next.md +32 -0
  63. package/dist/packages/mcp/assets/kb/docs/docs-beginners-windows-expectations.md +29 -0
  64. package/dist/packages/mcp/assets/kb/docs/docs-beginners-windows-powershell-experimental.md +39 -0
  65. package/dist/packages/mcp/assets/kb/docs/docs-beginners-windows.md +30 -0
  66. package/dist/packages/mcp/assets/kb/docs/docs-beginners.md +29 -0
  67. package/dist/packages/mcp/assets/kb/docs/docs-cli-dexterm-help.md +31 -0
  68. package/dist/packages/mcp/assets/kb/docs/docs-cli-filter-grammar.md +37 -0
  69. package/dist/packages/mcp/assets/kb/docs/docs-cli-flags.md +27 -0
  70. package/dist/packages/mcp/assets/kb/docs/docs-cli-invocations.md +43 -0
  71. package/dist/packages/mcp/assets/kb/docs/docs-cli-presets.md +26 -0
  72. package/dist/packages/mcp/assets/kb/docs/docs-cli-scan-commands.md +26 -0
  73. package/dist/packages/mcp/assets/kb/docs/docs-cli-sort-keys.md +27 -0
  74. package/dist/packages/mcp/assets/kb/docs/docs-cli-subcommands.md +26 -0
  75. package/dist/packages/mcp/assets/kb/docs/docs-cli.md +25 -0
  76. package/dist/packages/mcp/assets/kb/docs/docs-configuration-environment-variables.md +45 -0
  77. package/dist/packages/mcp/assets/kb/docs/docs-configuration-files-on-disk.md +41 -0
  78. package/dist/packages/mcp/assets/kb/docs/docs-configuration-headless-recorder-dexterm-record.md +44 -0
  79. package/dist/packages/mcp/assets/kb/docs/docs-configuration-history-recorder.md +33 -0
  80. package/dist/packages/mcp/assets/kb/docs/docs-configuration-packs.md +38 -0
  81. package/dist/packages/mcp/assets/kb/docs/docs-configuration-price-display-mode.md +35 -0
  82. package/dist/packages/mcp/assets/kb/docs/docs-configuration-push-alerts-and-dexterm-watch.md +45 -0
  83. package/dist/packages/mcp/assets/kb/docs/docs-configuration-rules-engine.md +36 -0
  84. package/dist/packages/mcp/assets/kb/docs/docs-configuration-the-analyst-s-launch.md +27 -0
  85. package/dist/packages/mcp/assets/kb/docs/docs-configuration-the-optional-free-rpc-key.md +42 -0
  86. package/dist/packages/mcp/assets/kb/docs/docs-configuration-themes-and-keymaps.md +29 -0
  87. package/dist/packages/mcp/assets/kb/docs/docs-configuration-themes-and-look.md +27 -0
  88. package/dist/packages/mcp/assets/kb/docs/docs-configuration-widgets.md +31 -0
  89. package/dist/packages/mcp/assets/kb/docs/docs-configuration-workspaces.md +30 -0
  90. package/dist/packages/mcp/assets/kb/docs/docs-configuration.md +25 -0
  91. package/dist/packages/mcp/assets/kb/docs/docs-copy-trading-stage-1-follow-a-wallet-see-what-it-does.md +51 -0
  92. package/dist/packages/mcp/assets/kb/docs/docs-copy-trading-stage-2-the-one-key-mirror-ticket-a-proposal.md +56 -0
  93. package/dist/packages/mcp/assets/kb/docs/docs-copy-trading-stage-3-capped-auto-mirror-default-off-less.md +47 -0
  94. package/dist/packages/mcp/assets/kb/docs/docs-copy-trading-what-is-proven-what-is-not.md +36 -0
  95. package/dist/packages/mcp/assets/kb/docs/docs-copy-trading.md +31 -0
  96. package/dist/packages/mcp/assets/kb/docs/docs-data-sources-cache.md +32 -0
  97. package/dist/packages/mcp/assets/kb/docs/docs-data-sources-health-registry.md +29 -0
  98. package/dist/packages/mcp/assets/kb/docs/docs-data-sources-rate-limits-and-pacing.md +32 -0
  99. package/dist/packages/mcp/assets/kb/docs/docs-data-sources-request-budget-meter.md +30 -0
  100. package/dist/packages/mcp/assets/kb/docs/docs-data-sources-sources.md +47 -0
  101. package/dist/packages/mcp/assets/kb/docs/docs-data-sources-the-helius-credit-meter.md +30 -0
  102. package/dist/packages/mcp/assets/kb/docs/docs-data-sources.md +27 -0
  103. package/dist/packages/mcp/assets/kb/docs/docs-getting-started-dexterm-doctor.md +33 -0
  104. package/dist/packages/mcp/assets/kb/docs/docs-getting-started-first-run.md +34 -0
  105. package/dist/packages/mcp/assets/kb/docs/docs-getting-started-install.md +71 -0
  106. package/dist/packages/mcp/assets/kb/docs/docs-getting-started-next.md +32 -0
  107. package/dist/packages/mcp/assets/kb/docs/docs-getting-started-requirements.md +35 -0
  108. package/dist/packages/mcp/assets/kb/docs/docs-getting-started-running-the-tests.md +34 -0
  109. package/dist/packages/mcp/assets/kb/docs/docs-getting-started-supported-platforms.md +44 -0
  110. package/dist/packages/mcp/assets/kb/docs/docs-getting-started-updating.md +28 -0
  111. package/dist/packages/mcp/assets/kb/docs/docs-getting-started.md +27 -0
  112. package/dist/packages/mcp/assets/kb/docs/docs-keyboard-global-keys.md +26 -0
  113. package/dist/packages/mcp/assets/kb/docs/docs-keyboard-keys-handled-by-the-loop.md +29 -0
  114. package/dist/packages/mcp/assets/kb/docs/docs-keyboard-per-screen-keys.md +26 -0
  115. package/dist/packages/mcp/assets/kb/docs/docs-keyboard-what-shows.md +27 -0
  116. package/dist/packages/mcp/assets/kb/docs/docs-keyboard.md +26 -0
  117. package/dist/packages/mcp/assets/kb/docs/docs-larp-measured-accuracy.md +55 -0
  118. package/dist/packages/mcp/assets/kb/docs/docs-larp-open-link-keys.md +26 -0
  119. package/dist/packages/mcp/assets/kb/docs/docs-larp-paste-a-coin-on-the-web.md +35 -0
  120. package/dist/packages/mcp/assets/kb/docs/docs-larp-the-verdict.md +29 -0
  121. package/dist/packages/mcp/assets/kb/docs/docs-larp-timestamped-follow-up-drafts.md +35 -0
  122. package/dist/packages/mcp/assets/kb/docs/docs-larp-what-it-looks-at.md +33 -0
  123. package/dist/packages/mcp/assets/kb/docs/docs-larp.md +24 -0
  124. package/dist/packages/mcp/assets/kb/docs/docs-login-with-x-degraded-states-you-will-see.md +36 -0
  125. package/dist/packages/mcp/assets/kb/docs/docs-login-with-x-free-vs-paid-x-api-tiers-your-bill-your-limits.md +37 -0
  126. package/dist/packages/mcp/assets/kb/docs/docs-login-with-x-kol-lists-and-the-per-handle-filter.md +28 -0
  127. package/dist/packages/mcp/assets/kb/docs/docs-login-with-x-tests.md +25 -0
  128. package/dist/packages/mcp/assets/kb/docs/docs-login-with-x-what-is-read-and-when.md +35 -0
  129. package/dist/packages/mcp/assets/kb/docs/docs-login-with-x-what-you-set-up-once.md +40 -0
  130. package/dist/packages/mcp/assets/kb/docs/docs-login-with-x-where-the-tokens-live.md +27 -0
  131. package/dist/packages/mcp/assets/kb/docs/docs-login-with-x.md +26 -0
  132. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-a-live-ticket.md +42 -0
  133. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-before-you-press-size-vs-caps.md +34 -0
  134. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-devnet-signer-mainnet-token.md +35 -0
  135. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-jupiter-rate-limits.md +33 -0
  136. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-link-a-wallet.md +32 -0
  137. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-live-trading-devnet-first.md +30 -0
  138. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-mainnet.md +31 -0
  139. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-order-plans-and-standing-mandates.md +44 -0
  140. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-panic.md +31 -0
  141. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-pnl-cards.md +37 -0
  142. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-live-fire-path-devnet-the-fast-wallet.md +41 -0
  143. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-signer-process.md +34 -0
  144. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-ticket.md +31 -0
  145. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-wallet.md +34 -0
  146. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-trade-moments.md +32 -0
  147. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-what-the-live-path-keeps.md +37 -0
  148. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-your-first-live-trade.md +41 -0
  149. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading.md +32 -0
  150. package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-bubble-map-popup.md +27 -0
  151. package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-build-the-native-window.md +33 -0
  152. package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-config-dexterm-popup-json.md +38 -0
  153. package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-docking-macos.md +27 -0
  154. package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-keys-in-the-popup.md +30 -0
  155. package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-market-cap-axis.md +28 -0
  156. package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-security-model.md +33 -0
  157. package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-token-and-feeds-popups.md +38 -0
  158. package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-what-it-shows.md +30 -0
  159. package/dist/packages/mcp/assets/kb/docs/docs-popup-chart.md +27 -0
  160. package/dist/packages/mcp/assets/kb/docs/docs-scan-cost-control.md +28 -0
  161. package/dist/packages/mcp/assets/kb/docs/docs-scan-keys-flag-command.md +34 -0
  162. package/dist/packages/mcp/assets/kb/docs/docs-scan-safety-four-layers.md +32 -0
  163. package/dist/packages/mcp/assets/kb/docs/docs-scan-states.md +27 -0
  164. package/dist/packages/mcp/assets/kb/docs/docs-scan-the-read.md +25 -0
  165. package/dist/packages/mcp/assets/kb/docs/docs-scan-triggers-and-score.md +37 -0
  166. package/dist/packages/mcp/assets/kb/docs/docs-scan.md +24 -0
  167. package/dist/packages/mcp/assets/kb/docs/docs-scorecard-frozen-canary.md +30 -0
  168. package/dist/packages/mcp/assets/kb/docs/docs-scorecard-frozen-task-1401-evaluation.md +35 -0
  169. package/dist/packages/mcp/assets/kb/docs/docs-scorecard-latest-skill-care-run.md +33 -0
  170. package/dist/packages/mcp/assets/kb/docs/docs-scorecard-links-only-larp-baseline-where-it-is-weak.md +35 -0
  171. package/dist/packages/mcp/assets/kb/docs/docs-scorecard-not-measured.md +29 -0
  172. package/dist/packages/mcp/assets/kb/docs/docs-scorecard-rug-verdict-rules.md +33 -0
  173. package/dist/packages/mcp/assets/kb/docs/docs-scorecard-source-and-rebuild.md +31 -0
  174. package/dist/packages/mcp/assets/kb/docs/docs-scorecard.md +27 -0
  175. package/dist/packages/mcp/assets/kb/docs/docs-screens-1-screener.md +35 -0
  176. package/dist/packages/mcp/assets/kb/docs/docs-screens-2-new-pairs.md +28 -0
  177. package/dist/packages/mcp/assets/kb/docs/docs-screens-3-watchlist.md +27 -0
  178. package/dist/packages/mcp/assets/kb/docs/docs-screens-4-analyst-tab.md +28 -0
  179. package/dist/packages/mcp/assets/kb/docs/docs-screens-bubble-map.md +32 -0
  180. package/dist/packages/mcp/assets/kb/docs/docs-screens-coin-images.md +32 -0
  181. package/dist/packages/mcp/assets/kb/docs/docs-screens-live-holder-and-rug-signals.md +51 -0
  182. package/dist/packages/mcp/assets/kb/docs/docs-screens-order-plans.md +26 -0
  183. package/dist/packages/mcp/assets/kb/docs/docs-screens-paper-ticket-and-positions.md +29 -0
  184. package/dist/packages/mcp/assets/kb/docs/docs-screens-the-look.md +29 -0
  185. package/dist/packages/mcp/assets/kb/docs/docs-screens-token-screen.md +36 -0
  186. package/dist/packages/mcp/assets/kb/docs/docs-screens-trending-social-and-kol-lists.md +34 -0
  187. package/dist/packages/mcp/assets/kb/docs/docs-screens.md +26 -0
  188. package/dist/packages/mcp/assets/kb/docs/docs-spectator-1-the-agent-activity-window-follow-mode.md +56 -0
  189. package/dist/packages/mcp/assets/kb/docs/docs-spectator-2-the-read-only-stream-spectate.md +42 -0
  190. package/dist/packages/mcp/assets/kb/docs/docs-spectator-3-save-and-replay-record-file-dexterm-spectate.md +41 -0
  191. package/dist/packages/mcp/assets/kb/docs/docs-spectator-follow-over-mcp-in-the-running-terminal.md +39 -0
  192. package/dist/packages/mcp/assets/kb/docs/docs-spectator-limits.md +36 -0
  193. package/dist/packages/mcp/assets/kb/docs/docs-spectator-quick-start.md +37 -0
  194. package/dist/packages/mcp/assets/kb/docs/docs-spectator-security-model.md +35 -0
  195. package/dist/packages/mcp/assets/kb/docs/docs-spectator-see-also.md +29 -0
  196. package/dist/packages/mcp/assets/kb/docs/docs-spectator-streaming-it.md +32 -0
  197. package/dist/packages/mcp/assets/kb/docs/docs-spectator-the-three-surfaces.md +37 -0
  198. package/dist/packages/mcp/assets/kb/docs/docs-spectator-what-is-redacted.md +35 -0
  199. package/dist/packages/mcp/assets/kb/docs/docs-spectator.md +29 -0
  200. package/dist/packages/mcp/assets/kb/docs/docs-troubleshooting-common-questions.md +33 -0
  201. package/dist/packages/mcp/assets/kb/docs/docs-troubleshooting-doctor-lines.md +36 -0
  202. package/dist/packages/mcp/assets/kb/docs/docs-troubleshooting-in-app-messages.md +42 -0
  203. package/dist/packages/mcp/assets/kb/docs/docs-troubleshooting-reporting-a-problem.md +25 -0
  204. package/dist/packages/mcp/assets/kb/docs/docs-troubleshooting.md +23 -0
  205. package/dist/packages/mcp/assets/kb/docs/docs-voice-doctor.md +26 -0
  206. package/dist/packages/mcp/assets/kb/docs/docs-voice-it-clarifies-it-never-guesses.md +36 -0
  207. package/dist/packages/mcp/assets/kb/docs/docs-voice-latency.md +38 -0
  208. package/dist/packages/mcp/assets/kb/docs/docs-voice-linux-and-windows.md +32 -0
  209. package/dist/packages/mcp/assets/kb/docs/docs-voice-privacy.md +26 -0
  210. package/dist/packages/mcp/assets/kb/docs/docs-voice-still-unverified.md +27 -0
  211. package/dist/packages/mcp/assets/kb/docs/docs-voice-the-voice-neural-by-default.md +48 -0
  212. package/dist/packages/mcp/assets/kb/docs/docs-voice-what-it-can-never-do.md +27 -0
  213. package/dist/packages/mcp/assets/kb/docs/docs-voice-what-you-can-say.md +38 -0
  214. package/dist/packages/mcp/assets/kb/docs/docs-voice.md +25 -0
  215. package/dist/packages/mcp/src/app-help.js +123 -0
  216. package/dist/packages/mcp/src/firewall.js +2 -2
  217. package/dist/packages/mcp/src/index.js +5 -4
  218. package/dist/packages/mcp/src/server.js +56 -18
  219. package/dist/packages/mcp/src/spectator-sink.js +74 -2
  220. package/dist/packages/voice/src/stt/whisper.js +4 -2
  221. package/package.json +6 -5
@@ -0,0 +1,44 @@
1
+ ---
2
+ id: docs-getting-started-supported-platforms
3
+ title: Getting started › Supported platforms
4
+ kind: docs
5
+ page: getting-started
6
+ page_title: Getting started
7
+ heading: Supported platforms
8
+ anchor: supported-platforms
9
+ url: https://dexterm.xyz/docs/getting-started#supported-platforms
10
+ tags:
11
+ - docs
12
+ - getting-started
13
+ - supported
14
+ - platforms
15
+ - getting
16
+ - started
17
+ confidence: high
18
+ owner: maintainers
19
+ origin: docs-generated
20
+ reviewed_by: generated@2026-10-16
21
+ generated_from: dexterm/site content/docs (task-1420)
22
+ sources:
23
+ - site/content/docs/getting-started.md
24
+ date: 2026-10-16
25
+ ---
26
+
27
+ This table says what each platform has actually been through, not what we expect to work. "Tested" means the typecheck, the full offline test suite and an install smoke (`npm pack`, `npm i -g` of that tarball into an empty prefix with a fresh home, then `dexterm --version` and `dexterm doctor`) have passed there.
28
+
29
+ | platform | status | what has run on it |
30
+ |---|---|---|
31
+ | Linux x64, Node 22 and 24 | tested | the full suite on every push in CI (Ubuntu), and the same steps in Docker (`node:22-bookworm`, `node:24-bookworm`), including the install smoke |
32
+ | macOS on Intel | tested | the full suite on every change, the install smoke, and a Homebrew install (slow: Homebrew builds Node from source on Intel) |
33
+ | macOS on Apple Silicon | not yet tested | a CI leg on an Apple Silicon runner (`macos-14`) and a manual Homebrew job (tap, trust, install, `brew test`) are written and lint clean; they run for the first time with the next release |
34
+ | Windows x64 | experimental, not yet tested | a CI leg (`windows-latest`) is written: typecheck and the install smoke must pass, the test suite may fail without failing the run. It has not run yet. Known gaps are listed below |
35
+ | WSL2 | not tested separately | it is Linux, so expect the Linux behaviour |
36
+
37
+ Known gaps on Windows (none of them affect key safety: dexterm never holds a wallet key on any platform):
38
+
39
+ - Files dexterm keeps private (tokens, the optional RPC key) are written with POSIX mode `0600`. Windows ignores that mode, so on Windows they are protected only by your user profile's normal permissions.
40
+ - The analyst runs `claude` without a shell, so it can start Claude Code's native installer build (`claude.exe`) but not the `claude.cmd` script an npm install creates. Doctor counts only `claude.exe` as found, so with an npm install it reports the Claude CLI as missing.
41
+ - Voice mode has no Windows speech engine (see voice (https://dexterm.xyz/docs/voice#linux-and-windows)).
42
+ - Opening a token's links and the PnL card's "share to X" do not start a browser on Windows; dexterm shows the URL to open yourself.
43
+ - `doctor` prints its fixes as POSIX shell commands (`mkdir -p`, `chmod`); in PowerShell, do the equivalent by hand.
44
+ - `dexterm kb edit` and `dexterm skill edit` do not open `$EDITOR`; they print the file to edit instead.
@@ -0,0 +1,28 @@
1
+ ---
2
+ id: docs-getting-started-updating
3
+ title: Getting started › Updating
4
+ kind: docs
5
+ page: getting-started
6
+ page_title: Getting started
7
+ heading: Updating
8
+ anchor: updating
9
+ url: https://dexterm.xyz/docs/getting-started#updating
10
+ tags:
11
+ - docs
12
+ - getting-started
13
+ - updating
14
+ - getting
15
+ - started
16
+ confidence: high
17
+ owner: maintainers
18
+ origin: docs-generated
19
+ reviewed_by: generated@2026-10-16
20
+ generated_from: dexterm/site content/docs (task-1420)
21
+ sources:
22
+ - site/content/docs/getting-started.md
23
+ date: 2026-10-16
24
+ ---
25
+
26
+ `dexterm update` asks npm and GitHub for the latest release and prints the exact command for how this copy was installed (npm, Homebrew, the release tarball or a git checkout). It never upgrades anything by itself.
27
+
28
+ A live, interactive run also checks once a day in the background and shows one quiet toast when a newer version exists. The check is two anonymous GET requests with the same fixed headers for everyone (no version, no OS, no ids). Turn it off with `dexterm update --off` (and back on with `--on`), or set `DEXTERM_NO_UPDATE_CHECK=1` or `NO_UPDATE_NOTIFIER=1`. It never runs with `--fixtures`, `--replay`, `CI` or `DEXTERM_OFFLINE`. The trust page (https://dexterm.xyz/trust/#endpoints) lists the hosts.
@@ -0,0 +1,27 @@
1
+ ---
2
+ id: docs-getting-started
3
+ title: Getting started
4
+ kind: docs
5
+ page: getting-started
6
+ page_title: Getting started
7
+ url: https://dexterm.xyz/docs/getting-started
8
+ tags:
9
+ - docs
10
+ - getting-started
11
+ - getting
12
+ - started
13
+ confidence: high
14
+ owner: maintainers
15
+ origin: docs-generated
16
+ reviewed_by: generated@2026-10-16
17
+ generated_from: dexterm/site content/docs (task-1420)
18
+ sources:
19
+ - site/content/docs/getting-started.md
20
+ date: 2026-10-16
21
+ ---
22
+
23
+ Requirements, install, first run and dexterm doctor.
24
+
25
+ dexterm is a terminal screener for Solana memecoins with a local Claude analyst. It runs on your machine, reads public data with no key and never holds a wallet key. Trading is PAPER by default; any live swap is signed in your own Phantom wallet after you approve it (see paper trading (https://dexterm.xyz/docs/paper-trading)). This page gets you from nothing to the live screener.
26
+
27
+ > note: Never used a terminal before? Start with the complete beginner guide (https://dexterm.xyz/docs/beginners). It defines every term, shows exactly what to copy on macOS, Linux and Windows, and ends with a ten-minute read-only coin review.
@@ -0,0 +1,26 @@
1
+ ---
2
+ id: docs-keyboard-global-keys
3
+ title: Keyboard reference › Global keys
4
+ kind: docs
5
+ page: keyboard
6
+ page_title: Keyboard reference
7
+ heading: Global keys
8
+ anchor: global-keys
9
+ url: https://dexterm.xyz/docs/keyboard#global-keys
10
+ tags:
11
+ - docs
12
+ - keyboard
13
+ - global
14
+ - keys
15
+ - reference
16
+ confidence: high
17
+ owner: maintainers
18
+ origin: docs-generated
19
+ reviewed_by: generated@2026-10-16
20
+ generated_from: dexterm/site content/docs (task-1420)
21
+ sources:
22
+ - site/content/docs/keyboard.md
23
+ date: 2026-10-16
24
+ ---
25
+
26
+ (generated from the app: see https://dexterm.xyz/docs/keyboard#global-keys; app-help has the exact keys and commands)
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: docs-keyboard-keys-handled-by-the-loop
3
+ title: Keyboard reference › Keys handled by the loop
4
+ kind: docs
5
+ page: keyboard
6
+ page_title: Keyboard reference
7
+ heading: Keys handled by the loop
8
+ anchor: keys-handled-by-the-loop
9
+ url: https://dexterm.xyz/docs/keyboard#keys-handled-by-the-loop
10
+ tags:
11
+ - docs
12
+ - keyboard
13
+ - keys
14
+ - handled
15
+ - loop
16
+ - reference
17
+ confidence: high
18
+ owner: maintainers
19
+ origin: docs-generated
20
+ reviewed_by: generated@2026-10-16
21
+ generated_from: dexterm/site content/docs (task-1420)
22
+ sources:
23
+ - site/content/docs/keyboard.md
24
+ date: 2026-10-16
25
+ ---
26
+
27
+ These are not keymap bindings; the interactive loop handles them in context. Each row is verified against the source by `docs:check`.
28
+
29
+ (generated from the app: see https://dexterm.xyz/docs/keyboard#keys-handled-by-the-loop; app-help has the exact keys and commands)
@@ -0,0 +1,26 @@
1
+ ---
2
+ id: docs-keyboard-per-screen-keys
3
+ title: Keyboard reference › Per-screen keys
4
+ kind: docs
5
+ page: keyboard
6
+ page_title: Keyboard reference
7
+ heading: Per-screen keys
8
+ anchor: per-screen-keys
9
+ url: https://dexterm.xyz/docs/keyboard#per-screen-keys
10
+ tags:
11
+ - docs
12
+ - keyboard
13
+ - per-screen
14
+ - keys
15
+ - reference
16
+ confidence: high
17
+ owner: maintainers
18
+ origin: docs-generated
19
+ reviewed_by: generated@2026-10-16
20
+ generated_from: dexterm/site content/docs (task-1420)
21
+ sources:
22
+ - site/content/docs/keyboard.md
23
+ date: 2026-10-16
24
+ ---
25
+
26
+ (generated from the app: see https://dexterm.xyz/docs/keyboard#per-screen-keys; app-help has the exact keys and commands)
@@ -0,0 +1,27 @@
1
+ ---
2
+ id: docs-keyboard-what-shows
3
+ title: Keyboard reference › What ? shows
4
+ kind: docs
5
+ page: keyboard
6
+ page_title: Keyboard reference
7
+ heading: What ? shows
8
+ anchor: what-shows
9
+ url: https://dexterm.xyz/docs/keyboard#what-shows
10
+ tags:
11
+ - docs
12
+ - keyboard
13
+ - shows
14
+ - reference
15
+ confidence: high
16
+ owner: maintainers
17
+ origin: docs-generated
18
+ reviewed_by: generated@2026-10-16
19
+ generated_from: dexterm/site content/docs (task-1420)
20
+ sources:
21
+ - site/content/docs/keyboard.md
22
+ date: 2026-10-16
23
+ ---
24
+
25
+ The in-app help card lists exactly the rows below for each screen (global keys shadowed by a screen-specific binding are attributed to the screen):
26
+
27
+ (generated from the app: see https://dexterm.xyz/docs/keyboard#what-shows; app-help has the exact keys and commands)
@@ -0,0 +1,26 @@
1
+ ---
2
+ id: docs-keyboard
3
+ title: Keyboard reference
4
+ kind: docs
5
+ page: keyboard
6
+ page_title: Keyboard reference
7
+ url: https://dexterm.xyz/docs/keyboard
8
+ tags:
9
+ - docs
10
+ - keyboard
11
+ - reference
12
+ confidence: high
13
+ owner: maintainers
14
+ origin: docs-generated
15
+ reviewed_by: generated@2026-10-16
16
+ generated_from: dexterm/site content/docs (task-1420)
17
+ sources:
18
+ - site/content/docs/keyboard.md
19
+ date: 2026-10-16
20
+ ---
21
+
22
+ Every key, generated from the app's keymap and the help overlay at build time.
23
+
24
+ Generated at build time from `packages/tui/src/keymap.ts` (the keymap) and `packages/cli/src/screens/overlay.ts` (the `?` overlay, which adds the keys the interactive loop handles itself). `npm run docs:check` fails if this page and the app disagree.
25
+
26
+ Conventions: keys are case-sensitive (`g` and `G` differ). A key listed under a screen overrides the global binding on that screen only (on the token screen `1`–`6` are timeframes, not screen switches). While the chat input, the filter line, the sort menu or a PAPER ticket has the keys, printable keys type instead of acting, so `q` or `1` can never quit or navigate out from under a half-typed order.
@@ -0,0 +1,55 @@
1
+ ---
2
+ id: docs-larp-measured-accuracy
3
+ title: LARP detector › Measured accuracy
4
+ kind: docs
5
+ page: larp
6
+ page_title: LARP detector
7
+ heading: Measured accuracy
8
+ anchor: measured-accuracy
9
+ url: https://dexterm.xyz/docs/larp#measured-accuracy
10
+ tags:
11
+ - docs
12
+ - larp
13
+ - measured
14
+ - accuracy
15
+ - detector
16
+ confidence: high
17
+ owner: maintainers
18
+ origin: docs-generated
19
+ reviewed_by: generated@2026-10-16
20
+ generated_from: dexterm/site content/docs (task-1420)
21
+ sources:
22
+ - site/content/docs/larp.md
23
+ date: 2026-10-16
24
+ ---
25
+
26
+ **The part of the LARP check that can be replayed on history is weak, and the model stage cannot be replayed at all. dexterm prints only what it measured, including the weak numbers.**
27
+
28
+ The public measurement scorecard (https://dexterm.xyz/scorecard/) is generated directly from the checked-in research JSON. It includes the held-out dataset, confidence intervals, rolling skill-care result, frozen canary and every currently unmeasured stage; the weak 0.054 links-only MCC is not rounded into a favorable claim.
29
+
30
+ **Skills backtest (0.1.2).** `dexterm backtest --subject skills` replays the replayable parts of the default analyst skills on recorded history: 1,054 coins from the project's recorder, labelled by a 72 h keyless outcome (bad = rug or dead). Tuning only ever sees the train split; the numbers below are the later, held-out test split of 328 coins, of which 18.6 % went bad.
31
+
32
+ - **LARP check, links only.** The links-based baseline is a weak signal: MCC 0.039 before tuning, 0.054 after. Its tuned `LARP` grade caught 4 of 14 bad coins, too few to rate. `EARLY_BUT_REAL` coins still went bad 10.3 % of the time, and coins with no website 29.2 %. The skill now treats the baseline as a weak prior and never calls `LARP` from links alone.
33
+ - **Rug check.** The verdict rules improved from MCC 0.043 to 0.159. Liquidity under $5k is the one strong signal (`SPECULATIVE` coins went bad 54.8 % of the time, `WATCH` 14.4 %). Dev percentage, organic score and top-10 share did not predict a worse 72 h outcome and now only lower confidence.
34
+ - **Not measured.** The model stage (fetched pages, RDAP, GitHub) cannot be replayed: a past page cannot be fetched as it was. It is measured going forward with `dexterm backtest --subject larp`, below.
35
+
36
+ The method, every number and the limits are in the repository at `packages/packs/eval/README.md`. A grade is a risk flag, not a certificate.
37
+
38
+ Measured 2026-10-12 with `dexterm backtest --subject larp` over this project's labelled history:
39
+
40
+ | history | outcome labels at 1 h (observed) | LARP verdicts recorded | matched |
41
+ |---|---|---|---|
42
+ | research recorder (task-1287 prototype DB) | 149 (137 flat · 9 fade · 2 runner · 1 dead; 29 unobserved) | 0 | 0 |
43
+ | the app's recorder on the development machine | 0 | 0 | 0 |
44
+ | the same, re-measured later that day after the recorder fix | 401 (361 flat · 18 dead · 13 runner · 5 fade · 4 rug; 1,206 unobserved) | 0 | 0 |
45
+
46
+ There were no verdicts to score because, before this release, a settled verdict was only kept in memory. From this release on, each settled verdict is written to your local recorder (`verdicts`, pack `larp-check`), so the measurement can grow on your own machine. The app recorder's 0 outcomes had a second cause, fixed the same day: its outcome sweeps and labels never ran in short sessions (see history recorder (https://dexterm.xyz/docs/configuration#history-recorder)). The outcome side now fills in on its own; the verdict side only grows when you run the LARP check on tokens, and no accuracy figure is printed until 50 verdicts match.
47
+
48
+ **Method.** Run `dexterm backtest --subject larp [--horizon SEC] [--json]` to reproduce it.
49
+
50
+ - **Join.** Each recorded verdict is joined to the outcome label of the latest recorder snapshot of the same coin, taken at most 10 % of the horizon before the verdict. A later snapshot is never used, and an `unobserved` label is not matched.
51
+ - **Bad outcome.** `rug` or `dead` on keyless data, or `rug` alone when chain-verified.
52
+ - **Scoring.** `LARP` is scored against `REAL_PRODUCT` and `EARLY_BUT_REAL`. `UNVERIFIABLE` is counted separately.
53
+ - **Gate.** Below 50 matched verdicts the command prints counts only. At 50 or more it adds P(bad | LARP), P(bad | real) and P(LARP | bad), each with a 95 % Wilson interval.
54
+
55
+ > warn: even when it can be computed, this number is **agreement with a bad price outcome**, not a measure of whether a product is real. Outcome labels are the only ground truth dexterm records. A real product can rug, and a LARP can run.
@@ -0,0 +1,26 @@
1
+ ---
2
+ id: docs-larp-open-link-keys
3
+ title: LARP detector › Open-link keys
4
+ kind: docs
5
+ page: larp
6
+ page_title: LARP detector
7
+ heading: Open-link keys
8
+ anchor: open-link-keys
9
+ url: https://dexterm.xyz/docs/larp#open-link-keys
10
+ tags:
11
+ - docs
12
+ - larp
13
+ - open-link
14
+ - keys
15
+ - detector
16
+ confidence: high
17
+ owner: maintainers
18
+ origin: docs-generated
19
+ reviewed_by: generated@2026-10-16
20
+ generated_from: dexterm/site content/docs (task-1420)
21
+ sources:
22
+ - site/content/docs/larp.md
23
+ date: 2026-10-16
24
+ ---
25
+
26
+ `W`, `X` and `T` open the advertised website, X and Telegram in your browser; `L` lists every advertised link (including secondary socials from DexScreener) in a menu. The URL is drawn on screen before anything launches; only `http` and `https` links are ever passed to the opener (`open` on macOS, `xdg-open` on Linux, as a single argument, no shell). The footer shows these keys only when the token actually advertises links.
@@ -0,0 +1,35 @@
1
+ ---
2
+ id: docs-larp-paste-a-coin-on-the-web
3
+ title: LARP detector › Paste a coin on the web
4
+ kind: docs
5
+ page: larp
6
+ page_title: LARP detector
7
+ heading: Paste a coin on the web
8
+ anchor: paste-a-coin-on-the-web
9
+ url: https://dexterm.xyz/docs/larp#paste-a-coin-on-the-web
10
+ tags:
11
+ - docs
12
+ - larp
13
+ - paste
14
+ - coin
15
+ - web
16
+ - detector
17
+ confidence: high
18
+ owner: maintainers
19
+ origin: docs-generated
20
+ reviewed_by: generated@2026-10-16
21
+ generated_from: dexterm/site content/docs (task-1420)
22
+ sources:
23
+ - site/content/docs/larp.md
24
+ date: 2026-10-16
25
+ ---
26
+
27
+ A no-install version is in preview at the preview checker (https://dexterm-larp-preview.dexterm-site.workers.dev/check/), not deployed to dexterm.xyz. Paste a Solana mint or a DexScreener / pump.fun / Solscan link and get the grade in your browser, read-only, no wallet. It runs on a Cloudflare Worker and reuses the app's tuned link-shape grade (`larp-links-v1`) and the same prompt firewall, so a hostile coin name or symbol is stripped and shown as inert text, never obeyed.
28
+
29
+ What the web checker shows, each datum with its source and the age of the reading: the **LARP grade** from the coin's advertised link shape (`LARP` / `REAL?` / `UNKNOWN`), **top-10 holder concentration** and **holder count** (Jupiter), and **liquidity** in USD (DexScreener). It never shows a price, a market cap or a buy/sell call. A **shareable PNG card** carries the grade, those facts, the heuristic label and a dexterm.xyz link.
30
+
31
+ The preview defaults to the **keyless** tier. The full in-app LARP check above — fetching the website (SSRF-safe), the RDAP domain lookup and the GitHub read, graded by the analyst — is not part of the web checker. The bundle / sniper checkbox runs the app's wallet-intel rules and Helius history adapter as an optional second step, only when a dedicated site key and real Turnstile configuration are present. The visible preview test mode disables paid deep scans. Missing credentials refuse scans or disable the deep step; there is no silent test-secret fallback.
32
+
33
+ The deep step samples the top 20 accounts, up to seven funding histories and the first 100 launch transactions. Complete immutable launch windows and funding facts stay in durable storage without expiration; incomplete launch windows are fetched again. Market results expire after 45 seconds. Every scan, including a cache hit, is rate-limited per IP and globally. A serialized daily credit budget reserves 84 credits before deep RPCs and refunds only counted unused credits. Synthetic replay measures 84 cold / 4 with facts cached; these are call-based estimates, not independently measured provider billing. Real deep-scan latency, billing and Worker CPU are still unverified pending dedicated credentials. Refusals display "busy, try again"; a deep-budget refusal keeps the keyless grade with an explicit note. No trackers or analytics; the pasted input is not logged.
34
+
35
+ > warn: the web grade is the links-only baseline, a weak signal measured on a held-out set (see measured accuracy (https://dexterm.xyz/docs/larp#measured-accuracy) above). It is a risk flag, not a certificate, and not financial advice.
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: docs-larp-the-verdict
3
+ title: LARP detector › The verdict
4
+ kind: docs
5
+ page: larp
6
+ page_title: LARP detector
7
+ heading: The verdict
8
+ anchor: the-verdict
9
+ url: https://dexterm.xyz/docs/larp#the-verdict
10
+ tags:
11
+ - docs
12
+ - larp
13
+ - verdict
14
+ - detector
15
+ confidence: high
16
+ owner: maintainers
17
+ origin: docs-generated
18
+ reviewed_by: generated@2026-10-16
19
+ generated_from: dexterm/site content/docs (task-1420)
20
+ sources:
21
+ - site/content/docs/larp.md
22
+ date: 2026-10-16
23
+ ---
24
+
25
+ The `larp-check` skill returns a structured assessment: `REAL_PRODUCT` · `EARLY_BUT_REAL` · `LARP` · `UNVERIFIABLE` · `AMBIGUOUS`, with a confidence, a status per claim (supported, contradicted, unverifiable), `missing_data`, the facts and flags it used, `injection_detected` and a short summary. It is separate from the dossier's risk verdict and does not replace it.
26
+
27
+ Once computed, a badge appears in the screener's FLAGS column and in the token screen's title strip for that mint only: **LARP** (red), **REAL** (green), **REAL?** (mixed), **UNKNOWN** for unverifiable or ambiguous. Nothing shows before you vet a coin. A `LARP` verdict also vetoes an AI scan (https://dexterm.xyz/docs/scan) lock on that coin.
28
+
29
+ > warn: a LARP verdict is a risk flag, not a certificate. Public HTML cannot prove a working product, a team's identity or who owns an account; domain age, a clean script scan and a GitHub with commits are evidence, not proof, and a real product can still go to zero.
@@ -0,0 +1,35 @@
1
+ ---
2
+ id: docs-larp-timestamped-follow-up-drafts
3
+ title: LARP detector › Timestamped follow-up drafts
4
+ kind: docs
5
+ page: larp
6
+ page_title: LARP detector
7
+ heading: Timestamped follow-up drafts
8
+ anchor: timestamped-follow-up-drafts
9
+ url: https://dexterm.xyz/docs/larp#timestamped-follow-up-drafts
10
+ tags:
11
+ - docs
12
+ - larp
13
+ - timestamped
14
+ - follow-up
15
+ - drafts
16
+ - detector
17
+ confidence: high
18
+ owner: maintainers
19
+ origin: docs-generated
20
+ reviewed_by: generated@2026-10-16
21
+ generated_from: dexterm/site content/docs (task-1420)
22
+ sources:
23
+ - site/content/docs/larp.md
24
+ date: 2026-10-16
25
+ ---
26
+
27
+ `dexterm larp-detected --out DIR` is a local, offline review pipeline over your recorder history. The cron-ready equivalent is `node scripts/larp-detected.mjs --out DIR`; dexterm does not install a schedule. It does not connect to X, open a composer, upload, schedule or post.
28
+
29
+ For each coin, the command scores only the point-in-time recorder row with the named `H1-v0.1` heuristic, then joins it only to a later recorder outcome at the chosen horizon (72 hours by default). It keeps one flag per short-mint identifier. Every PNG and text report carries the original UTC timestamp, model label, source, evidence age, outcome tier and follow-up horizon. The batch line states both sides of the same dataset: how many flagged coins met the follow-up condition and how many did not. Below 50 unique flags, the sample is thin and the command writes no drafts.
30
+
31
+ By default it writes at most three Markdown drafts and three cards. Coin names, tickers and full addresses are omitted; the identifier is first four plus last four mint characters. The copy says “recorder label” rather than asserting what a project or person did. `node scripts/scan-larp-detected.mjs DIR` scans every draft and report for full addresses, handles, cashtags, identity/path leaks, trading language, accusations and market claims.
32
+
33
+ `dexterm larp-detected --live MINT --out DIR` performs one read-only, keyless market lookup and writes a **graded now** card. It explicitly says there is no later outcome yet. This path does not touch a wallet, trading, the signer, arming, voice or agents.
34
+
35
+ > warn: H1 is a heuristic model output and a risk flag, not a certificate. The files are drafts for human review. Nothing is posted automatically.
@@ -0,0 +1,33 @@
1
+ ---
2
+ id: docs-larp-what-it-looks-at
3
+ title: LARP detector › What it looks at
4
+ kind: docs
5
+ page: larp
6
+ page_title: LARP detector
7
+ heading: What it looks at
8
+ anchor: what-it-looks-at
9
+ url: https://dexterm.xyz/docs/larp#what-it-looks-at
10
+ tags:
11
+ - docs
12
+ - larp
13
+ - looks
14
+ - detector
15
+ confidence: high
16
+ owner: maintainers
17
+ origin: docs-generated
18
+ reviewed_by: generated@2026-10-16
19
+ generated_from: dexterm/site content/docs (task-1420)
20
+ sources:
21
+ - site/content/docs/larp.md
22
+ date: 2026-10-16
23
+ ---
24
+
25
+ | evidence | source | what counts |
26
+ |---|---|---|
27
+ | the advertised links | DexScreener info + Jupiter metadata (`get_links`), de-duplicated and classified; a note when the two sources disagree | a mismatch across sources is a flag in itself |
28
+ | the website | one SSRF-safe, read-only GET (`fetch_page`): no JavaScript, no cookies, no downloads, 512 KiB and 8 s caps, `robots.txt` honoured on every redirect hop, private and loopback addresses refused, DNS re-validated at connect time | site-builder or default-page signals, a live app or demo, docs, wallet-connect patterns, drainer and approval signatures in scripts, external script hosts, whether the symbol and name appear, team-claim and stock-placeholder text |
29
+ | the domain | RDAP lookup of the exact advertised domain (`check_domain`) | registration age, registrar, registrant privacy. A days-old domain behind privacy is a mild signal, not proof. Novelty TLDs without an RDAP server come back as unverifiable. |
30
+ | GitHub | the keyless GitHub API (`check_github`) for a `github.com/owner/repo` link | created and last-push dates, stars, open issues, archived or fork, up to five real commit hashes with dates |
31
+ | pump.fun metadata | the metadata URI GoPlus reports, through the same safe fetch | the advertised description and links, when they exist |
32
+
33
+ X is usually login-walled keyless, so account age and follower counts are reported as unverifiable rather than guessed. Every fetched string reaches the model through the prompt firewall: normalised, control and bidi characters stripped, URLs and addresses masked, wrapped as untrusted data, tags stripped so a planted closing tag cannot break out.
@@ -0,0 +1,24 @@
1
+ ---
2
+ id: docs-larp
3
+ title: LARP detector
4
+ kind: docs
5
+ page: larp
6
+ page_title: LARP detector
7
+ url: https://dexterm.xyz/docs/larp
8
+ tags:
9
+ - docs
10
+ - larp
11
+ - detector
12
+ confidence: high
13
+ owner: maintainers
14
+ origin: docs-generated
15
+ reviewed_by: generated@2026-10-16
16
+ generated_from: dexterm/site content/docs (task-1420)
17
+ sources:
18
+ - site/content/docs/larp.md
19
+ date: 2026-10-16
20
+ ---
21
+
22
+ Vet the product behind a coin: its website, domain registration and GitHub, read-only, only when you ask.
23
+
24
+ A memecoin's advertised website, X and Telegram are claims. The LARP detector fetches what it can, reads it mechanically, and lets the analyst grade the claims against what it found. It runs only when you press `V` on a live token; nothing is fetched automatically.
@@ -0,0 +1,36 @@
1
+ ---
2
+ id: docs-login-with-x-degraded-states-you-will-see
3
+ title: Login with X › Degraded states you will see
4
+ kind: docs
5
+ page: login-with-x
6
+ page_title: Login with X
7
+ heading: Degraded states you will see
8
+ anchor: degraded-states-you-will-see
9
+ url: https://dexterm.xyz/docs/login-with-x#degraded-states-you-will-see
10
+ tags:
11
+ - docs
12
+ - login-with-x
13
+ - degraded
14
+ - states
15
+ - will
16
+ - login
17
+ confidence: high
18
+ owner: maintainers
19
+ origin: docs-generated
20
+ reviewed_by: generated@2026-10-16
21
+ generated_from: dexterm/site content/docs (task-1420)
22
+ sources:
23
+ - site/content/docs/login-with-x.md
24
+ date: 2026-10-16
25
+ ---
26
+
27
+ | header | meaning | what happens |
28
+ |---|---|---|
29
+ | `x-stream ○ logged out` | no login | keyless venues, news and on-chain rows only |
30
+ | `x-stream ●4s @you` | reading | the age is the last successful read |
31
+ | `x-stream ◐ rate limited 5m` | X answered 429 or the window is exhausted | reads resume after X's reset time |
32
+ | `x-stream ◐ daily budget 3h` | your dexterm budget is spent | reads resume at the next UTC day |
33
+ | `x-stream ◐ app tier (no search)` | the app is on the Free tier | identity only; upgrade the app in the X console |
34
+ | `x-stream ◐ error` | transport or 5xx | retried with backoff, up to 10 minutes |
35
+
36
+ Nothing is ever shown as fresh when it is not, and nothing is invented to fill a gap.
@@ -0,0 +1,37 @@
1
+ ---
2
+ id: docs-login-with-x-free-vs-paid-x-api-tiers-your-bill-your-limits
3
+ title: Login with X › Free vs paid X API tiers (your bill, your limits)
4
+ kind: docs
5
+ page: login-with-x
6
+ page_title: Login with X
7
+ heading: Free vs paid X API tiers (your bill, your limits)
8
+ anchor: free-vs-paid-x-api-tiers-your-bill-your-limits
9
+ url: https://dexterm.xyz/docs/login-with-x#free-vs-paid-x-api-tiers-your-bill-your-limits
10
+ tags:
11
+ - docs
12
+ - login-with-x
13
+ - free
14
+ - paid
15
+ - api
16
+ - tiers
17
+ - bill
18
+ - limits
19
+ - login
20
+ confidence: high
21
+ owner: maintainers
22
+ origin: docs-generated
23
+ reviewed_by: generated@2026-10-16
24
+ generated_from: dexterm/site content/docs (task-1420)
25
+ sources:
26
+ - site/content/docs/login-with-x.md
27
+ date: 2026-10-16
28
+ ---
29
+
30
+ Login with X gives dexterm **your** per-user rate windows and compliant user-authorized access. It does **not** move cost anywhere: X's pay-per-use pricing bills the developer account that owns the app, and with this design that account is yours. Facts as published by X (check the console; they change):
31
+
32
+ | tier | what it means for dexterm |
33
+ |---|---|
34
+ | **Free** | login and identity work (`/2/users/me`), but **search and list timelines are not included**: the app's tier answers `403 client-not-enrolled`, dexterm shows `x-stream ◐ app tier (no search)` and reads nothing. KOL list *import* (`owned_lists`, `members`) is also tier-gated; expect it to fail on Free. |
35
+ | **Pay-per-use / Basic and up** | search/recent (300 requests per 15 minutes per user, last 7 days) and list timelines (900 per 15 minutes) work. X bills about **$0.005 per post read** and **$0.01 per user read**, deduplicated per UTC day. |
36
+
37
+ dexterm keeps its own estimate and a hard stop: the SOURCES panel (`s` on the trending board) shows `@handle · 12/300 search · $0.12 of $10 today`. The default daily budget is **$10** (`DEXTERM_X_DAILY_USD=5` lowers it; `0` means "never read X"); when it is reached the header says `x-stream ◐ daily budget` and reads resume at the next UTC day. The estimate uses X's list prices and counts a post only the first time its id is seen in a day; the X console is the actual bill, so **set a spending limit there too**. At the design cadence a watched coin costs roughly $6 a day and KOL list polling roughly $7 a day on Basic; the 15-minute cache, `since_id` and the 24-hour dedupe table are what keep it there.
@@ -0,0 +1,28 @@
1
+ ---
2
+ id: docs-login-with-x-kol-lists-and-the-per-handle-filter
3
+ title: Login with X › KOL lists and the per-handle filter
4
+ kind: docs
5
+ page: login-with-x
6
+ page_title: Login with X
7
+ heading: KOL lists and the per-handle filter
8
+ anchor: kol-lists-and-the-per-handle-filter
9
+ url: https://dexterm.xyz/docs/login-with-x#kol-lists-and-the-per-handle-filter
10
+ tags:
11
+ - docs
12
+ - login-with-x
13
+ - kol
14
+ - lists
15
+ - per-handle
16
+ - filter
17
+ - login
18
+ confidence: high
19
+ owner: maintainers
20
+ origin: docs-generated
21
+ reviewed_by: generated@2026-10-16
22
+ generated_from: dexterm/site content/docs (task-1420)
23
+ sources:
24
+ - site/content/docs/login-with-x.md
25
+ date: 2026-10-16
26
+ ---
27
+
28
+ `K` opens your lists. `X` there (or `dexterm kol import-x`) imports the lists your X account **owns** as `X LIST` entries: handles only, never posts, and they count as tier A for credibility like your own manual lists. `o` on a handle narrows the trending board and the SOCIAL panel to that handle's posts (press `o` again, or `f`, to clear). Muting a handle (`m`) drops its posts before they are stored.
@@ -0,0 +1,25 @@
1
+ ---
2
+ id: docs-login-with-x-tests
3
+ title: Login with X › Tests
4
+ kind: docs
5
+ page: login-with-x
6
+ page_title: Login with X
7
+ heading: Tests
8
+ anchor: tests
9
+ url: https://dexterm.xyz/docs/login-with-x#tests
10
+ tags:
11
+ - docs
12
+ - login-with-x
13
+ - tests
14
+ - login
15
+ confidence: high
16
+ owner: maintainers
17
+ origin: docs-generated
18
+ reviewed_by: generated@2026-10-16
19
+ generated_from: dexterm/site content/docs (task-1420)
20
+ sources:
21
+ - site/content/docs/login-with-x.md
22
+ date: 2026-10-16
23
+ ---
24
+
25
+ The whole flow runs in the test suite against a **mock X server on 127.0.0.1**: PKCE and state checks, single-use 30-second codes, refresh rotation, revoke, 401/429/403 and budget stops, list import, and the firewall on an injection tweet. No test ever contacts x.com, and the default suite blocks `fetch` entirely.