@intent-systems/nexus 2026.1.5-3

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 (827) hide show
  1. package/CHANGELOG.md +222 -0
  2. package/LICENSE +21 -0
  3. package/README-header.png +0 -0
  4. package/README.md +462 -0
  5. package/dist/agents/agent-paths.js +16 -0
  6. package/dist/agents/agent-scope.js +44 -0
  7. package/dist/agents/auth-profiles.js +626 -0
  8. package/dist/agents/bash-process-registry.js +126 -0
  9. package/dist/agents/bash-tools.js +838 -0
  10. package/dist/agents/chutes-oauth.js +47 -0
  11. package/dist/agents/clawdbot-tools.js +62 -0
  12. package/dist/agents/context.js +34 -0
  13. package/dist/agents/defaults.js +6 -0
  14. package/dist/agents/memory-search.js +80 -0
  15. package/dist/agents/model-auth.js +115 -0
  16. package/dist/agents/model-catalog.js +55 -0
  17. package/dist/agents/model-fallback.js +210 -0
  18. package/dist/agents/model-scan.js +263 -0
  19. package/dist/agents/model-selection.js +152 -0
  20. package/dist/agents/models-config.js +171 -0
  21. package/dist/agents/nexus-tools.js +46 -0
  22. package/dist/agents/pi-embedded-block-chunker.js +188 -0
  23. package/dist/agents/pi-embedded-helpers.js +139 -0
  24. package/dist/agents/pi-embedded-runner.js +932 -0
  25. package/dist/agents/pi-embedded-subscribe.js +541 -0
  26. package/dist/agents/pi-embedded-utils.js +20 -0
  27. package/dist/agents/pi-embedded.js +1 -0
  28. package/dist/agents/pi-extensions/compaction-safeguard.js +140 -0
  29. package/dist/agents/pi-tool-definition-adapter.js +17 -0
  30. package/dist/agents/pi-tools.js +510 -0
  31. package/dist/agents/pi-tools.schema.js +358 -0
  32. package/dist/agents/sandbox-paths.js +68 -0
  33. package/dist/agents/sandbox.js +667 -0
  34. package/dist/agents/shell-utils.js +53 -0
  35. package/dist/agents/skill-runner.js +224 -0
  36. package/dist/agents/skill-state.js +164 -0
  37. package/dist/agents/skill-tools.js +191 -0
  38. package/dist/agents/skill-usage.js +43 -0
  39. package/dist/agents/skills-install.js +244 -0
  40. package/dist/agents/skills-status.js +157 -0
  41. package/dist/agents/skills.js +472 -0
  42. package/dist/agents/subagent-registry.js +321 -0
  43. package/dist/agents/subagent-registry.store.js +47 -0
  44. package/dist/agents/system-prompt.js +179 -0
  45. package/dist/agents/timeout.js +26 -0
  46. package/dist/agents/tool-display.js +155 -0
  47. package/dist/agents/tool-display.json +236 -0
  48. package/dist/agents/tool-images.js +138 -0
  49. package/dist/agents/tool-policy.js +87 -0
  50. package/dist/agents/tools/agent-step.js +41 -0
  51. package/dist/agents/tools/browser-tool.js +295 -0
  52. package/dist/agents/tools/canvas-tool.js +193 -0
  53. package/dist/agents/tools/common.js +88 -0
  54. package/dist/agents/tools/cron-tool.js +141 -0
  55. package/dist/agents/tools/discord-actions-guild.js +186 -0
  56. package/dist/agents/tools/discord-actions-messaging.js +313 -0
  57. package/dist/agents/tools/discord-actions-moderation.js +70 -0
  58. package/dist/agents/tools/discord-actions.js +56 -0
  59. package/dist/agents/tools/discord-schema.js +199 -0
  60. package/dist/agents/tools/discord-tool.js +16 -0
  61. package/dist/agents/tools/gateway-tool.js +46 -0
  62. package/dist/agents/tools/gateway.js +28 -0
  63. package/dist/agents/tools/image-tool.js +140 -0
  64. package/dist/agents/tools/memory-tool.js +92 -0
  65. package/dist/agents/tools/nodes-tool.js +413 -0
  66. package/dist/agents/tools/nodes-utils.js +92 -0
  67. package/dist/agents/tools/sessions-announce-target.js +35 -0
  68. package/dist/agents/tools/sessions-helpers.js +88 -0
  69. package/dist/agents/tools/sessions-history-tool.js +137 -0
  70. package/dist/agents/tools/sessions-list-tool.js +196 -0
  71. package/dist/agents/tools/sessions-send-helpers.js +103 -0
  72. package/dist/agents/tools/sessions-send-tool.js +371 -0
  73. package/dist/agents/tools/sessions-spawn-tool.js +319 -0
  74. package/dist/agents/tools/slack-actions.js +129 -0
  75. package/dist/agents/tools/slack-schema.js +59 -0
  76. package/dist/agents/tools/slack-tool.js +16 -0
  77. package/dist/agents/tools/telegram-actions.js +159 -0
  78. package/dist/agents/tools/telegram-schema.js +28 -0
  79. package/dist/agents/tools/telegram-tool.js +16 -0
  80. package/dist/agents/tools/whatsapp-login-tool.js +63 -0
  81. package/dist/agents/usage.js +58 -0
  82. package/dist/agents/workspace.js +264 -0
  83. package/dist/auto-reply/chunk.js +177 -0
  84. package/dist/auto-reply/command-auth.js +44 -0
  85. package/dist/auto-reply/command-detection.js +22 -0
  86. package/dist/auto-reply/envelope.js +30 -0
  87. package/dist/auto-reply/group-activation.js +20 -0
  88. package/dist/auto-reply/heartbeat.js +58 -0
  89. package/dist/auto-reply/model.js +22 -0
  90. package/dist/auto-reply/reply/abort.js +14 -0
  91. package/dist/auto-reply/reply/agent-runner.js +426 -0
  92. package/dist/auto-reply/reply/bash-command.js +314 -0
  93. package/dist/auto-reply/reply/block-streaming.js +34 -0
  94. package/dist/auto-reply/reply/body.js +29 -0
  95. package/dist/auto-reply/reply/commands.js +332 -0
  96. package/dist/auto-reply/reply/directive-handling.js +626 -0
  97. package/dist/auto-reply/reply/directives.js +59 -0
  98. package/dist/auto-reply/reply/dispatch-from-config.js +23 -0
  99. package/dist/auto-reply/reply/followup-runner.js +181 -0
  100. package/dist/auto-reply/reply/groups.js +152 -0
  101. package/dist/auto-reply/reply/mentions.js +64 -0
  102. package/dist/auto-reply/reply/model-selection.js +209 -0
  103. package/dist/auto-reply/reply/queue.js +399 -0
  104. package/dist/auto-reply/reply/reply-dispatcher.js +68 -0
  105. package/dist/auto-reply/reply/reply-tags.js +26 -0
  106. package/dist/auto-reply/reply/session-updates.js +103 -0
  107. package/dist/auto-reply/reply/session.js +169 -0
  108. package/dist/auto-reply/reply/typing.js +125 -0
  109. package/dist/auto-reply/reply.js +655 -0
  110. package/dist/auto-reply/send-policy.js +28 -0
  111. package/dist/auto-reply/status.js +197 -0
  112. package/dist/auto-reply/templating.js +9 -0
  113. package/dist/auto-reply/thinking.js +49 -0
  114. package/dist/auto-reply/tokens.js +2 -0
  115. package/dist/auto-reply/tool-meta.js +74 -0
  116. package/dist/auto-reply/transcription.js +57 -0
  117. package/dist/auto-reply/types.js +1 -0
  118. package/dist/browser/bridge-server.js +37 -0
  119. package/dist/browser/cdp.js +382 -0
  120. package/dist/browser/chrome.js +432 -0
  121. package/dist/browser/client-actions-core.js +67 -0
  122. package/dist/browser/client-actions-observe.js +24 -0
  123. package/dist/browser/client-actions-types.js +1 -0
  124. package/dist/browser/client-actions.js +3 -0
  125. package/dist/browser/client-fetch.js +43 -0
  126. package/dist/browser/client.js +105 -0
  127. package/dist/browser/config.js +155 -0
  128. package/dist/browser/constants.js +5 -0
  129. package/dist/browser/profiles-service.js +124 -0
  130. package/dist/browser/profiles.js +96 -0
  131. package/dist/browser/pw-ai.js +2 -0
  132. package/dist/browser/pw-session.js +144 -0
  133. package/dist/browser/pw-tools-core.js +363 -0
  134. package/dist/browser/routes/agent.js +535 -0
  135. package/dist/browser/routes/basic.js +155 -0
  136. package/dist/browser/routes/index.js +8 -0
  137. package/dist/browser/routes/tabs.js +105 -0
  138. package/dist/browser/routes/utils.js +62 -0
  139. package/dist/browser/screenshot.js +40 -0
  140. package/dist/browser/server-context.js +377 -0
  141. package/dist/browser/server.js +81 -0
  142. package/dist/browser/target-id.js +18 -0
  143. package/dist/browser/trash.js +21 -0
  144. package/dist/canvas-host/a2ui/a2ui.bundle.js +17768 -0
  145. package/dist/canvas-host/a2ui/index.html +246 -0
  146. package/dist/canvas-host/a2ui.js +187 -0
  147. package/dist/canvas-host/server.js +382 -0
  148. package/dist/channel-web.js +8 -0
  149. package/dist/cli/browser-cli-actions-input.js +459 -0
  150. package/dist/cli/browser-cli-actions-observe.js +56 -0
  151. package/dist/cli/browser-cli-examples.js +31 -0
  152. package/dist/cli/browser-cli-inspect.js +97 -0
  153. package/dist/cli/browser-cli-manage.js +286 -0
  154. package/dist/cli/browser-cli-shared.js +1 -0
  155. package/dist/cli/browser-cli.js +26 -0
  156. package/dist/cli/canvas-cli.js +416 -0
  157. package/dist/cli/cloud-cli.js +336 -0
  158. package/dist/cli/credential-cli.js +227 -0
  159. package/dist/cli/cron-cli.js +454 -0
  160. package/dist/cli/deps.js +17 -0
  161. package/dist/cli/dns-cli.js +180 -0
  162. package/dist/cli/gateway-cli.js +665 -0
  163. package/dist/cli/gateway-rpc.js +20 -0
  164. package/dist/cli/hooks-cli.js +135 -0
  165. package/dist/cli/memory-cli.js +101 -0
  166. package/dist/cli/models-cli.js +248 -0
  167. package/dist/cli/nodes-camera.js +57 -0
  168. package/dist/cli/nodes-canvas.js +26 -0
  169. package/dist/cli/nodes-cli.js +946 -0
  170. package/dist/cli/nodes-screen.js +37 -0
  171. package/dist/cli/pairing-cli.js +100 -0
  172. package/dist/cli/parse-duration.js +20 -0
  173. package/dist/cli/plugins-cli.js +158 -0
  174. package/dist/cli/ports.js +97 -0
  175. package/dist/cli/profile.js +81 -0
  176. package/dist/cli/program.js +162 -0
  177. package/dist/cli/prompt.js +19 -0
  178. package/dist/cli/run-main.js +48 -0
  179. package/dist/cli/skills-cli.js +132 -0
  180. package/dist/cli/skills-hub-cli.js +1093 -0
  181. package/dist/cli/telegram-cli.js +56 -0
  182. package/dist/cli/tool-connector-cli.js +118 -0
  183. package/dist/cli/tui-cli.js +35 -0
  184. package/dist/cli/upstream-sync-cli.js +2833 -0
  185. package/dist/cli/usage-cli.js +24 -0
  186. package/dist/cli/wait.js +8 -0
  187. package/dist/commands/agent-via-gateway.js +115 -0
  188. package/dist/commands/agent.js +665 -0
  189. package/dist/commands/antigravity-oauth.js +327 -0
  190. package/dist/commands/auth-choice-options.js +80 -0
  191. package/dist/commands/auth-choice.js +134 -0
  192. package/dist/commands/auth-token.js +31 -0
  193. package/dist/commands/bootstrap-preset.js +214 -0
  194. package/dist/commands/capabilities.js +36 -0
  195. package/dist/commands/chutes-oauth.js +144 -0
  196. package/dist/commands/claude-md.js +137 -0
  197. package/dist/commands/config-view.js +11 -0
  198. package/dist/commands/configure.js +648 -0
  199. package/dist/commands/credential.js +236 -0
  200. package/dist/commands/cursor-rules.js +230 -0
  201. package/dist/commands/doctor-state-migrations.js +358 -0
  202. package/dist/commands/doctor-ui.js +113 -0
  203. package/dist/commands/doctor.js +673 -0
  204. package/dist/commands/health.js +112 -0
  205. package/dist/commands/identity.js +54 -0
  206. package/dist/commands/init.js +167 -0
  207. package/dist/commands/models/aliases.js +85 -0
  208. package/dist/commands/models/fallbacks.js +123 -0
  209. package/dist/commands/models/image-fallbacks.js +123 -0
  210. package/dist/commands/models/list.js +347 -0
  211. package/dist/commands/models/scan.js +271 -0
  212. package/dist/commands/models/set-image.js +27 -0
  213. package/dist/commands/models/set.js +27 -0
  214. package/dist/commands/models/shared.js +73 -0
  215. package/dist/commands/models.js +7 -0
  216. package/dist/commands/onboard-auth.js +101 -0
  217. package/dist/commands/onboard-channels.js +814 -0
  218. package/dist/commands/onboard-eve-identity.js +98 -0
  219. package/dist/commands/onboard-github.js +153 -0
  220. package/dist/commands/onboard-helpers.js +303 -0
  221. package/dist/commands/onboard-interactive.js +17 -0
  222. package/dist/commands/onboard-non-interactive.js +228 -0
  223. package/dist/commands/onboard-providers.js +829 -0
  224. package/dist/commands/onboard-quickstart.js +185 -0
  225. package/dist/commands/onboard-remote.js +120 -0
  226. package/dist/commands/onboard-skills.js +148 -0
  227. package/dist/commands/onboard-types.js +1 -0
  228. package/dist/commands/onboard.js +19 -0
  229. package/dist/commands/openai-codex-model-default.js +38 -0
  230. package/dist/commands/poll.js +64 -0
  231. package/dist/commands/quest.js +27 -0
  232. package/dist/commands/reset.js +61 -0
  233. package/dist/commands/send.js +124 -0
  234. package/dist/commands/sessions-ingest.js +359 -0
  235. package/dist/commands/sessions.js +212 -0
  236. package/dist/commands/setup.js +59 -0
  237. package/dist/commands/signal-install.js +135 -0
  238. package/dist/commands/skills-manifest.js +235 -0
  239. package/dist/commands/status.js +139 -0
  240. package/dist/commands/suggestions.js +54 -0
  241. package/dist/commands/systemd-linger.js +71 -0
  242. package/dist/commands/update.js +16 -0
  243. package/dist/commands/usage-upload.js +27 -0
  244. package/dist/config/config.js +6 -0
  245. package/dist/config/defaults.js +140 -0
  246. package/dist/config/group-policy.js +49 -0
  247. package/dist/config/includes.js +183 -0
  248. package/dist/config/io.js +188 -0
  249. package/dist/config/legacy-migrate.js +13 -0
  250. package/dist/config/legacy.js +425 -0
  251. package/dist/config/paths.js +82 -0
  252. package/dist/config/port-defaults.js +32 -0
  253. package/dist/config/schema.js +173 -0
  254. package/dist/config/sessions.js +611 -0
  255. package/dist/config/talk.js +31 -0
  256. package/dist/config/types.js +1 -0
  257. package/dist/config/validation.js +29 -0
  258. package/dist/config/zod-schema.js +1110 -0
  259. package/dist/control-ui/assets/index-D8Q5AI4D.js +2393 -0
  260. package/dist/control-ui/assets/index-D8Q5AI4D.js.map +1 -0
  261. package/dist/control-ui/assets/index-g06q5Xc3.css +1 -0
  262. package/dist/control-ui/favicon.ico +0 -0
  263. package/dist/control-ui/index.html +16 -0
  264. package/dist/cron/isolated-agent.js +529 -0
  265. package/dist/cron/normalize.js +73 -0
  266. package/dist/cron/parse.js +24 -0
  267. package/dist/cron/run-log.js +72 -0
  268. package/dist/cron/schedule.js +24 -0
  269. package/dist/cron/service.js +471 -0
  270. package/dist/cron/store.js +43 -0
  271. package/dist/cron/types.js +1 -0
  272. package/dist/daemon/constants.js +10 -0
  273. package/dist/daemon/launchd.js +295 -0
  274. package/dist/daemon/legacy.js +63 -0
  275. package/dist/daemon/program-args.js +141 -0
  276. package/dist/daemon/schtasks.js +269 -0
  277. package/dist/daemon/service.js +69 -0
  278. package/dist/daemon/systemd.js +332 -0
  279. package/dist/discord/index.js +2 -0
  280. package/dist/discord/monitor.js +1089 -0
  281. package/dist/discord/probe.js +54 -0
  282. package/dist/discord/send.js +652 -0
  283. package/dist/discord/token.js +8 -0
  284. package/dist/entry.js +16 -0
  285. package/dist/gateway/auth.js +121 -0
  286. package/dist/gateway/call.js +103 -0
  287. package/dist/gateway/chat-attachments.js +41 -0
  288. package/dist/gateway/client.js +180 -0
  289. package/dist/gateway/config-reload.js +274 -0
  290. package/dist/gateway/control-ui.js +184 -0
  291. package/dist/gateway/hooks-mapping.js +282 -0
  292. package/dist/gateway/hooks.js +168 -0
  293. package/dist/gateway/net.js +29 -0
  294. package/dist/gateway/protocol/index.js +62 -0
  295. package/dist/gateway/protocol/schema.js +577 -0
  296. package/dist/gateway/server-bridge-subscriptions.js +93 -0
  297. package/dist/gateway/server-bridge.js +1066 -0
  298. package/dist/gateway/server-browser.js +11 -0
  299. package/dist/gateway/server-channels.js +680 -0
  300. package/dist/gateway/server-chat.js +159 -0
  301. package/dist/gateway/server-constants.js +8 -0
  302. package/dist/gateway/server-discovery.js +62 -0
  303. package/dist/gateway/server-http.js +165 -0
  304. package/dist/gateway/server-methods/agent-job.js +114 -0
  305. package/dist/gateway/server-methods/agent.js +254 -0
  306. package/dist/gateway/server-methods/channels.js +239 -0
  307. package/dist/gateway/server-methods/chat.js +207 -0
  308. package/dist/gateway/server-methods/config.js +50 -0
  309. package/dist/gateway/server-methods/connect.js +6 -0
  310. package/dist/gateway/server-methods/cron.js +89 -0
  311. package/dist/gateway/server-methods/health.js +28 -0
  312. package/dist/gateway/server-methods/models.js +16 -0
  313. package/dist/gateway/server-methods/nodes.js +294 -0
  314. package/dist/gateway/server-methods/providers.js +257 -0
  315. package/dist/gateway/server-methods/send.js +254 -0
  316. package/dist/gateway/server-methods/sessions.js +382 -0
  317. package/dist/gateway/server-methods/skills.js +83 -0
  318. package/dist/gateway/server-methods/system.js +118 -0
  319. package/dist/gateway/server-methods/talk.js +22 -0
  320. package/dist/gateway/server-methods/types.js +1 -0
  321. package/dist/gateway/server-methods/voicewake.js +30 -0
  322. package/dist/gateway/server-methods/web.js +81 -0
  323. package/dist/gateway/server-methods/wizard.js +100 -0
  324. package/dist/gateway/server-methods.js +53 -0
  325. package/dist/gateway/server-providers.js +687 -0
  326. package/dist/gateway/server-shared.js +1 -0
  327. package/dist/gateway/server-utils.js +35 -0
  328. package/dist/gateway/server.js +1478 -0
  329. package/dist/gateway/session-utils.js +355 -0
  330. package/dist/gateway/ws-log.js +343 -0
  331. package/dist/gateway/ws-logging.js +8 -0
  332. package/dist/globals.js +41 -0
  333. package/dist/hooks/gmail-ops.js +236 -0
  334. package/dist/hooks/gmail-setup-utils.js +278 -0
  335. package/dist/hooks/gmail-watcher.js +190 -0
  336. package/dist/hooks/gmail.js +177 -0
  337. package/dist/imessage/client.js +165 -0
  338. package/dist/imessage/index.js +3 -0
  339. package/dist/imessage/monitor.js +365 -0
  340. package/dist/imessage/probe.js +26 -0
  341. package/dist/imessage/send.js +83 -0
  342. package/dist/imessage/targets.js +176 -0
  343. package/dist/index.js +55 -0
  344. package/dist/infra/agent-events.js +46 -0
  345. package/dist/infra/binaries.js +9 -0
  346. package/dist/infra/bonjour-discovery.js +163 -0
  347. package/dist/infra/bonjour.js +200 -0
  348. package/dist/infra/bridge/server.js +564 -0
  349. package/dist/infra/canvas-host-url.js +54 -0
  350. package/dist/infra/channel-summary.js +78 -0
  351. package/dist/infra/control-ui-assets.js +112 -0
  352. package/dist/infra/dotenv.js +15 -0
  353. package/dist/infra/env.js +8 -0
  354. package/dist/infra/errors.js +28 -0
  355. package/dist/infra/event-log.js +251 -0
  356. package/dist/infra/gateway-lock.js +8 -0
  357. package/dist/infra/git-commit.js +91 -0
  358. package/dist/infra/heartbeat-events.js +21 -0
  359. package/dist/infra/heartbeat-runner.js +458 -0
  360. package/dist/infra/heartbeat-wake.js +61 -0
  361. package/dist/infra/is-main.js +37 -0
  362. package/dist/infra/json-file.js +21 -0
  363. package/dist/infra/machine-name.js +40 -0
  364. package/dist/infra/nexus-root.js +56 -0
  365. package/dist/infra/node-pairing.js +212 -0
  366. package/dist/infra/path-env.js +93 -0
  367. package/dist/infra/ports.js +87 -0
  368. package/dist/infra/provider-summary.js +80 -0
  369. package/dist/infra/provider-usage.auth.js +189 -0
  370. package/dist/infra/provider-usage.fetch.claude.js +129 -0
  371. package/dist/infra/provider-usage.fetch.codex.js +62 -0
  372. package/dist/infra/provider-usage.fetch.copilot.js +42 -0
  373. package/dist/infra/provider-usage.fetch.gemini.js +57 -0
  374. package/dist/infra/provider-usage.fetch.js +6 -0
  375. package/dist/infra/provider-usage.fetch.minimax.js +214 -0
  376. package/dist/infra/provider-usage.fetch.shared.js +11 -0
  377. package/dist/infra/provider-usage.fetch.zai.js +62 -0
  378. package/dist/infra/provider-usage.format.js +77 -0
  379. package/dist/infra/provider-usage.js +145 -0
  380. package/dist/infra/provider-usage.load.js +54 -0
  381. package/dist/infra/provider-usage.shared.js +19 -0
  382. package/dist/infra/provider-usage.types.js +1 -0
  383. package/dist/infra/restart.js +29 -0
  384. package/dist/infra/retry.js +16 -0
  385. package/dist/infra/runtime-guard.js +59 -0
  386. package/dist/infra/shell-env.js +88 -0
  387. package/dist/infra/system-events.js +71 -0
  388. package/dist/infra/system-presence.js +217 -0
  389. package/dist/infra/tailnet.js +46 -0
  390. package/dist/infra/tailscale.js +149 -0
  391. package/dist/infra/unhandled-rejections.js +19 -0
  392. package/dist/infra/usage-suggestions.js +241 -0
  393. package/dist/infra/usage-upload.js +290 -0
  394. package/dist/infra/voicewake.js +78 -0
  395. package/dist/infra/widearea-dns.js +123 -0
  396. package/dist/infra/ws.js +13 -0
  397. package/dist/logger.js +52 -0
  398. package/dist/logging.js +506 -0
  399. package/dist/macos/gateway-daemon.js +145 -0
  400. package/dist/macos/relay.js +49 -0
  401. package/dist/media/constants.js +33 -0
  402. package/dist/media/host.js +42 -0
  403. package/dist/media/image-ops.js +119 -0
  404. package/dist/media/mime.js +123 -0
  405. package/dist/media/parse.js +83 -0
  406. package/dist/media/server.js +64 -0
  407. package/dist/media/store.js +139 -0
  408. package/dist/polls.js +43 -0
  409. package/dist/process/command-queue.js +97 -0
  410. package/dist/process/exec.js +75 -0
  411. package/dist/provider-web.js +8 -0
  412. package/dist/providers/github-copilot-auth.js +123 -0
  413. package/dist/providers/github-copilot-models.js +35 -0
  414. package/dist/providers/github-copilot-token.js +11 -0
  415. package/dist/providers/location.js +48 -0
  416. package/dist/providers/web/index.js +2 -0
  417. package/dist/runtime.js +8 -0
  418. package/dist/sessions/level-overrides.js +9 -0
  419. package/dist/sessions/send-policy.js +68 -0
  420. package/dist/signal/client.js +134 -0
  421. package/dist/signal/daemon.js +69 -0
  422. package/dist/signal/index.js +3 -0
  423. package/dist/signal/monitor.js +411 -0
  424. package/dist/signal/probe.js +46 -0
  425. package/dist/signal/send.js +91 -0
  426. package/dist/slack/actions.js +97 -0
  427. package/dist/slack/index.js +5 -0
  428. package/dist/slack/monitor.js +1270 -0
  429. package/dist/slack/probe.js +47 -0
  430. package/dist/slack/send.js +131 -0
  431. package/dist/slack/token.js +10 -0
  432. package/dist/telegram/allowed-updates.js +8 -0
  433. package/dist/telegram/bot.js +724 -0
  434. package/dist/telegram/download.js +34 -0
  435. package/dist/telegram/index.js +4 -0
  436. package/dist/telegram/monitor.js +47 -0
  437. package/dist/telegram/pairing-store.js +77 -0
  438. package/dist/telegram/probe.js +63 -0
  439. package/dist/telegram/proxy.js +9 -0
  440. package/dist/telegram/reaction-level.js +45 -0
  441. package/dist/telegram/send.js +151 -0
  442. package/dist/telegram/sent-message-cache.js +65 -0
  443. package/dist/telegram/token.js +30 -0
  444. package/dist/telegram/update-offset-store.js +61 -0
  445. package/dist/telegram/webhook-set.js +12 -0
  446. package/dist/telegram/webhook.js +56 -0
  447. package/dist/tui/commands.js +87 -0
  448. package/dist/tui/components/assistant-message.js +16 -0
  449. package/dist/tui/components/chat-log.js +92 -0
  450. package/dist/tui/components/custom-editor.js +55 -0
  451. package/dist/tui/components/selectors.js +8 -0
  452. package/dist/tui/components/tool-execution.js +111 -0
  453. package/dist/tui/components/user-message.js +17 -0
  454. package/dist/tui/gateway-chat.js +140 -0
  455. package/dist/tui/theme/theme.js +80 -0
  456. package/dist/tui/tui.js +708 -0
  457. package/dist/utils.js +153 -0
  458. package/dist/version.js +18 -0
  459. package/dist/web/accounts.js +86 -0
  460. package/dist/web/active-listener.js +25 -0
  461. package/dist/web/auto-reply.js +1256 -0
  462. package/dist/web/inbound.js +649 -0
  463. package/dist/web/login-qr.js +230 -0
  464. package/dist/web/login.js +71 -0
  465. package/dist/web/media.js +175 -0
  466. package/dist/web/outbound.js +102 -0
  467. package/dist/web/qr-image.js +97 -0
  468. package/dist/web/reconnect.js +60 -0
  469. package/dist/web/session.js +370 -0
  470. package/dist/wizard/clack-prompter.js +56 -0
  471. package/dist/wizard/onboarding.js +620 -0
  472. package/dist/wizard/prompts.js +6 -0
  473. package/dist/wizard/session.js +203 -0
  474. package/docs/AGENTS.default.md +116 -0
  475. package/docs/CAPABILITIES.md +444 -0
  476. package/docs/CNAME +1 -0
  477. package/docs/NEXUS_CORE_REWRITE_SPEC.md +226 -0
  478. package/docs/RELEASING.md +69 -0
  479. package/docs/_config.yml +53 -0
  480. package/docs/_layouts/default.html +145 -0
  481. package/docs/agent-assisted-install.md +95 -0
  482. package/docs/agent-loop.md +61 -0
  483. package/docs/agent-send.md +21 -0
  484. package/docs/agent.md +108 -0
  485. package/docs/android.md +133 -0
  486. package/docs/architecture.md +114 -0
  487. package/docs/assets/markdown.css +133 -0
  488. package/docs/assets/pixel-lobster.svg +60 -0
  489. package/docs/assets/terminal.css +470 -0
  490. package/docs/assets/theme.js +55 -0
  491. package/docs/audio.md +48 -0
  492. package/docs/automation/nexus-sync.md +371 -0
  493. package/docs/background-process.md +74 -0
  494. package/docs/bash.md +32 -0
  495. package/docs/bedrock.md +71 -0
  496. package/docs/bonjour.md +159 -0
  497. package/docs/browser-linux-troubleshooting.md +114 -0
  498. package/docs/browser.md +293 -0
  499. package/docs/bun.md +56 -0
  500. package/docs/camera.md +152 -0
  501. package/docs/clawd.md +212 -0
  502. package/docs/concepts/usage-tracking.md +29 -0
  503. package/docs/configuration.md +1666 -0
  504. package/docs/control-ui.md +83 -0
  505. package/docs/cron.md +385 -0
  506. package/docs/dashboard.md +17 -0
  507. package/docs/device-models.md +46 -0
  508. package/docs/discord.md +308 -0
  509. package/docs/discovery.md +112 -0
  510. package/docs/docker.md +258 -0
  511. package/docs/docs.json +105 -0
  512. package/docs/doctor.md +68 -0
  513. package/docs/elevated.md +31 -0
  514. package/docs/faq.md +736 -0
  515. package/docs/feature-inventory/overview.md +141 -0
  516. package/docs/feature-inventory/rollout-checklist.md +53 -0
  517. package/docs/feature-inventory/test-matrix.md +87 -0
  518. package/docs/feature-inventory.md +9 -0
  519. package/docs/gateway/configuration-examples.md +221 -0
  520. package/docs/gateway/configuration.md +172 -0
  521. package/docs/gateway/cron.md +61 -0
  522. package/docs/gateway/heartbeat.md +207 -0
  523. package/docs/gateway/pairing.md +109 -0
  524. package/docs/gateway-lock.md +28 -0
  525. package/docs/gateway.md +227 -0
  526. package/docs/gmail-pubsub.md +191 -0
  527. package/docs/grammy.md +27 -0
  528. package/docs/group-messages.md +73 -0
  529. package/docs/groups.md +130 -0
  530. package/docs/health.md +28 -0
  531. package/docs/heartbeat.md +73 -0
  532. package/docs/home-userspace.md +277 -0
  533. package/docs/hubs.md +148 -0
  534. package/docs/images.md +51 -0
  535. package/docs/imessage.md +94 -0
  536. package/docs/index.md +196 -0
  537. package/docs/ios.md +372 -0
  538. package/docs/linux.md +11 -0
  539. package/docs/location-command.md +95 -0
  540. package/docs/location.md +46 -0
  541. package/docs/logging.md +110 -0
  542. package/docs/lore.md +131 -0
  543. package/docs/mac/bun.md +133 -0
  544. package/docs/mac/canvas.md +161 -0
  545. package/docs/mac/child-process.md +72 -0
  546. package/docs/mac/dev-setup.md +81 -0
  547. package/docs/mac/health.md +28 -0
  548. package/docs/mac/icon.md +26 -0
  549. package/docs/mac/logging.md +51 -0
  550. package/docs/mac/menu-bar.md +69 -0
  551. package/docs/mac/peekaboo.md +170 -0
  552. package/docs/mac/permissions.md +40 -0
  553. package/docs/mac/release.md +76 -0
  554. package/docs/mac/remote.md +57 -0
  555. package/docs/mac/signing.md +41 -0
  556. package/docs/mac/skills.md +27 -0
  557. package/docs/mac/voice-overlay.md +52 -0
  558. package/docs/mac/voicewake.md +56 -0
  559. package/docs/mac/webchat.md +27 -0
  560. package/docs/mac/xpc.md +40 -0
  561. package/docs/macos.md +104 -0
  562. package/docs/model-failover.md +75 -0
  563. package/docs/models.md +91 -0
  564. package/docs/multi-agent.md +74 -0
  565. package/docs/nix.md +95 -0
  566. package/docs/nodes.md +157 -0
  567. package/docs/onboarding-config-protocol.md +34 -0
  568. package/docs/onboarding.md +189 -0
  569. package/docs/pairing.md +85 -0
  570. package/docs/plans/cron-add-hardening.md +72 -0
  571. package/docs/plans/group-policy-hardening.md +121 -0
  572. package/docs/poll.md +52 -0
  573. package/docs/prereqs.md +67 -0
  574. package/docs/presence.md +133 -0
  575. package/docs/proposals/model-config.md +147 -0
  576. package/docs/provider-routing.md +25 -0
  577. package/docs/queue.md +78 -0
  578. package/docs/reference/templates/AGENTS.md +164 -0
  579. package/docs/remote-gateway-readme.md +153 -0
  580. package/docs/remote.md +61 -0
  581. package/docs/research/memory.md +227 -0
  582. package/docs/rpc.md +35 -0
  583. package/docs/security.md +200 -0
  584. package/docs/session-ingestion.md +119 -0
  585. package/docs/session-tool.md +154 -0
  586. package/docs/session.md +85 -0
  587. package/docs/sessions.md +8 -0
  588. package/docs/setup.md +131 -0
  589. package/docs/showcase.md +37 -0
  590. package/docs/signal.md +122 -0
  591. package/docs/skills-config.md +58 -0
  592. package/docs/skills.md +153 -0
  593. package/docs/slack.md +221 -0
  594. package/docs/subagents.md +72 -0
  595. package/docs/tailscale.md +71 -0
  596. package/docs/talk.md +79 -0
  597. package/docs/telegram.md +96 -0
  598. package/docs/templates/AGENTS.md +286 -0
  599. package/docs/templates/BOOTSTRAP.md +35 -0
  600. package/docs/templates/IDENTITY.md +17 -0
  601. package/docs/templates/PROFILE.md +14 -0
  602. package/docs/templates/SOUL.md +41 -0
  603. package/docs/templates/TOOLS.md +41 -0
  604. package/docs/templates/USER.md +8 -0
  605. package/docs/test.md +43 -0
  606. package/docs/testing-onboarding-quickstart.md +76 -0
  607. package/docs/testing-philosophy.md +211 -0
  608. package/docs/thinking.md +46 -0
  609. package/docs/timezone.md +40 -0
  610. package/docs/tools.md +346 -0
  611. package/docs/troubleshooting.md +257 -0
  612. package/docs/tui.md +71 -0
  613. package/docs/typebox.md +42 -0
  614. package/docs/updating.md +138 -0
  615. package/docs/usage-cloud-aggregation-spec.md +133 -0
  616. package/docs/usage-suggestions-pipeline.md +126 -0
  617. package/docs/voicewake.md +61 -0
  618. package/docs/web.md +115 -0
  619. package/docs/webchat.md +34 -0
  620. package/docs/webhook.md +132 -0
  621. package/docs/whatsapp-clawd.jpg +0 -0
  622. package/docs/whatsapp.md +170 -0
  623. package/docs/windows.md +11 -0
  624. package/docs/wizard.md +167 -0
  625. package/package.json +209 -0
  626. package/skills/1password/SKILL.md +54 -0
  627. package/skills/1password/docs/setup.md +85 -0
  628. package/skills/1password/docs/troubleshooting.md +63 -0
  629. package/skills/1password/references/cli-examples.md +29 -0
  630. package/skills/1password/references/get-started.md +17 -0
  631. package/skills/agent-browser/SKILL.md +450 -0
  632. package/skills/agent-browser/docs/browser-use-eval.md +95 -0
  633. package/skills/agent-browser/docs/first-tests.md +261 -0
  634. package/skills/agent-browser/docs/wordle-nyt-eval.js +32 -0
  635. package/skills/aix/SKILL.md +93 -0
  636. package/skills/aix/docs/embeddings.md +40 -0
  637. package/skills/aix/docs/setup.md +58 -0
  638. package/skills/aix/docs/troubleshooting.md +41 -0
  639. package/skills/aix/references/sql.md +48 -0
  640. package/skills/apple-notes/SKILL.md +50 -0
  641. package/skills/apple-reminders/SKILL.md +67 -0
  642. package/skills/bear-notes/SKILL.md +79 -0
  643. package/skills/bird/SKILL.md +32 -0
  644. package/skills/bird/docs/auth.md +31 -0
  645. package/skills/bird/docs/troubleshooting.md +31 -0
  646. package/skills/blogwatcher/SKILL.md +46 -0
  647. package/skills/blucli/SKILL.md +27 -0
  648. package/skills/brave-search/SKILL.md +36 -0
  649. package/skills/brave-search/docs/setup.md +40 -0
  650. package/skills/brave-search/docs/troubleshooting.md +37 -0
  651. package/skills/brave-search/docs/usage.md +28 -0
  652. package/skills/brave-search/scripts/content.mjs +53 -0
  653. package/skills/brave-search/scripts/search.mjs +79 -0
  654. package/skills/browser-use-agent-sdk/SKILL.md +90 -0
  655. package/skills/camsnap/SKILL.md +25 -0
  656. package/skills/clawdhub/SKILL.md +53 -0
  657. package/skills/coding-agent/SKILL.md +274 -0
  658. package/skills/comms/SKILL.md +249 -0
  659. package/skills/comms/docs/adapters.md +54 -0
  660. package/skills/comms/docs/setup.md +56 -0
  661. package/skills/comms/docs/troubleshooting.md +44 -0
  662. package/skills/comms/references/schema.md +49 -0
  663. package/skills/computer-use/SKILL.md +204 -0
  664. package/skills/computer-use/docs/open-interpreter.md +26 -0
  665. package/skills/computer-use/docs/peekaboo.md +26 -0
  666. package/skills/computer-use/docs/setup.md +47 -0
  667. package/skills/computer-use/docs/troubleshooting.md +33 -0
  668. package/skills/discord/SKILL.md +370 -0
  669. package/skills/eightctl/SKILL.md +29 -0
  670. package/skills/eve/SKILL.md +215 -0
  671. package/skills/eve/docs/dual-account.md +84 -0
  672. package/skills/eve/docs/intelligence.md +58 -0
  673. package/skills/eve/docs/setup.md +60 -0
  674. package/skills/eve/docs/troubleshooting.md +54 -0
  675. package/skills/eve/scripts/setup-dual-account.sh +125 -0
  676. package/skills/filesystem/SKILL.md +217 -0
  677. package/skills/food-order/SKILL.md +41 -0
  678. package/skills/gemini/SKILL.md +23 -0
  679. package/skills/gh/SKILL.md +22 -0
  680. package/skills/gh/docs/usage.md +41 -0
  681. package/skills/gifgrep/SKILL.md +47 -0
  682. package/skills/github/SKILL.md +26 -0
  683. package/skills/github/docs/setup.md +21 -0
  684. package/skills/github/docs/troubleshooting.md +24 -0
  685. package/skills/gog/SKILL.md +104 -0
  686. package/skills/gog/docs/portability.md +94 -0
  687. package/skills/gog/docs/setup.md +76 -0
  688. package/skills/gog/docs/troubleshooting.md +94 -0
  689. package/skills/gog/scripts/cdp/README.md +90 -0
  690. package/skills/gog/scripts/cdp/add_test_users.py +69 -0
  691. package/skills/gog/scripts/cdp/auth_add_accounts.py +209 -0
  692. package/skills/gog/scripts/cdp/auth_add_accounts_manual.py +206 -0
  693. package/skills/gog/scripts/cdp/create_oauth_client.py +165 -0
  694. package/skills/gog/scripts/cdp/launch_cdp_chrome.sh +58 -0
  695. package/skills/google-oauth/SKILL.md +94 -0
  696. package/skills/goplaces/SKILL.md +30 -0
  697. package/skills/imsg/SKILL.md +25 -0
  698. package/skills/json-render/SKILL.md +154 -0
  699. package/skills/json-render/assets/components/README.md +21 -0
  700. package/skills/json-render/assets/components/catalog.ts +78 -0
  701. package/skills/json-render/assets/components/registry.tsx +172 -0
  702. package/skills/json-render/assets/demo/App.css +397 -0
  703. package/skills/json-render/assets/demo/App.tsx +897 -0
  704. package/skills/json-render/assets/demo/README.md +22 -0
  705. package/skills/json-render/assets/demo/catalog.ts +78 -0
  706. package/skills/json-render/assets/demo/data/nexus-core.json +31 -0
  707. package/skills/json-render/assets/demo/index.css +27 -0
  708. package/skills/json-render/assets/demo/registry.tsx +150 -0
  709. package/skills/json-render/docs/nexus-state-demo.md +84 -0
  710. package/skills/json-render/docs/shadcn-preset.md +33 -0
  711. package/skills/json-render/scripts/create-vite-demo.sh +45 -0
  712. package/skills/json-render/scripts/llm-server/README.md +33 -0
  713. package/skills/json-render/scripts/llm-server/catalog.ts +78 -0
  714. package/skills/json-render/scripts/llm-server/package-lock.json +702 -0
  715. package/skills/json-render/scripts/llm-server/package.json +18 -0
  716. package/skills/json-render/scripts/llm-server/server.ts +285 -0
  717. package/skills/local-places/SERVER_README.md +101 -0
  718. package/skills/local-places/SKILL.md +91 -0
  719. package/skills/local-places/pyproject.toml +27 -0
  720. package/skills/local-places/src/local_places/__init__.py +2 -0
  721. package/skills/local-places/src/local_places/__pycache__/__init__.cpython-314.pyc +0 -0
  722. package/skills/local-places/src/local_places/__pycache__/google_places.cpython-314.pyc +0 -0
  723. package/skills/local-places/src/local_places/__pycache__/main.cpython-314.pyc +0 -0
  724. package/skills/local-places/src/local_places/__pycache__/schemas.cpython-314.pyc +0 -0
  725. package/skills/local-places/src/local_places/google_places.py +314 -0
  726. package/skills/local-places/src/local_places/main.py +65 -0
  727. package/skills/local-places/src/local_places/schemas.py +107 -0
  728. package/skills/mcporter/SKILL.md +38 -0
  729. package/skills/model-usage/SKILL.md +45 -0
  730. package/skills/model-usage/references/codexbar-cli.md +28 -0
  731. package/skills/model-usage/scripts/model_usage.py +310 -0
  732. package/skills/nano-banana-pro/SKILL.md +30 -0
  733. package/skills/nano-banana-pro/scripts/generate_image.py +169 -0
  734. package/skills/nano-pdf/SKILL.md +20 -0
  735. package/skills/nexus-cloud/SKILL.md +53 -0
  736. package/skills/nexus-cloud/docs/security.md +24 -0
  737. package/skills/nexus-cloud/docs/setup.md +51 -0
  738. package/skills/nexus-cloud/docs/troubleshooting.md +28 -0
  739. package/skills/notion/SKILL.md +156 -0
  740. package/skills/obsidian/SKILL.md +55 -0
  741. package/skills/onboarding/SKILL.md +515 -0
  742. package/skills/onboarding/docs/CAPABILITIES.md +444 -0
  743. package/skills/onboarding/docs/CAPABILITY_TAXONOMY.md +608 -0
  744. package/skills/onboarding/docs/CLI_GRAMMAR.md +797 -0
  745. package/skills/onboarding/docs/CLI_GRAMMAR_CREDENTIALS.md +632 -0
  746. package/skills/onboarding/docs/CLI_GRAMMAR_ONBOARDING.md +815 -0
  747. package/skills/onboarding/docs/CLI_GRAMMAR_SKILLS.md +449 -0
  748. package/skills/onboarding/docs/DOCUMENTATION_OVERVIEW.md +290 -0
  749. package/skills/onboarding/docs/ENTITY_MODEL.md +582 -0
  750. package/skills/onboarding/docs/GOAL_STATE_ARCHITECTURE.md +395 -0
  751. package/skills/onboarding/docs/NEXUS_SYSTEM_OVERVIEW.md +476 -0
  752. package/skills/onboarding/docs/SKILLS_HUB_SPEC.md +477 -0
  753. package/skills/onboarding/docs/SKILLS_SPECIFICATION.md +947 -0
  754. package/skills/onboarding/docs/SKILL_GATEWAY_DESIGN.md +702 -0
  755. package/skills/onboarding/docs/SKILL_GATEWAY_PRD.md +278 -0
  756. package/skills/onboarding/docs/SKILL_INVENTORY.md +266 -0
  757. package/skills/onboarding/docs/STATE_ARCHITECTURE.md +547 -0
  758. package/skills/onboarding/docs/TROUBLESHOOTING.md +363 -0
  759. package/skills/onboarding/docs/USER_JOURNEY.md +797 -0
  760. package/skills/onboarding/docs/WOW_MOMENTS.md +232 -0
  761. package/skills/onboarding/docs/agent-apple-id.md +289 -0
  762. package/skills/onboarding/docs/skill-deep-dives/1password.md +367 -0
  763. package/skills/onboarding/docs/skill-deep-dives/TEMPLATE.md +197 -0
  764. package/skills/onboarding/docs/skill-deep-dives/aix.md +498 -0
  765. package/skills/onboarding/docs/skill-deep-dives/bird.md +357 -0
  766. package/skills/onboarding/docs/skill-deep-dives/brave-search.md +601 -0
  767. package/skills/onboarding/docs/skill-deep-dives/comms.md +607 -0
  768. package/skills/onboarding/docs/skill-deep-dives/computer-use.md +599 -0
  769. package/skills/onboarding/docs/skill-deep-dives/cron-and-heartbeat.md +576 -0
  770. package/skills/onboarding/docs/skill-deep-dives/eve.md +711 -0
  771. package/skills/onboarding/docs/skill-deep-dives/github.md +333 -0
  772. package/skills/onboarding/docs/skill-deep-dives/gog.md +640 -0
  773. package/skills/onboarding/docs/skill-deep-dives/homebrew-prereqs.md +785 -0
  774. package/skills/onboarding/docs/skill-deep-dives/nexus-cloud.md +689 -0
  775. package/skills/onboarding/docs/skill-deep-dives/qmd.md +742 -0
  776. package/skills/onboarding/docs/skill-deep-dives/telegram.md +379 -0
  777. package/skills/onboarding/docs/skill-deep-dives/wacli.md +399 -0
  778. package/skills/onboarding/docs/skill-deep-dives/weather.md +513 -0
  779. package/skills/onboarding/scripts/ralph/prd.json +215 -0
  780. package/skills/onboarding/scripts/ralph/progress.txt +99 -0
  781. package/skills/onboarding/scripts/ralph/prompt.md +87 -0
  782. package/skills/onboarding/scripts/ralph/ralph.log +84 -0
  783. package/skills/onboarding/scripts/ralph/ralph.sh +45 -0
  784. package/skills/onboarding/scripts/setup-cursor-skills.sh +40 -0
  785. package/skills/openai-image-gen/SKILL.md +31 -0
  786. package/skills/openai-image-gen/scripts/gen.py +173 -0
  787. package/skills/openai-whisper/SKILL.md +19 -0
  788. package/skills/openai-whisper-api/SKILL.md +43 -0
  789. package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
  790. package/skills/openhue/SKILL.md +30 -0
  791. package/skills/oracle/SKILL.md +105 -0
  792. package/skills/ordercli/SKILL.md +47 -0
  793. package/skills/peekaboo/SKILL.md +153 -0
  794. package/skills/qmd/SKILL.md +32 -0
  795. package/skills/qmd/docs/mcp.md +30 -0
  796. package/skills/qmd/docs/ollama.md +42 -0
  797. package/skills/qmd/docs/setup.md +44 -0
  798. package/skills/sag/SKILL.md +62 -0
  799. package/skills/skill-cli-template/SKILL.md +109 -0
  800. package/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-311.pyc +0 -0
  801. package/skills/slack/SKILL.md +144 -0
  802. package/skills/songsee/SKILL.md +29 -0
  803. package/skills/sonoscli/SKILL.md +26 -0
  804. package/skills/spotify-player/SKILL.md +34 -0
  805. package/skills/summarize/SKILL.md +49 -0
  806. package/skills/telegram/SKILL.md +20 -0
  807. package/skills/telegram/docs/pairing.md +30 -0
  808. package/skills/telegram/docs/setup.md +41 -0
  809. package/skills/telegram/docs/webhook.md +17 -0
  810. package/skills/things-mac/SKILL.md +61 -0
  811. package/skills/tmux/SKILL.md +121 -0
  812. package/skills/tmux/scripts/find-sessions.sh +112 -0
  813. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  814. package/skills/trello/SKILL.md +84 -0
  815. package/skills/upstream-sync/SKILL.md +151 -0
  816. package/skills/upstream-sync/scripts/auto-port.sh +227 -0
  817. package/skills/upstream-sync/scripts/check-all.sh +88 -0
  818. package/skills/upstream-sync/scripts/check-nexus.sh +146 -0
  819. package/skills/upstream-sync/scripts/check-pi-ai.sh +129 -0
  820. package/skills/video-frames/SKILL.md +29 -0
  821. package/skills/video-frames/scripts/frame.sh +81 -0
  822. package/skills/wacli/SKILL.md +48 -0
  823. package/skills/wacli/docs/auth.md +21 -0
  824. package/skills/wacli/docs/backup.md +9 -0
  825. package/skills/wacli/docs/troubleshooting.md +21 -0
  826. package/skills/weather/SKILL.md +53 -0
  827. package/skills/weather/docs/usage.md +40 -0
@@ -0,0 +1,261 @@
1
+ # Agent-browser demo playbook
2
+
3
+ This playbook gives two demos: a fast visible check and a harder "solver" flow.
4
+ Both avoid API keys and OAuth.
5
+
6
+ ## Immediate value
7
+
8
+ - Real browser automation on dynamic sites (not just HTML fetches).
9
+ - Deterministic element refs from snapshots (stable, less brittle selectors).
10
+ - Quick smoke tests for links, forms, and navigation.
11
+
12
+ ## Speed / model choice
13
+
14
+ - Default to Claude Haiku 4.5 (use the latest Haiku in Claude Code).
15
+ - Claude Code is the preferred dispatcher for fast runs.
16
+ - Wordle uses a local word list; no answer lookup.
17
+
18
+ ## Prereqs
19
+
20
+ ```bash
21
+ agent-browser --version
22
+ agent-browser install
23
+ ```
24
+
25
+ ## Test 1: Hacker News headline (easy, visible)
26
+
27
+ Goal: show a real page open, click, and read content.
28
+
29
+ ```bash
30
+ # Visible browser window
31
+ agent-browser --session demo open https://news.ycombinator.com --headed
32
+
33
+ # Get interactive elements (refs)
34
+ agent-browser --session demo snapshot -i -c -d 3
35
+
36
+ # Pick the first story link ref from snapshot (example: @e1)
37
+ agent-browser --session demo click @e1
38
+
39
+ # Read the new page title and URL
40
+ agent-browser --session demo get title
41
+ agent-browser --session demo get url
42
+
43
+ # Optional screenshot
44
+ agent-browser --session demo screenshot /tmp/agent-browser-hn.png
45
+
46
+ agent-browser --session demo close
47
+ ```
48
+
49
+ Success looks like:
50
+ - A headed browser opens.
51
+ - Snapshot lists interactive links with refs.
52
+ - Title/URL change after the click.
53
+
54
+ ## Test 2: NYT Wordle solver (harder, real site)
55
+
56
+ Goal: solve Wordle using only a local word list and math, plus browser control.
57
+
58
+ ### Approach
59
+
60
+ 1. Keep a local candidate list of valid words.
61
+ 2. After each guess, read tile evaluations (green/yellow/gray).
62
+ 3. Filter candidates by the feedback.
63
+ 4. Pick the next guess by maximizing letter information.
64
+
65
+ ### One-time setup: word list + solver
66
+
67
+ ```bash
68
+ curl -fsSL https://raw.githubusercontent.com/tabatkins/wordle-list/main/words \
69
+ -o /tmp/wordle-words.txt
70
+ ```
71
+
72
+ Create `~/nexus/home/projects/wordle-solver.mjs`:
73
+
74
+ ```js
75
+ import fs from "fs";
76
+
77
+ const WORDS_PATH = process.env.WORDLE_WORDS ?? "/tmp/wordle-words.txt";
78
+ const STATE_PATH = process.env.WORDLE_STATE ?? "/tmp/wordle-state.json";
79
+
80
+ if (!fs.existsSync(WORDS_PATH)) {
81
+ console.error(
82
+ "Missing word list. Download with: curl -fsSL https://raw.githubusercontent.com/tabatkins/wordle-list/main/words -o /tmp/wordle-words.txt",
83
+ );
84
+ process.exit(1);
85
+ }
86
+
87
+ const words = fs.readFileSync(WORDS_PATH, "utf8").trim().split(/\s+/);
88
+
89
+ function score(guess, answer) {
90
+ const result = Array(5).fill("b");
91
+ const counts = {};
92
+ for (let i = 0; i < 5; i++) {
93
+ const g = guess[i];
94
+ const a = answer[i];
95
+ if (g === a) {
96
+ result[i] = "g";
97
+ } else {
98
+ counts[a] = (counts[a] ?? 0) + 1;
99
+ }
100
+ }
101
+ for (let i = 0; i < 5; i++) {
102
+ if (result[i] === "g") continue;
103
+ const g = guess[i];
104
+ if ((counts[g] ?? 0) > 0) {
105
+ result[i] = "y";
106
+ counts[g]--;
107
+ }
108
+ }
109
+ return result.join("");
110
+ }
111
+
112
+ function bestGuess(candidates) {
113
+ const freq = Array.from({ length: 5 }, () => ({}));
114
+ for (const w of candidates) {
115
+ for (let i = 0; i < 5; i++) {
116
+ const c = w[i];
117
+ freq[i][c] = (freq[i][c] ?? 0) + 1;
118
+ }
119
+ }
120
+ let best = candidates[0];
121
+ let bestScore = -1;
122
+ for (const w of candidates) {
123
+ let scoreSum = 0;
124
+ for (let i = 0; i < 5; i++) {
125
+ scoreSum += freq[i][w[i]] ?? 0;
126
+ }
127
+ if (scoreSum > bestScore) {
128
+ bestScore = scoreSum;
129
+ best = w;
130
+ }
131
+ }
132
+ return best;
133
+ }
134
+
135
+ function loadState() {
136
+ if (!fs.existsSync(STATE_PATH)) return { candidates: words };
137
+ return JSON.parse(fs.readFileSync(STATE_PATH, "utf8"));
138
+ }
139
+
140
+ function saveState(state) {
141
+ fs.writeFileSync(STATE_PATH, JSON.stringify(state, null, 2));
142
+ }
143
+
144
+ const args = new Map(
145
+ process.argv.slice(2).map((arg) => {
146
+ const [k, v] = arg.replace(/^--/, "").split("=");
147
+ return [k, v];
148
+ }),
149
+ );
150
+
151
+ const guess = args.get("guess");
152
+ const pattern = args.get("pattern");
153
+
154
+ const state = loadState();
155
+ if (guess && pattern) {
156
+ state.candidates = state.candidates.filter((w) => score(guess, w) === pattern);
157
+ }
158
+
159
+ const suggestion = bestGuess(state.candidates);
160
+ saveState(state);
161
+
162
+ console.log(`remaining=${state.candidates.length}`);
163
+ console.log(`suggested=${suggestion}`);
164
+ ```
165
+
166
+ ### Run flow
167
+
168
+ ```bash
169
+ agent-browser --session wordle open https://www.nytimes.com/games/wordle/index.html --headed
170
+
171
+ # Close intro modal / cookie banner
172
+ agent-browser --session wordle find role button click --name "Play"
173
+ agent-browser --session wordle find role button click --name "Continue"
174
+ agent-browser --session wordle find role button click --name "Close"
175
+ agent-browser --session wordle press Escape
176
+
177
+ # If needed, inspect refs
178
+ agent-browser --session wordle snapshot -i -c -d 4
179
+ ```
180
+
181
+ Submit a guess:
182
+
183
+ ```bash
184
+ node ~/nexus/home/projects/wordle-solver.mjs
185
+ # example output: suggested=slate
186
+
187
+ agent-browser --session wordle click "body"
188
+ for c in s l a t e; do agent-browser --session wordle press "$c"; done
189
+ agent-browser --session wordle press Enter
190
+ agent-browser --session wordle wait 1200
191
+ ```
192
+
193
+ Extract the last row feedback:
194
+
195
+ ```bash
196
+ # Use the NYT eval helper to avoid shell-escaping issues
197
+ agent-browser --session wordle eval "$(cat {baseDir}/docs/wordle-nyt-eval.js)" --json
198
+ ```
199
+
200
+ Feed the pattern back into the solver and repeat:
201
+
202
+ ```bash
203
+ node ~/nexus/home/projects/wordle-solver.mjs --guess=slate --pattern=bybgb
204
+ ```
205
+
206
+ Stop when the pattern is `ggggg`, then:
207
+
208
+ ```bash
209
+ agent-browser --session wordle screenshot /tmp/agent-browser-wordle.png
210
+ agent-browser --session wordle close
211
+ ```
212
+
213
+ Notes:
214
+ - If `pattern` includes `?`, wait longer and re-run the eval.
215
+ - If a guess is rejected, your word list is wrong; re-download the Wordle list.
216
+
217
+ ### Fast path (Claude Code + Haiku 4.5)
218
+
219
+ Recommended for demos and LLM-in-loop runs. This uses the optimized runner flags
220
+ that minimize wait time and block ads.
221
+
222
+ ```bash
223
+ claude --model haiku --print --permission-mode bypassPermissions \
224
+ "Run: bash ~/nexus/home/projects/wordle-nyt-run.sh \
225
+ --session demo-haiku \
226
+ --timing end-to-end \
227
+ --block-ads \
228
+ --wait-ms 0 \
229
+ --key-delay-ms 0 \
230
+ --poll-delay-ms 50 \
231
+ --max-poll-tries 14 \
232
+ --no-screenshot"
233
+ ```
234
+
235
+ Notes:
236
+ - The speedup comes from the runner flags, not model reasoning.
237
+ - For loop-only timing, change to `--timing guess-only`.
238
+
239
+ ### Fast benchmarking (no cheating)
240
+
241
+ Use the automation script to compare models or tune speed:
242
+
243
+ ```bash
244
+ bash ~/nexus/home/projects/wordle-nyt-run.sh \
245
+ --session bench-haiku \
246
+ --first-guess crane \
247
+ --timing end-to-end \
248
+ --block-ads \
249
+ --wait-ms 0 \
250
+ --key-delay-ms 0 \
251
+ --poll-delay-ms 50 \
252
+ --max-poll-tries 14 \
253
+ --no-screenshot
254
+ ```
255
+
256
+ Notes:
257
+ - `--timing guess-only` excludes page load and modal dismissal.
258
+ - Lower `--wait-ms` and `--key-delay-ms` reduces latency.
259
+ - Lower `--poll-delay-ms` reduces time between visual update and action.
260
+ - `--block-ads` can reduce page load time (best-effort).
261
+ - Use unique `--session` names per run to avoid Wordle state collisions.
@@ -0,0 +1,32 @@
1
+ (() => {
2
+ const root = document.querySelector("#wordle-app-game");
3
+ if (!root) return { error: "wordle-app-game not found" };
4
+
5
+ const board = root.querySelector('div[class*="Board-module_board__"]');
6
+ if (!board) return { error: "board not found" };
7
+
8
+ const rows = Array.from(board.querySelectorAll('div[class*="Row-module_row"]'));
9
+ const tilesForRow = (row) => Array.from(row.querySelectorAll("[data-state]"));
10
+ const isFilled = (tiles) =>
11
+ tiles.length === 5 &&
12
+ tiles.every((t) => ["absent", "present", "correct"].includes(t.getAttribute("data-state")));
13
+
14
+ const filled = rows.map(tilesForRow).filter(isFilled);
15
+ const last = filled[filled.length - 1] ?? [];
16
+
17
+ const letters = last
18
+ .map((t) => (t.textContent ?? "").trim())
19
+ .join("")
20
+ .toLowerCase();
21
+ const pattern = last
22
+ .map((t) => {
23
+ const ev = t.getAttribute("data-state");
24
+ if (ev === "correct") return "g";
25
+ if (ev === "present") return "y";
26
+ if (ev === "absent") return "b";
27
+ return "?";
28
+ })
29
+ .join("");
30
+
31
+ return { letters, pattern, filledRows: filled.length };
32
+ })()
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: aix
3
+ description: AI session intelligence - search and analyze your AI conversation history from Cursor, Claude Code CLI, Codex, Claude Desktop, and OpenCode
4
+ homepage: https://github.com/Napageneral/aix
5
+ metadata: {"nexus":{"emoji":"🧠","os":["darwin","linux"],"requires":{"bins":["aix"]},"install":[{"id":"brew","kind":"brew","formula":"Napageneral/tap/aix","bins":["aix"],"label":"Install via Homebrew"},{"id":"go","kind":"shell","script":"go install github.com/Napageneral/aix/cmd/aix@latest","bins":["aix"],"label":"Install via Go"}]}}
6
+ ---
7
+
8
+ # aix 🧠
9
+
10
+ AI session intelligence - search and analyze your AI conversation history from multiple sources.
11
+
12
+ ## Docs
13
+
14
+ - `docs/setup.md`
15
+ - `docs/embeddings.md`
16
+ - `docs/troubleshooting.md`
17
+ - `references/sql.md`
18
+
19
+ ## Supported Sources
20
+
21
+ | Source | Tool | Status |
22
+ |--------|------|--------|
23
+ | `cursor` | Cursor IDE | Full messages |
24
+ | `claude-code` | Claude Code CLI (`~/.claude/projects/`) | Full messages |
25
+ | `codex` | Anthropic Codex CLI (`~/.codex/sessions/`) | Full messages |
26
+ | `opencode` | OpenCode | Full messages |
27
+ | `claude` | Claude Desktop | Metadata only |
28
+
29
+ ## What it does
30
+
31
+ - Reads directly from AI tool databases (Cursor, Claude Code CLI, Codex, Claude Desktop, OpenCode)
32
+ - Exports raw sessions to `~/nexus/home/sessions/` for git-tracked durability
33
+ - Imports into `aix.db` for analysis and querying
34
+ - Tracks which AI model was used (claude-4.5-opus, gpt-5, etc.)
35
+ - Extracts rich metadata: capabilities, linter errors, file references, code blocks
36
+ - Supports semantic search via embeddings
37
+
38
+ ## Quick Start
39
+
40
+ ```bash
41
+ aix init # Initialize config and database
42
+ aix sync --all # Sync from ALL sources
43
+ aix sync --source claude-code # Or sync from specific source
44
+ aix sessions # List all sessions
45
+ aix stats # Show statistics with source breakdown
46
+ ```
47
+
48
+ ## Key Commands
49
+
50
+ | Command | Description |
51
+ |---------|-------------|
52
+ | `aix sync --all` | Sync from all available sources |
53
+ | `aix sync --source <src>` | Sync from cursor/claude-code/codex/claude/opencode |
54
+ | `aix sessions [--source <s>] [--project <p>]` | List sessions |
55
+ | `aix show <session-id>` | View session (partial ID ok) |
56
+ | `aix db query <sql>` | Run SQL queries |
57
+ | `aix embed` | Generate embeddings |
58
+ | `aix search <query>` | Semantic search |
59
+
60
+ ## Useful Queries
61
+
62
+ ```sql
63
+ -- Sessions by source
64
+ SELECT source, COUNT(*) as sessions, SUM(message_count) as msgs
65
+ FROM sessions GROUP BY source ORDER BY sessions DESC;
66
+
67
+ -- Model usage
68
+ SELECT model, COUNT(*) as sessions FROM sessions
69
+ WHERE model IS NOT NULL GROUP BY model ORDER BY sessions DESC;
70
+
71
+ -- Recent activity by source
72
+ SELECT date(created_at/1000, 'unixepoch') as day, source, COUNT(*)
73
+ FROM sessions WHERE created_at > 0 GROUP BY day, source ORDER BY day DESC LIMIT 14;
74
+ ```
75
+
76
+ ## Data Flow
77
+
78
+ ```
79
+ Cursor DB ─┐
80
+ Claude Code CLI ─┼─► ~/nexus/home/sessions/ (durable) ─► aix.db (analysis)
81
+ Codex CLI ─┤
82
+ Claude Desktop ─┤
83
+ OpenCode ─┘
84
+ ```
85
+
86
+ ## Requirements
87
+
88
+ - At least one AI tool (Cursor, Claude Code CLI, Codex, Claude Desktop, or OpenCode)
89
+ - `GEMINI_API_KEY` (optional, for semantic search)
90
+
91
+ ## Source
92
+
93
+ Project: `~/nexus/home/projects/aix`
@@ -0,0 +1,40 @@
1
+ # aix Embeddings and Semantic Search
2
+
3
+ Semantic search uses Gemini embeddings and requires `GEMINI_API_KEY`.
4
+
5
+ ## Set GEMINI_API_KEY
6
+
7
+ ```bash
8
+ export GEMINI_API_KEY="your-key-here"
9
+ ```
10
+
11
+ With 1Password:
12
+
13
+ ```bash
14
+ export GEMINI_API_KEY=$(op read "op://Personal/Gemini API Key/credential")
15
+ ```
16
+
17
+ Persist in your shell profile if desired:
18
+
19
+ ```bash
20
+ echo 'export GEMINI_API_KEY="op://Personal/Gemini API Key/credential"' >> ~/.zshrc
21
+ source ~/.zshrc
22
+ ```
23
+
24
+ ## Generate embeddings
25
+
26
+ ```bash
27
+ aix embed
28
+ ```
29
+
30
+ ## Search
31
+
32
+ ```bash
33
+ aix search "authentication bug"
34
+ aix search "how to fix async error"
35
+ ```
36
+
37
+ ## Performance notes
38
+
39
+ - First embed run can take several minutes on large histories.
40
+ - Subsequent runs only process new messages.
@@ -0,0 +1,58 @@
1
+ # aix Setup
2
+
3
+ `aix` aggregates AI sessions across tools like Cursor, Claude Code CLI, Codex, Claude Desktop, and OpenCode.
4
+
5
+ ## Prerequisites
6
+
7
+ - At least one supported AI tool with existing sessions
8
+ - `aix` installed
9
+
10
+ ## Install
11
+
12
+ ```bash
13
+ # Homebrew (recommended)
14
+ brew install Napageneral/tap/aix
15
+
16
+ # Or via Go
17
+ go install github.com/Napageneral/aix/cmd/aix@latest
18
+
19
+ # Verify
20
+ aix --version
21
+ ```
22
+
23
+ ## Initialize
24
+
25
+ ```bash
26
+ aix init
27
+ ```
28
+
29
+ This creates:
30
+ - `~/.aix/config.yaml`
31
+ - `~/.aix/aix.db`
32
+ - `~/nexus/home/sessions/` (exported sessions)
33
+
34
+ ## Sync sessions
35
+
36
+ ```bash
37
+ aix sync --all
38
+ aix sessions
39
+ aix stats
40
+ ```
41
+
42
+ Sync a specific source:
43
+
44
+ ```bash
45
+ aix sync --source cursor
46
+ aix sync --source claude-code
47
+ aix sync --source codex
48
+ aix sync --source claude
49
+ aix sync --source opencode
50
+ ```
51
+
52
+ ## Verify
53
+
54
+ ```bash
55
+ aix sessions
56
+ aix stats
57
+ aix show <session-id>
58
+ ```
@@ -0,0 +1,41 @@
1
+ # aix Troubleshooting
2
+
3
+ ## No sources found
4
+
5
+ **Symptom:** `aix sync --all` finds 0 sessions.
6
+
7
+ **Fix:**
8
+ 1. Confirm the tool has been used at least once.
9
+ 2. Re-run sync for a specific source.
10
+
11
+ ```bash
12
+ aix sync --source cursor
13
+ ```
14
+
15
+ ## Permission denied or locked DB
16
+
17
+ **Cause:** AI tool is running or files are locked.
18
+
19
+ **Fix:**
20
+ 1. Close the AI tool (Cursor, Claude Desktop, etc.).
21
+ 2. Re-run sync.
22
+
23
+ ```bash
24
+ aix sync --all
25
+ ```
26
+
27
+ ## GEMINI_API_KEY missing
28
+
29
+ **Cause:** Semantic search requires a key.
30
+
31
+ **Fix:**
32
+
33
+ ```bash
34
+ export GEMINI_API_KEY=$(op read "op://Personal/Gemini API Key/credential")
35
+ ```
36
+
37
+ ## Embeddings are slow
38
+
39
+ **Cause:** Large history or rate limits.
40
+
41
+ **Fix:** Let it finish; subsequent runs are incremental.
@@ -0,0 +1,48 @@
1
+ # aix SQL Reference
2
+
3
+ ## Core tables
4
+
5
+ - `sessions` - session metadata (id, source, model, timestamps)
6
+ - `messages` - individual messages
7
+ - `code_blocks` - extracted code blocks
8
+ - `capabilities` - capabilities detected
9
+ - `files` - referenced files
10
+ - `errors` - linter errors
11
+ - `embeddings` - vector embeddings
12
+
13
+ ## SQL examples
14
+
15
+ ```sql
16
+ -- Total sessions per source
17
+ SELECT source, COUNT(*) as sessions
18
+ FROM sessions
19
+ GROUP BY source;
20
+
21
+ -- Model usage
22
+ SELECT model, COUNT(*) as count
23
+ FROM sessions
24
+ WHERE model IS NOT NULL
25
+ GROUP BY model
26
+ ORDER BY count DESC;
27
+
28
+ -- Recent activity (last 14 days)
29
+ SELECT date(created_at/1000, 'unixepoch') as day,
30
+ source,
31
+ COUNT(*) as sessions
32
+ FROM sessions
33
+ WHERE created_at > (strftime('%s', 'now') - 1209600) * 1000
34
+ GROUP BY day, source
35
+ ORDER BY day DESC;
36
+
37
+ -- Sessions with specific file references
38
+ SELECT s.id, s.title, f.path
39
+ FROM sessions s
40
+ JOIN files f ON s.id = f.session_id
41
+ WHERE f.path LIKE '%auth%';
42
+
43
+ -- Code blocks by language
44
+ SELECT language, COUNT(*) as blocks
45
+ FROM code_blocks
46
+ GROUP BY language
47
+ ORDER BY blocks DESC;
48
+ ```
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: apple-notes
3
+ description: Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks Nexus to add a note, list notes, search notes, or manage note folders.
4
+ homepage: https://github.com/antoniorodr/memo
5
+ metadata: {"nexus":{"emoji":"📝","os":["darwin"],"requires":{"bins":["memo"]},"install":[{"id":"brew","kind":"brew","formula":"antoniorodr/memo/memo","bins":["memo"],"label":"Install memo via Homebrew"}]}}
6
+ ---
7
+
8
+ # Apple Notes CLI
9
+
10
+ Use `memo notes` to manage Apple Notes directly from the terminal. Create, view, edit, delete, search, move notes between folders, and export to HTML/Markdown.
11
+
12
+ Setup
13
+ - Install (Homebrew): `brew tap antoniorodr/memo && brew install antoniorodr/memo/memo`
14
+ - Manual (pip): `pip install .` (after cloning the repo)
15
+ - macOS-only; if prompted, grant Automation access to Notes.app.
16
+
17
+ View Notes
18
+ - List all notes: `memo notes`
19
+ - Filter by folder: `memo notes -f "Folder Name"`
20
+ - Search notes (fuzzy): `memo notes -s "query"`
21
+
22
+ Create Notes
23
+ - Add a new note: `memo notes -a`
24
+ - Opens an interactive editor to compose the note.
25
+ - Quick add with title: `memo notes -a "Note Title"`
26
+
27
+ Edit Notes
28
+ - Edit existing note: `memo notes -e`
29
+ - Interactive selection of note to edit.
30
+
31
+ Delete Notes
32
+ - Delete a note: `memo notes -d`
33
+ - Interactive selection of note to delete.
34
+
35
+ Move Notes
36
+ - Move note to folder: `memo notes -m`
37
+ - Interactive selection of note and destination folder.
38
+
39
+ Export Notes
40
+ - Export to HTML/Markdown: `memo notes -ex`
41
+ - Exports selected note; uses Mistune for markdown processing.
42
+
43
+ Limitations
44
+ - Cannot edit notes containing images or attachments.
45
+ - Interactive prompts may require terminal access.
46
+
47
+ Notes
48
+ - macOS-only.
49
+ - Requires Apple Notes.app to be accessible.
50
+ - For automation, grant permissions in System Settings > Privacy & Security > Automation.
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: apple-reminders
3
+ description: Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
4
+ homepage: https://github.com/steipete/remindctl
5
+ metadata: {"nexus":{"emoji":"⏰","os":["darwin"],"requires":{"bins":["remindctl"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/remindctl","bins":["remindctl"],"label":"Install remindctl via Homebrew"}]}}
6
+ ---
7
+
8
+ # Apple Reminders CLI (remindctl)
9
+
10
+ Use `remindctl` to manage Apple Reminders directly from the terminal. It supports list filtering, date-based views, and scripting output.
11
+
12
+ Setup
13
+ - Install (Homebrew): `brew install steipete/tap/remindctl`
14
+ - From source: `pnpm install && pnpm build` (binary at `./bin/remindctl`)
15
+ - macOS-only; grant Reminders permission when prompted.
16
+
17
+ Permissions
18
+ - Check status: `remindctl status`
19
+ - Request access: `remindctl authorize`
20
+
21
+ View Reminders
22
+ - Default (today): `remindctl`
23
+ - Today: `remindctl today`
24
+ - Tomorrow: `remindctl tomorrow`
25
+ - Week: `remindctl week`
26
+ - Overdue: `remindctl overdue`
27
+ - Upcoming: `remindctl upcoming`
28
+ - Completed: `remindctl completed`
29
+ - All: `remindctl all`
30
+ - Specific date: `remindctl 2026-01-04`
31
+
32
+ Manage Lists
33
+ - List all lists: `remindctl list`
34
+ - Show list: `remindctl list Work`
35
+ - Create list: `remindctl list Projects --create`
36
+ - Rename list: `remindctl list Work --rename Office`
37
+ - Delete list: `remindctl list Work --delete`
38
+
39
+ Create Reminders
40
+ - Quick add: `remindctl add "Buy milk"`
41
+ - With list + due: `remindctl add --title "Call mom" --list Personal --due tomorrow`
42
+
43
+ Edit Reminders
44
+ - Edit title/due: `remindctl edit 1 --title "New title" --due 2026-01-04`
45
+
46
+ Complete Reminders
47
+ - Complete by id: `remindctl complete 1 2 3`
48
+
49
+ Delete Reminders
50
+ - Delete by id: `remindctl delete 4A83 --force`
51
+
52
+ Output Formats
53
+ - JSON (scripting): `remindctl today --json`
54
+ - Plain TSV: `remindctl today --plain`
55
+ - Counts only: `remindctl today --quiet`
56
+
57
+ Date Formats
58
+ Accepted by `--due` and date filters:
59
+ - `today`, `tomorrow`, `yesterday`
60
+ - `YYYY-MM-DD`
61
+ - `YYYY-MM-DD HH:mm`
62
+ - ISO 8601 (`2026-01-04T12:34:56Z`)
63
+
64
+ Notes
65
+ - macOS-only.
66
+ - If access is denied, enable Terminal/remindctl in System Settings → Privacy & Security → Reminders.
67
+ - If running over SSH, grant access on the Mac that runs the command.