@ashx-j/lunr 0.2.11 → 0.2.13

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 (342) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +211 -236
  3. package/dist/builtin-extensions/ashxj-tui.d.ts +3 -0
  4. package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -1
  5. package/dist/builtin-extensions/ashxj-tui.js +28 -11
  6. package/dist/builtin-extensions/ashxj-tui.js.map +1 -1
  7. package/dist/builtin-extensions/index.d.ts.map +1 -1
  8. package/dist/builtin-extensions/index.js +0 -2
  9. package/dist/builtin-extensions/index.js.map +1 -1
  10. package/dist/builtin-extensions/lunr-cron.d.ts +1 -1
  11. package/dist/builtin-extensions/lunr-cron.d.ts.map +1 -1
  12. package/dist/builtin-extensions/lunr-cron.js +1 -1
  13. package/dist/builtin-extensions/lunr-cron.js.map +1 -1
  14. package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.d.ts.map +1 -1
  15. package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.js +3 -3
  16. package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.js.map +1 -1
  17. package/dist/builtin-extensions/pi-subagents/src/extension/doctor.d.ts +0 -2
  18. package/dist/builtin-extensions/pi-subagents/src/extension/doctor.d.ts.map +1 -1
  19. package/dist/builtin-extensions/pi-subagents/src/extension/doctor.js +1 -23
  20. package/dist/builtin-extensions/pi-subagents/src/extension/doctor.js.map +1 -1
  21. package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.d.ts.map +1 -1
  22. package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js +6 -7
  23. package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js.map +1 -1
  24. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts +1 -1
  25. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
  26. package/dist/builtin-extensions/pi-subagents/src/extension/index.js +7 -14
  27. package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
  28. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts +12 -9
  29. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts.map +1 -1
  30. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js +38 -34
  31. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js.map +1 -1
  32. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts +3 -3
  33. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts.map +1 -1
  34. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js +32 -47
  35. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js.map +1 -1
  36. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts +2 -2
  37. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts.map +1 -1
  38. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.js.map +1 -1
  39. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts +7 -10
  40. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts.map +1 -1
  41. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js +90 -109
  42. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js.map +1 -1
  43. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts +3 -2
  44. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts.map +1 -1
  45. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js +37 -50
  46. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js.map +1 -1
  47. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.d.ts.map +1 -1
  48. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js +1 -1
  49. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js.map +1 -1
  50. package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.d.ts +4 -0
  51. package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.d.ts.map +1 -1
  52. package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.js +5 -5
  53. package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.js.map +1 -1
  54. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.d.ts.map +1 -1
  55. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js +31 -13
  56. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js.map +1 -1
  57. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts +2 -2
  58. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts.map +1 -1
  59. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.js.map +1 -1
  60. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts +4 -3
  61. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts.map +1 -1
  62. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js +48 -20
  63. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js.map +1 -1
  64. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts +2 -2
  65. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts.map +1 -1
  66. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js +90 -64
  67. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js.map +1 -1
  68. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts +6 -8
  69. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  70. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +262 -161
  71. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
  72. package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.d.ts +2 -1
  73. package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.d.ts.map +1 -1
  74. package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.js +24 -33
  75. package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.js.map +1 -1
  76. package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.d.ts +25 -0
  77. package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.d.ts.map +1 -0
  78. package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.js +51 -0
  79. package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.js.map +1 -0
  80. package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.d.ts.map +1 -1
  81. package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.js +20 -3
  82. package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.js.map +1 -1
  83. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts +4 -1
  84. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts.map +1 -1
  85. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js.map +1 -1
  86. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts +5 -0
  87. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts.map +1 -1
  88. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js +9 -3
  89. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js.map +1 -1
  90. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
  91. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js +2 -2
  92. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
  93. package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts +2 -2
  94. package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts.map +1 -1
  95. package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js +20 -17
  96. package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js.map +1 -1
  97. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts +70 -0
  98. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts.map +1 -0
  99. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js +153 -0
  100. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js.map +1 -0
  101. package/dist/builtin-extensions/pi-subagents/src/shared/settings.d.ts +13 -8
  102. package/dist/builtin-extensions/pi-subagents/src/shared/settings.d.ts.map +1 -1
  103. package/dist/builtin-extensions/pi-subagents/src/shared/settings.js +20 -51
  104. package/dist/builtin-extensions/pi-subagents/src/shared/settings.js.map +1 -1
  105. package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts +80 -20
  106. package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts.map +1 -1
  107. package/dist/builtin-extensions/pi-subagents/src/shared/types.js +10 -2
  108. package/dist/builtin-extensions/pi-subagents/src/shared/types.js.map +1 -1
  109. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts +2 -2
  110. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts.map +1 -1
  111. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js +20 -32
  112. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js.map +1 -1
  113. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts +2 -1
  114. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts.map +1 -1
  115. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js +23 -449
  116. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js.map +1 -1
  117. package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts +2 -1
  118. package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts.map +1 -1
  119. package/dist/builtin-extensions/pi-subagents/src/tui/render.js +13 -11
  120. package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -1
  121. package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.d.ts +2 -1
  122. package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.d.ts.map +1 -1
  123. package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.js +18 -17
  124. package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.js.map +1 -1
  125. package/dist/builtin-extensions/simple-pi-memory.d.ts +2 -2
  126. package/dist/builtin-extensions/simple-pi-memory.d.ts.map +1 -1
  127. package/dist/builtin-extensions/simple-pi-memory.js +41 -17
  128. package/dist/builtin-extensions/simple-pi-memory.js.map +1 -1
  129. package/dist/catalog/models.json +1 -1
  130. package/dist/catalog/providers/amazon-bedrock.json +1 -1
  131. package/dist/catalog/providers/azure-openai-responses.json +1 -1
  132. package/dist/catalog/providers/cloudflare-ai-gateway.json +1 -1
  133. package/dist/catalog/providers/cloudflare-workers-ai.json +1 -1
  134. package/dist/catalog/providers/fireworks.json +1 -1
  135. package/dist/catalog/providers/github-copilot.json +1 -1
  136. package/dist/catalog/providers/huggingface.json +1 -1
  137. package/dist/catalog/providers/minimax-cn.json +1 -1
  138. package/dist/catalog/providers/minimax.json +1 -1
  139. package/dist/catalog/providers/mistral.json +1 -1
  140. package/dist/catalog/providers/nvidia.json +1 -1
  141. package/dist/catalog/providers/openai.json +1 -1
  142. package/dist/catalog/providers/opencode-go.json +1 -1
  143. package/dist/catalog/providers/opencode.json +1 -1
  144. package/dist/catalog/providers/openrouter.json +1 -1
  145. package/dist/catalog/providers/qwen-cloud-cn.json +1 -1
  146. package/dist/catalog/providers/qwen-cloud.json +1 -1
  147. package/dist/catalog/providers/qwen-token-plan-cn.json +1 -1
  148. package/dist/catalog/providers/qwen-token-plan.json +1 -1
  149. package/dist/catalog/providers/together.json +1 -1
  150. package/dist/catalog/providers/vercel-ai-gateway.json +1 -1
  151. package/dist/catalog/providers/zai-coding-cn.json +1 -1
  152. package/dist/catalog/providers/zai.json +1 -1
  153. package/dist/catalog/publication.json +3 -3
  154. package/dist/core/agent-session.d.ts +7 -1
  155. package/dist/core/agent-session.d.ts.map +1 -1
  156. package/dist/core/agent-session.js +34 -4
  157. package/dist/core/agent-session.js.map +1 -1
  158. package/dist/core/context-breakdown.d.ts +3 -1
  159. package/dist/core/context-breakdown.d.ts.map +1 -1
  160. package/dist/core/context-breakdown.js +5 -2
  161. package/dist/core/context-breakdown.js.map +1 -1
  162. package/dist/core/customize.d.ts +2 -0
  163. package/dist/core/customize.d.ts.map +1 -1
  164. package/dist/core/customize.js +6 -0
  165. package/dist/core/customize.js.map +1 -1
  166. package/dist/core/memory-cap.d.ts +4 -8
  167. package/dist/core/memory-cap.d.ts.map +1 -1
  168. package/dist/core/memory-cap.js +8 -8
  169. package/dist/core/memory-cap.js.map +1 -1
  170. package/dist/core/permissions.d.ts +2 -0
  171. package/dist/core/permissions.d.ts.map +1 -1
  172. package/dist/core/permissions.js +30 -14
  173. package/dist/core/permissions.js.map +1 -1
  174. package/dist/core/plan-mode.d.ts.map +1 -1
  175. package/dist/core/plan-mode.js +1 -9
  176. package/dist/core/plan-mode.js.map +1 -1
  177. package/dist/core/rollback.d.ts.map +1 -1
  178. package/dist/core/rollback.js +1 -1
  179. package/dist/core/rollback.js.map +1 -1
  180. package/dist/core/settings-manager.d.ts +16 -5
  181. package/dist/core/settings-manager.d.ts.map +1 -1
  182. package/dist/core/settings-manager.js +37 -10
  183. package/dist/core/settings-manager.js.map +1 -1
  184. package/dist/core/slash-commands.d.ts.map +1 -1
  185. package/dist/core/slash-commands.js +1 -5
  186. package/dist/core/slash-commands.js.map +1 -1
  187. package/dist/core/subagent-permission-inherit.d.ts +34 -22
  188. package/dist/core/subagent-permission-inherit.d.ts.map +1 -1
  189. package/dist/core/subagent-permission-inherit.js +37 -80
  190. package/dist/core/subagent-permission-inherit.js.map +1 -1
  191. package/dist/core/swarm.d.ts.map +1 -1
  192. package/dist/core/swarm.js +13 -7
  193. package/dist/core/swarm.js.map +1 -1
  194. package/dist/core/system-prompt.d.ts +6 -4
  195. package/dist/core/system-prompt.d.ts.map +1 -1
  196. package/dist/core/system-prompt.js +38 -48
  197. package/dist/core/system-prompt.js.map +1 -1
  198. package/dist/core/usage-adapters/openai-codex.d.ts +1 -1
  199. package/dist/core/usage-adapters/openai-codex.d.ts.map +1 -1
  200. package/dist/core/usage-adapters/openai-codex.js +22 -17
  201. package/dist/core/usage-adapters/openai-codex.js.map +1 -1
  202. package/dist/core/usage-service.d.ts +10 -1
  203. package/dist/core/usage-service.d.ts.map +1 -1
  204. package/dist/core/usage-service.js +17 -6
  205. package/dist/core/usage-service.js.map +1 -1
  206. package/dist/gateway/agent-bridge.d.ts.map +1 -1
  207. package/dist/gateway/agent-bridge.js +1 -4
  208. package/dist/gateway/agent-bridge.js.map +1 -1
  209. package/dist/gateway/cron.d.ts.map +1 -1
  210. package/dist/gateway/cron.js +1 -4
  211. package/dist/gateway/cron.js.map +1 -1
  212. package/dist/index.d.ts +1 -1
  213. package/dist/index.d.ts.map +1 -1
  214. package/dist/index.js.map +1 -1
  215. package/dist/main.d.ts.map +1 -1
  216. package/dist/main.js +0 -5
  217. package/dist/main.js.map +1 -1
  218. package/dist/migrations.d.ts +2 -0
  219. package/dist/migrations.d.ts.map +1 -1
  220. package/dist/migrations.js +21 -0
  221. package/dist/migrations.js.map +1 -1
  222. package/dist/modes/interactive/components/settings-selector.d.ts +7 -4
  223. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  224. package/dist/modes/interactive/components/settings-selector.js +122 -162
  225. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  226. package/dist/modes/interactive/components/usage-view.d.ts +1 -1
  227. package/dist/modes/interactive/components/usage-view.d.ts.map +1 -1
  228. package/dist/modes/interactive/components/usage-view.js +7 -4
  229. package/dist/modes/interactive/components/usage-view.js.map +1 -1
  230. package/dist/modes/interactive/interactive-mode.d.ts +1 -2
  231. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  232. package/dist/modes/interactive/interactive-mode.js +55 -96
  233. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  234. package/dist/modes/interactive/skill-tag-autocomplete.d.ts +13 -0
  235. package/dist/modes/interactive/skill-tag-autocomplete.d.ts.map +1 -0
  236. package/dist/modes/interactive/skill-tag-autocomplete.js +72 -0
  237. package/dist/modes/interactive/skill-tag-autocomplete.js.map +1 -0
  238. package/docs/compaction.md +23 -23
  239. package/docs/containerization.md +24 -24
  240. package/docs/custom-provider.md +18 -18
  241. package/docs/development.md +16 -15
  242. package/docs/docs.json +6 -2
  243. package/docs/extensions.md +82 -80
  244. package/docs/features.md +102 -0
  245. package/docs/index.md +25 -19
  246. package/docs/json.md +7 -7
  247. package/docs/keybindings.md +4 -4
  248. package/docs/models.md +2 -2
  249. package/docs/packages.md +38 -42
  250. package/docs/prompt-templates.md +4 -4
  251. package/docs/providers.md +22 -10
  252. package/docs/quickstart.md +81 -46
  253. package/docs/rpc.md +7 -13
  254. package/docs/sdk.md +43 -41
  255. package/docs/security.md +18 -18
  256. package/docs/session-format.md +9 -9
  257. package/docs/sessions.md +13 -12
  258. package/docs/settings.md +63 -24
  259. package/docs/shell-aliases.md +2 -2
  260. package/docs/skills.md +21 -11
  261. package/docs/terminal-setup.md +5 -5
  262. package/docs/termux.md +7 -7
  263. package/docs/themes.md +12 -14
  264. package/docs/tmux.md +4 -4
  265. package/docs/tui.md +23 -23
  266. package/docs/usage.md +112 -87
  267. package/docs/windows.md +10 -2
  268. package/examples/README.md +3 -1
  269. package/examples/extensions/README.md +6 -6
  270. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  271. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  272. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  273. package/examples/extensions/doom-overlay/README.md +2 -2
  274. package/examples/extensions/gondolin/package-lock.json +2 -2
  275. package/examples/extensions/gondolin/package.json +1 -1
  276. package/examples/extensions/plan-mode/README.md +3 -1
  277. package/examples/extensions/sandbox/package-lock.json +2 -2
  278. package/examples/extensions/sandbox/package.json +1 -1
  279. package/examples/extensions/subagent/README.md +13 -11
  280. package/examples/extensions/todo.ts +2 -1
  281. package/examples/extensions/with-deps/package-lock.json +2 -2
  282. package/examples/extensions/with-deps/package.json +1 -1
  283. package/examples/sdk/README.md +9 -5
  284. package/package.json +6 -7
  285. package/dist/builtin-extensions/lunr-behavior.d.ts +0 -44
  286. package/dist/builtin-extensions/lunr-behavior.d.ts.map +0 -1
  287. package/dist/builtin-extensions/lunr-behavior.js +0 -213
  288. package/dist/builtin-extensions/lunr-behavior.js.map +0 -1
  289. package/dist/builtin-extensions/pi-subagents/agents/context-builder.md +0 -46
  290. package/dist/builtin-extensions/pi-subagents/agents/deep-researcher.md +0 -36
  291. package/dist/builtin-extensions/pi-subagents/agents/delegate.md +0 -12
  292. package/dist/builtin-extensions/pi-subagents/agents/oracle.md +0 -73
  293. package/dist/builtin-extensions/pi-subagents/agents/planner.md +0 -55
  294. package/dist/builtin-extensions/pi-subagents/agents/research-writer.md +0 -37
  295. package/dist/builtin-extensions/pi-subagents/agents/researcher.md +0 -52
  296. package/dist/builtin-extensions/pi-subagents/agents/reviewer.md +0 -79
  297. package/dist/builtin-extensions/pi-subagents/agents/scout.md +0 -50
  298. package/dist/builtin-extensions/pi-subagents/agents/worker.md +0 -55
  299. package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.d.ts +0 -20
  300. package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.d.ts.map +0 -1
  301. package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.js +0 -1273
  302. package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.js.map +0 -1
  303. package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.d.ts +0 -49
  304. package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.d.ts.map +0 -1
  305. package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.js +0 -252
  306. package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.js.map +0 -1
  307. package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.d.ts +0 -3
  308. package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.d.ts.map +0 -1
  309. package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.js +0 -6
  310. package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.js.map +0 -1
  311. package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.d.ts +0 -3
  312. package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.d.ts.map +0 -1
  313. package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.js +0 -23
  314. package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.js.map +0 -1
  315. package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.d.ts +0 -8
  316. package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.d.ts.map +0 -1
  317. package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.js +0 -143
  318. package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.js.map +0 -1
  319. package/dist/builtin-extensions/pi-subagents/src/agents/agents.d.ts +0 -176
  320. package/dist/builtin-extensions/pi-subagents/src/agents/agents.d.ts.map +0 -1
  321. package/dist/builtin-extensions/pi-subagents/src/agents/agents.js +0 -1326
  322. package/dist/builtin-extensions/pi-subagents/src/agents/agents.js.map +0 -1
  323. package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.d.ts +0 -7
  324. package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.d.ts.map +0 -1
  325. package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.js +0 -307
  326. package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.js.map +0 -1
  327. package/dist/builtin-extensions/pi-subagents/src/agents/identity.d.ts +0 -8
  328. package/dist/builtin-extensions/pi-subagents/src/agents/identity.d.ts.map +0 -1
  329. package/dist/builtin-extensions/pi-subagents/src/agents/identity.js +0 -30
  330. package/dist/builtin-extensions/pi-subagents/src/agents/identity.js.map +0 -1
  331. package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.d.ts +0 -35
  332. package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.d.ts.map +0 -1
  333. package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.js +0 -151
  334. package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.js.map +0 -1
  335. package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.d.ts +0 -131
  336. package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.d.ts.map +0 -1
  337. package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.js +0 -491
  338. package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.js.map +0 -1
  339. package/dist/core/behavior-preset.d.ts +0 -60
  340. package/dist/core/behavior-preset.d.ts.map +0 -1
  341. package/dist/core/behavior-preset.js +0 -257
  342. package/dist/core/behavior-preset.js.map +0 -1
package/README.md CHANGED
@@ -1,38 +1,15 @@
1
1
  <p align="center">
2
- <a href="https://pi.dev">
3
- <img alt="pi logo" src="https://pi.dev/logo-auto.svg" width="128">
4
- </a>
2
+ <strong>lunR</strong><br />
3
+ a terminal coding agent
5
4
  </p>
6
5
  <p align="center">
7
- <a href="https://discord.com/invite/3cU7Bz4UPx"><img alt="Discord" src="https://img.shields.io/badge/discord-community-5865F2?style=flat-square&logo=discord&logoColor=white" /></a>
8
- <a href="https://www.npmjs.com/package/@earendil-works/pi-coding-agent"><img alt="npm" src="https://img.shields.io/npm/v/@earendil-works/pi-coding-agent?style=flat-square" /></a>
6
+ <a href="https://www.npmjs.com/package/@ashx-j/lunr"><img alt="npm" src="https://img.shields.io/npm/v/@ashx-j/lunr?style=flat-square" /></a>
7
+ <a href="https://github.com/ashx-j/lunR"><img alt="GitHub" src="https://img.shields.io/badge/github-ashx--j%2FlunR-181717?style=flat-square&logo=github" /></a>
9
8
  </p>
10
9
 
11
- > New issues and PRs from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. See [CONTRIBUTING.md](../../CONTRIBUTING.md).
10
+ lunR is a terminal coding agent derived from [pi](https://github.com/badlogic/pi-mono). It ships with interactive TUI, print/JSON, RPC, and SDK modes, plus baked-in MCP, subagents, permissions, plan mode, todos, cron, and a Telegram/Discord gateway.
12
11
 
13
- ---
14
-
15
- Pi is a minimal terminal coding harness. Adapt pi to your workflows, not the other way around, without having to fork and modify pi internals. Extend it with TypeScript [Extensions](#extensions), [Skills](#skills), [Prompt Templates](#prompt-templates), and [Themes](#themes). Put your extensions, skills, prompt templates, and themes in [Pi Packages](#pi-packages) and share them with others via npm or git.
16
-
17
- Pi ships with powerful defaults but skips features like sub agents and plan mode. Instead, you can ask pi to build what you want or install a third party pi package that matches your workflow.
18
-
19
- Pi runs in four modes: interactive, print or JSON, RPC for process integration, and an SDK for embedding in your own apps. See [openclaw/openclaw](https://github.com/openclaw/openclaw) for a real-world SDK integration.
20
-
21
- ## Share your OSS coding agent sessions
22
-
23
- If you use pi for open source work, please share your coding agent sessions.
24
-
25
- Public OSS session data helps improve models, prompts, tools, and evaluations using real development workflows.
26
-
27
- For the full explanation, see [this post on X](https://x.com/badlogicgames/status/2037811643774652911).
28
-
29
- To publish sessions, use [`badlogic/pi-share-hf`](https://github.com/badlogic/pi-share-hf). Read its README.md for setup instructions. All you need is a Hugging Face account, the Hugging Face CLI, and `pi-share-hf`.
30
-
31
- You can also watch [this video](https://x.com/badlogicgames/status/2041151967695634619), where I show how I publish my `pi-mono` sessions.
32
-
33
- I regularly publish my own `pi-mono` work sessions here:
34
-
35
- - [badlogicgames/pi-mono on Hugging Face](https://huggingface.co/datasets/badlogicgames/pi-mono)
12
+ Extend it with TypeScript [Extensions](#extensions), [Skills](#skills), [Prompt Templates](#prompt-templates), and [Themes](#themes). Bundle those as [packages](#packages) and share them via npm or git.
36
13
 
37
14
  ## Table of Contents
38
15
 
@@ -53,7 +30,7 @@ I regularly publish my own `pi-mono` work sessions here:
53
30
  - [Skills](#skills)
54
31
  - [Extensions](#extensions)
55
32
  - [Themes](#themes)
56
- - [Pi Packages](#pi-packages)
33
+ - [Packages](#packages)
57
34
  - [Programmatic Usage](#programmatic-usage)
58
35
  - [Philosophy](#philosophy)
59
36
  - [CLI Reference](#cli-reference)
@@ -62,33 +39,55 @@ I regularly publish my own `pi-mono` work sessions here:
62
39
 
63
40
  ## Quick Start
64
41
 
42
+ Requires **Node.js ≥ 22.19**.
43
+
65
44
  ```bash
66
- npm install -g --ignore-scripts @earendil-works/pi-coding-agent
45
+ npm i -g @ashx-j/lunr
67
46
  ```
68
47
 
69
- `--ignore-scripts` disables dependency lifecycle scripts during install. Pi does not require install scripts for normal npm installs.
48
+ `--ignore-scripts` is optional; lunR does not require install scripts for a normal npm install.
70
49
 
71
- Installer alternative:
50
+ Then run it in a project directory:
72
51
 
73
52
  ```bash
74
- curl -fsSL https://pi.dev/install.sh | sh
53
+ cd /path/to/project
54
+ lunr
75
55
  ```
76
56
 
77
57
  Authenticate with an API key:
78
58
 
79
59
  ```bash
80
60
  export ANTHROPIC_API_KEY=sk-ant-...
81
- pi
61
+ lunr
82
62
  ```
83
63
 
84
- Or use your existing subscription:
64
+ Or use a subscription / stored credential:
85
65
 
86
66
  ```bash
87
- pi
67
+ lunr
88
68
  /login # Then select provider
89
69
  ```
90
70
 
91
- Then just talk to pi. By default, pi gives the model four tools: `read`, `write`, `edit`, and `bash`. The model uses these to fulfill your requests. Add capabilities via [skills](#skills), [prompt templates](#prompt-templates), [extensions](#extensions), or [pi packages](#pi-packages).
71
+ First-run optional features (Telegram/Discord gateway):
72
+
73
+ ```bash
74
+ lunr setup
75
+ lunr features list
76
+ ```
77
+
78
+ To remove the CLI, keep `~/.lunr/agent` unless you pass `--purge`:
79
+
80
+ ```bash
81
+ lunr uninstall # remove this lunR install; keeps ~/.lunr/agent
82
+ lunr uninstall --purge # also wipe ~/.lunr/agent (settings, credentials, sessions)
83
+ lunr uninstall npm:@foo/bar # remove an extension package (alias for lunr remove)
84
+ ```
85
+
86
+ You can also `npm uninstall -g @ashx-j/lunr`. That leaves `~/.lunr/agent` in place.
87
+
88
+ Config lives in `~/.lunr/agent` (global) and project `.lunr/` (`piConfig.configDir`). Override the agent dir with `PI_CODING_AGENT_DIR`. **Do not use `~/.pi/` as the lunR home.**
89
+
90
+ Then just talk to lunR. By default it gives the model four tools: `read`, `write`, `edit`, and `bash`. `grep`, `find`, and `ls` exist but start off. Add more via [skills](#skills), [prompt templates](#prompt-templates), [extensions](#extensions), or [packages](#packages). See [built-in features](docs/features.md) for MCP, subagents, plan mode, cron, and the gateway.
92
91
 
93
92
  **Platform notes:** [Windows](docs/windows.md) | [Termux (Android)](docs/termux.md) | [tmux](docs/tmux.md) | [Terminal setup](docs/terminal-setup.md) | [Shell aliases](docs/shell-aliases.md)
94
93
 
@@ -96,48 +95,28 @@ Then just talk to pi. By default, pi gives the model four tools: `read`, `write`
96
95
 
97
96
  ## Providers & Models
98
97
 
99
- For each built-in provider, pi maintains a list of tool-capable models. Configured provider catalogs refresh automatically; run `pi update --models` to force an immediate refresh. Authenticate via subscription (`/login`) or API key, then select any model from that provider via `/model` (or Ctrl+L).
98
+ lunR ships a built-in catalog. First paint is **cache-only** (no GitHub or live `/models` at startup). Authenticate with `/login` or an API key, then pick a model with `/model` (or Ctrl+L).
99
+
100
+ `/model` lists **stored-credential** providers only (`~/.lunr/agent/auth.json`, subscriptions, or `--api-key`). An ambient `OPENROUTER_API_KEY` does not make OpenRouter models appear in `/model`.
101
+
102
+ Refresh catalogs with **`/refresh`**, not `lunr update`. `/refresh` downloads `providers.json` and then shards for providers that already have stored credentials. `lunr update` only reinstalls the global CLI.
100
103
 
101
104
  **Subscriptions:**
102
105
  - Anthropic Claude Pro/Max
103
106
  - OpenAI ChatGPT Plus/Pro (Codex)
104
107
  - GitHub Copilot
108
+ - xAI SuperGrok (Grok/X subscription)
109
+ - Radius
110
+
111
+ **Local / live:**
112
+ - Ollama and LM Studio via `/login` (localhost probe)
113
+ - OpenCode Zen: `/login opencode` then `/refresh` (free rows rotate from live `/v1/models`)
105
114
 
106
- **API keys:**
107
- - Anthropic
108
- - Ant Ling
109
- - OpenAI
110
- - Azure OpenAI
111
- - DeepSeek
112
- - NVIDIA NIM
113
- - Google Gemini
114
- - Google Vertex
115
- - Amazon Bedrock
116
- - Mistral
117
- - Groq
118
- - Cerebras
119
- - Cloudflare AI Gateway
120
- - Cloudflare Workers AI
121
- - xAI
122
- - OpenRouter
123
- - Vercel AI Gateway
124
- - ZAI Coding Plan (Global)
125
- - ZAI Coding Plan (China)
126
- - OpenCode Zen
127
- - OpenCode Go
128
- - Hugging Face
129
- - Fireworks
130
- - Together AI
131
- - Kimi For Coding
132
- - MiniMax
133
- - Xiaomi MiMo
134
- - Xiaomi MiMo Token Plan (China)
135
- - Xiaomi MiMo Token Plan (Amsterdam)
136
- - Xiaomi MiMo Token Plan (Singapore)
137
-
138
- See [docs/providers.md](docs/providers.md) for detailed setup instructions.
139
-
140
- **Custom providers & models:** Add providers via `~/.pi/agent/models.json` if they speak a supported API (OpenAI, Anthropic, Google). For custom APIs or OAuth, use extensions. See [docs/models.md](docs/models.md) and [docs/custom-provider.md](docs/custom-provider.md).
115
+ **API keys:** Anthropic, Ant Ling, OpenAI, Azure OpenAI, DeepSeek, NVIDIA NIM, Google Gemini, Google Vertex, Amazon Bedrock, Mistral, Groq, Cerebras, Cloudflare AI Gateway, Cloudflare Workers AI, xAI, OpenRouter, Vercel AI Gateway, ZAI Coding Plan, OpenCode Zen/Go, Hugging Face, Fireworks, Together AI, Kimi For Coding, MiniMax, Xiaomi MiMo, Qwen Token Plan.
116
+
117
+ See [docs/providers.md](docs/providers.md) for setup. **xAI SuperGrok:** `/login xai` can import `~/.grok/auth.json` from the Grok CLI; `/logout xai` does **not** delete that file.
118
+
119
+ **Custom providers & models:** Add providers via `~/.lunr/agent/models.json` if they speak a supported API (OpenAI, Anthropic, Google). For custom APIs or OAuth, use extensions. See [docs/models.md](docs/models.md) and [docs/custom-provider.md](docs/custom-provider.md).
141
120
 
142
121
  ---
143
122
 
@@ -150,9 +129,9 @@ The interface from top to bottom:
150
129
  - **Startup header** - Shows shortcuts (`/hotkeys` for all), loaded AGENTS.md files, prompt templates, skills, and extensions
151
130
  - **Messages** - Your messages, assistant responses, tool calls and results, notifications, errors, and extension UI
152
131
  - **Editor** - Where you type; border color indicates thinking level
153
- - **Footer** - Working directory, session name, total token/cache usage (`↑` input, `↓` output, `R` cache read, `W` cache write, `CH` latest cache hit rate), cost, context usage, current model
132
+ - **Footer** - Working directory, git branch, session name, token/cache usage, cost, context usage, plan bar, current model. Customize under `/settings` Customize Footer.
154
133
 
155
- The editor can be temporarily replaced by other UI, like built-in `/settings` or custom UI from extensions (e.g., a Q&A tool that lets the user answer model questions in a structured format). [Extensions](#extensions) can also replace the editor, add widgets above/below it, a status line, custom footer, or overlays.
134
+ The editor can be temporarily replaced by other UI, like built-in `/settings` or custom UI from extensions. [Extensions](#extensions) can also replace the editor, add widgets above/below it, a status line, custom footer, or overlays.
156
135
 
157
136
  ### Editor
158
137
 
@@ -162,7 +141,7 @@ The editor can be temporarily replaced by other UI, like built-in `/settings` or
162
141
  | Path completion | Tab to complete paths |
163
142
  | Multi-line | Shift+Enter (or Ctrl+Enter on Windows Terminal) |
164
143
  | External editor | Ctrl+G opens `externalEditor`, `$VISUAL`, `$EDITOR`, Notepad on Windows, or `nano` elsewhere |
165
- | Clipboard | Ctrl+V to paste an image or text (Alt+V on Windows), or drag images onto terminal |
144
+ | Clipboard | Ctrl+V to paste text or an image (Alt+V on Windows). Images insert `[image_n]` chips, not a temp path. Drag images onto the terminal also works. |
166
145
  | Bash commands | `!command` runs and sends output to LLM, `!!command` runs without sending |
167
146
 
168
147
  Standard editing keybindings for delete word, undo, etc. See [docs/keybindings.md](docs/keybindings.md).
@@ -173,31 +152,48 @@ Type `/` in the editor to trigger commands. [Extensions](#extensions) can regist
173
152
 
174
153
  | Command | Description |
175
154
  |---------|-------------|
176
- | `/login`, `/logout` | OAuth authentication |
177
- | `/model` | Switch models |
155
+ | `/login`, `/auth` | Configure provider authentication |
156
+ | `/logout`, `/deauth` | Remove provider authentication |
157
+ | `/model` | Switch models (stored-cred providers) |
158
+ | `/refresh` | Refresh model catalogs |
178
159
  | `/scoped-models` | Enable/disable models for Ctrl+P cycling |
179
- | `/settings` | Thinking level, theme, message delivery, transport |
180
- | `/resume` | Pick from previous sessions |
160
+ | `/settings` | Theme, thinking, agent memory, message delivery, transport |
161
+ | `/thinking`, `/effort`, `/reasoning` | Set thinking level (`xhigh`/`max` are opt-in when the model supports them) |
162
+ | `/mode` | Set permission mode: `manual`, `yolo`, `plan`, or `auto` (Shift+Tab cycles) |
163
+ | `/plan` | Switch to plan mode, or `/plan <task>` to plan a task |
164
+ | `/manual`, `/yolo`, `/auto` | Activate that permission mode |
165
+ | `/swarm` | Orchestrate parallel subagents |
166
+ | `/cron` | Scheduled prompts (`~/.lunr/agent/cron/`) |
167
+ | `/goal` | Session goal (forces session auto permission mode) |
168
+ | `/processes` | Background processes started this session |
169
+ | `/usage` | This-session token totals, context, and every stored subscription plan |
170
+ | `/fast` | Toggle Fast mode for OpenAI Codex subscriptions |
171
+ | `/context` | Estimated context-window breakdown |
172
+ | `/resume`, `/sessions` | Pick from previous sessions |
181
173
  | `/new` | Start a new session |
182
- | `/name <name>` | Set session display name |
183
- | `/session` | Show session info (file, ID, messages, tokens, cost) |
184
- | `/tree` | Jump to any point in the session and continue from there |
185
- | `/trust` | Save project trust decision for future sessions (restart required) |
174
+ | `/name`, `/title` | Set session display name |
175
+ | `/session` | Show session info |
176
+ | `/tree` | Jump to any point in the session (`ctrl+o` cycles filters) |
177
+ | `/undo`, `/edit`, `/redo` | Same-session rewind; `/edit` pastes the last prompt |
178
+ | `/rollback` | Undo the last turn's file changes (forks) |
179
+ | `/trust` | Save project trust decision |
186
180
  | `/fork` | Create a new session from a previous user message |
187
- | `/clone` | Duplicate the current active branch into a new session |
188
- | `/compact [prompt]` | Manually compact context, optional custom instructions |
189
- | `/copy` | Copy last assistant message to clipboard |
190
- | `/export [file]` | Export session to HTML or JSONL file |
191
- | `/import <file>` | Import and resume a session from a JSONL file |
192
- | `/share` | Upload as private GitHub gist with shareable HTML link |
181
+ | `/clone` | Duplicate the current active branch |
182
+ | `/compact [prompt]` | Manually compact context |
183
+ | `/copy` | Copy last assistant message |
184
+ | `/export [file]` | Export session to HTML or JSONL |
185
+ | `/import <file>` | Import and resume a JSONL session |
186
+ | `/share` | Upload as a private GitHub gist (HTML viewer still defaults to https://pi.dev/session/ — leftover, not lunR-hosted) |
193
187
  | `/reload` | Reload keybindings, extensions, skills, prompts, themes, and context files |
194
188
  | `/hotkeys` | Show all keyboard shortcuts |
195
- | `/changelog` | Display version history |
196
- | `/quit` | Quit pi |
189
+ | `/init` | Generate a starter AGENTS.md |
190
+ | `/quit`, `/exit` | Quit lunR |
191
+
192
+ There is no `/changelog` or `/token-usage` command.
197
193
 
198
194
  ### Keyboard Shortcuts
199
195
 
200
- See `/hotkeys` for the full list. Customize via `~/.pi/agent/keybindings.json`. See [docs/keybindings.md](docs/keybindings.md).
196
+ See `/hotkeys` for the full list. Customize via `~/.lunr/agent/keybindings.json`. See [docs/keybindings.md](docs/keybindings.md).
201
197
 
202
198
  **Commonly used:**
203
199
 
@@ -209,11 +205,13 @@ See `/hotkeys` for the full list. Customize via `~/.pi/agent/keybindings.json`.
209
205
  | Escape twice | Open `/tree` |
210
206
  | Ctrl+L | Open model selector |
211
207
  | Ctrl+P / Shift+Ctrl+P | Cycle scoped models forward/backward |
212
- | Shift+Tab | Cycle thinking level |
213
- | Ctrl+O | Collapse/expand tool output |
208
+ | Shift+Tab | Cycle permission mode (`manual` → `yolo` → `plan` → `auto`) |
209
+ | Ctrl+O | Cycle `/tree` filters (not tool expand) |
214
210
  | Ctrl+T | Collapse/expand thinking blocks |
215
211
  | Ctrl+X | Copy the last assistant message |
216
212
 
213
+ Click a thinking or tool card to expand or collapse that item. `app.tools.expand` is unbound.
214
+
217
215
  ### Message Queue
218
216
 
219
217
  Submit messages while the agent is working:
@@ -223,7 +221,7 @@ Submit messages while the agent is working:
223
221
  - **Escape** aborts and restores queued messages to editor
224
222
  - **Alt+Up** retrieves queued messages back to editor
225
223
 
226
- On Windows Terminal, `Alt+Enter` is fullscreen by default. Remap it in [docs/terminal-setup.md](docs/terminal-setup.md) so pi can receive the follow-up shortcut.
224
+ On Windows Terminal, `Alt+Enter` is fullscreen by default. Remap it in [docs/terminal-setup.md](docs/terminal-setup.md) so lunR can receive the follow-up shortcut.
227
225
 
228
226
  Configure delivery in [settings](docs/settings.md): `steeringMode` and `followUpMode` can be `"one-at-a-time"` (default, waits for response) or `"all"` (delivers all queued at once). `transport` selects provider transport preference (`"sse"`, `"websocket"`, or `"auto"`) for providers that support multiple transports.
229
227
 
@@ -235,15 +233,16 @@ Sessions are stored as JSONL files with a tree structure. Each entry has an `id`
235
233
 
236
234
  ### Management
237
235
 
238
- Sessions auto-save to `~/.pi/agent/sessions/` organized by working directory.
236
+ Sessions auto-save to `~/.lunr/agent/sessions/` organized by working directory.
239
237
 
240
238
  ```bash
241
- pi -c # Continue most recent session
242
- pi -r # Browse and select from past sessions
243
- pi --no-session # Ephemeral mode (don't save)
244
- pi --name "my task" # Set session display name at startup
245
- pi --session <path|id> # Use specific session file or ID
246
- pi --fork <path|id> # Fork specific session file or ID into a new session
239
+ lunr -c # Continue most recent session
240
+ lunr -r # Browse and select from past sessions
241
+ lunr --no-session # Ephemeral mode (don't save)
242
+ lunr --name "my task" # Set session display name at startup
243
+ lunr --session <path|id> # Use specific session file or ID
244
+ lunr --session-id <id> # Use exact project session ID, creating it if missing
245
+ lunr --fork <path|id> # Fork specific session file or ID into a new session
247
246
  ```
248
247
 
249
248
  Use `/session` in interactive mode to see the current session ID before reusing it with `--session <id>` or `--fork <id>`.
@@ -259,11 +258,11 @@ Use `/session` in interactive mode to see the current session ID before reusing
259
258
  - Press Ctrl+X to copy the selected message
260
259
  - Press Shift+L to label entries as bookmarks and Shift+T to toggle label timestamps
261
260
 
262
- **`/fork`** - Create a new session file from a previous user message on the active branch. Opens a selector, copies the active path up to that point, and places the selected prompt in the editor for modification.
261
+ **`/fork`** - Create a new session file from a previous user message on the active branch.
263
262
 
264
- **`/clone`** - Duplicate the current active branch into a new session file at the current position. The new session keeps the full active-path history and opens with an empty editor.
263
+ **`/clone`** - Duplicate the current active branch into a new session file at the current position.
265
264
 
266
- **`--fork <path|id>`** - Fork an existing session file or partial session UUID directly from the CLI. This copies the full source session into a new session file in the current project.
265
+ **`--fork <path|id>`** - Fork an existing session file or partial session UUID directly from the CLI.
267
266
 
268
267
  ### Compaction
269
268
 
@@ -283,50 +282,45 @@ Use `/settings` to modify common options, or edit JSON files directly:
283
282
 
284
283
  | Location | Scope |
285
284
  |----------|-------|
286
- | `~/.pi/agent/settings.json` | Global (all projects) |
287
- | `.pi/settings.json` | Project (overrides global) |
285
+ | `~/.lunr/agent/settings.json` | Global (all projects) |
286
+ | `.lunr/settings.json` | Project (overrides global) |
288
287
 
289
288
  See [docs/settings.md](docs/settings.md) for all options.
290
289
 
291
290
  ### Project Trust
292
291
 
293
- On interactive startup, pi asks before trusting a project folder that contains project-local settings, resources, or project `.agents/skills` and has no saved decision for the folder or a parent folder in `~/.pi/agent/trust.json`. Trusting a project allows pi to load `.pi/settings.json` and `.pi` resources, install missing project packages, and execute project extensions.
292
+ On interactive startup, lunR asks before trusting a project folder that contains project-local settings, resources, or project `.agents/skills` and has no saved decision for the folder or a parent folder in `~/.lunr/agent/trust.json`. Trusting a project allows lunR to load `.lunr/settings.json` and `.lunr` resources, install missing project packages, and execute project extensions.
294
293
 
295
- Before the trust decision, pi loads only context files, user/global extensions, and CLI `-e` extensions so they can handle the `project_trust` event. Project-local extensions, project package-managed extensions, and project settings are loaded only after the project is trusted. This split also applies when switching to a session from a different cwd whose trust has not been resolved in the current process.
294
+ Before the trust decision, lunR loads only context files, user/global extensions, and CLI `-e` extensions so they can handle the `project_trust` event. Project-local extensions, project package-managed extensions, and project settings are loaded only after the project is trusted.
296
295
 
297
296
  Non-interactive modes (`-p`, `--mode json`, and `--mode rpc`) do not show a trust prompt. Without an applicable saved trust decision, they use `defaultProjectTrust` from global settings: `ask` (default) and `never` ignore those project resources, while `always` trusts them. Pass `--approve`/`-a` or `--no-approve`/`-na` to override project trust for one run.
298
297
 
299
- If no extension or saved decision applies, `defaultProjectTrust` controls the fallback behavior. Set it to `"ask"`, `"always"`, or `"never"` in `~/.pi/agent/settings.json`, or change it with `/settings`.
300
-
301
- `pi config` and package commands use the same project trust flow, except `pi update` never prompts. Pass `--approve` to trust project-local settings for one command or `--no-approve` to ignore them.
302
-
303
- Use `/trust` in interactive mode to save a project trust decision for future sessions, including trust for the immediate parent folder. It writes `~/.pi/agent/trust.json` only; the current session is not reloaded, so restart pi for changes to take effect.
298
+ `lunr config` and package commands use the same project trust flow. Pass `--approve` to trust project-local settings for one command or `--no-approve` to ignore them. `lunr update` never prompts (it only reinstalls the global CLI).
304
299
 
305
- ### Telemetry and update checks
300
+ Use `/trust` in interactive mode to save a project trust decision for future sessions. It writes `~/.lunr/agent/trust.json` only; the current session is not reloaded, so restart lunR for changes to take effect.
306
301
 
307
- Pi has two separate startup features:
302
+ ### Offline and updates
308
303
 
309
- - **Update check:** fetches `https://pi.dev/api/latest-version` to check whether a newer Pi version exists. Disable it with `PI_SKIP_VERSION_CHECK=1`. Disabling update checks only turns off this check.
310
- - **Install/update telemetry:** after first install or a changelog-detected update, sends an anonymous version ping to `https://pi.dev/api/report-install`. This setting also controls optional provider attribution headers for OpenRouter, Cloudflare, and direct NVIDIA NIM requests. Opt out by setting `enableInstallTelemetry` to `false` in `settings.json`, or by setting `PI_TELEMETRY=0`. This does not disable update checks; Pi may still contact `pi.dev` for the latest version unless update checks are disabled or offline mode is enabled.
304
+ Use `--offline` or `PI_OFFLINE=1` to skip startup network operations (npm update check, package update checks, live catalog probes). First interactive paint is already cache-only.
311
305
 
312
- Use `--offline` or `PI_OFFLINE=1` to disable all startup network operations described here, including update checks, package update checks, and install/update telemetry.
306
+ `lunr update` / `lunr update --self` reinstalls global `@ashx-j/lunr` from npm. It is not a catalog refresh and does not take `--models`, `--all`, or `--force`. Workspace `npx lunr` (this repo) refuses to self-update; install the published package to use `lunr update`.
313
307
 
314
308
  ---
315
309
 
316
310
  ## Context Files
317
311
 
318
- Pi loads `AGENTS.md` (or `CLAUDE.md`) at startup from:
319
- - `~/.pi/agent/AGENTS.md` (global)
312
+ lunR loads `AGENTS.md` (or `CLAUDE.md`) at startup from:
313
+ - `~/.lunr/agent/AGENTS.md` (global)
320
314
  - Parent directories (walking up from cwd)
321
315
  - Current directory
322
316
 
323
- Use for project instructions (`AGENTS.md`/`CLAUDE.md`), conventions, common commands. All matching files are concatenated.
317
+ Use `~/.lunr/agent/AGENTS.md` for optional global behavior and instructions; the model cannot change this user-managed file. Use project files for project conventions and commands. All matching files are concatenated. Run `/reload` after adding or editing one while lunR is open.
324
318
 
325
319
  Disable context file loading with `--no-context-files` (or `-nc`).
326
320
 
327
321
  ### System Prompt
328
322
 
329
- Replace the default system prompt with `.pi/SYSTEM.md` (project) or `~/.pi/agent/SYSTEM.md` (global). Append without replacing via `APPEND_SYSTEM.md`.
323
+ Replace the default system prompt with `.lunr/SYSTEM.md` (project) or `~/.lunr/agent/SYSTEM.md` (global). Append without replacing via `APPEND_SYSTEM.md`.
330
324
 
331
325
  ---
332
326
 
@@ -337,19 +331,19 @@ Replace the default system prompt with `.pi/SYSTEM.md` (project) or `~/.pi/agent
337
331
  Reusable prompts as Markdown files. Type `/name` to expand.
338
332
 
339
333
  ```markdown
340
- <!-- ~/.pi/agent/prompts/review.md -->
334
+ <!-- ~/.lunr/agent/prompts/review.md -->
341
335
  Review this code for bugs, security issues, and performance problems.
342
336
  Focus on: {{focus}}
343
337
  ```
344
338
 
345
- Place in `~/.pi/agent/prompts/`, `.pi/prompts/`, or a [pi package](#pi-packages) to share with others. See [docs/prompt-templates.md](docs/prompt-templates.md).
339
+ Place in `~/.lunr/agent/prompts/`, `.lunr/prompts/`, or a [package](#packages) to share with others. See [docs/prompt-templates.md](docs/prompt-templates.md).
346
340
 
347
341
  ### Skills
348
342
 
349
343
  On-demand capability packages following the [Agent Skills standard](https://agentskills.io). Invoke via `/skill:name` or let the agent load them automatically.
350
344
 
351
345
  ```markdown
352
- <!-- ~/.pi/agent/skills/my-skill/SKILL.md -->
346
+ <!-- ~/.lunr/agent/skills/my-skill/SKILL.md -->
353
347
  # My Skill
354
348
  Use this skill when the user asks about X.
355
349
 
@@ -358,15 +352,17 @@ Use this skill when the user asks about X.
358
352
  2. Then that
359
353
  ```
360
354
 
361
- Place in `~/.pi/agent/skills/`, `~/.agents/skills/`, `.pi/skills/`, or `.agents/skills/` (from `cwd` up through parent directories) or a [pi package](#pi-packages) to share with others. See [docs/skills.md](docs/skills.md).
355
+ Place in `~/.lunr/agent/skills/`, `~/.agents/skills/`, `.lunr/skills/`, or `.agents/skills/` (from `cwd` up through parent directories) or a [package](#packages) to share with others. See [docs/skills.md](docs/skills.md).
362
356
 
363
357
  ### Extensions
364
358
 
365
359
  <p align="center"><img src="docs/images/doom-extension.png" alt="Doom Extension" width="600"></p>
366
360
 
367
- TypeScript modules that extend pi with custom tools, commands, keyboard shortcuts, event handlers, and UI components.
361
+ TypeScript modules that extend lunR with custom tools, commands, keyboard shortcuts, event handlers, and UI components.
368
362
 
369
363
  ```typescript
364
+ import type { ExtensionAPI } from "@ashx-j/lunr";
365
+
370
366
  export default function (pi: ExtensionAPI) {
371
367
  pi.registerTool({ name: "deploy", ... });
372
368
  pi.registerCommand("stats", { ... });
@@ -374,67 +370,45 @@ export default function (pi: ExtensionAPI) {
374
370
  }
375
371
  ```
376
372
 
377
- The default export can also be `async`. pi waits for async extension factories before startup continues, which is useful for one-time initialization such as fetching remote model lists before calling `pi.registerProvider()`.
373
+ The factory argument is conventionally named `pi` (`export default function (pi: ExtensionAPI)`). Keep that. The jiti loader aliases both `@ashx-j/lunr` and `@earendil-works/pi-coding-agent` when loading extensions.
378
374
 
379
- **What's possible:**
380
- - Custom tools (or replace built-in tools entirely)
381
- - Sub-agents and plan mode
382
- - Custom compaction and summarization
383
- - Permission gates and path protection
384
- - Custom editors and UI components
385
- - Status lines, headers, footers
386
- - Git checkpointing and auto-commit
387
- - SSH and sandbox execution
388
- - MCP server integration
389
- - Make pi look like Claude Code
390
- - Games while waiting (yes, Doom runs)
391
- - ...anything you can dream up
375
+ The default export can also be `async`. lunR waits for async extension factories before startup continues.
392
376
 
393
- Place in `~/.pi/agent/extensions/`, `.pi/extensions/`, or a [pi package](#pi-packages) to share with others. See [docs/extensions.md](docs/extensions.md) and [examples/extensions/](examples/extensions/).
377
+ Place in `~/.lunr/agent/extensions/`, `.lunr/extensions/`, or a [package](#packages). See [docs/extensions.md](docs/extensions.md) and [examples/extensions/](examples/extensions/). Sample extensions such as `examples/extensions/plan-mode`, `todo.ts`, and `subagent/` are **Extension API samples**, not the product implementation. lunR ships plan mode, todos, and subagents as built-ins; see [docs/features.md](docs/features.md).
394
378
 
395
379
  ### Themes
396
380
 
397
- Built-in: `dark`, `light`. Themes hot-reload: modify the active theme file and pi immediately applies changes.
381
+ Built-in theme: **`moon` only** (`getDefaultTheme()` returns `"moon"`). Themes hot-reload: modify the active theme file and lunR immediately applies changes.
398
382
 
399
- Place in `~/.pi/agent/themes/`, `.pi/themes/`, or a [pi package](#pi-packages) to share with others. See [docs/themes.md](docs/themes.md).
383
+ Place custom themes in `~/.lunr/agent/themes/`, `.lunr/themes/`, or a [package](#packages). Schema: [theme-schema.json](https://github.com/ashx-j/lunR/blob/master/packages/coding-agent/src/modes/interactive/theme/theme-schema.json) (also packed as `dist/modes/interactive/theme/theme-schema.json`). See [docs/themes.md](docs/themes.md).
400
384
 
401
- ### Pi Packages
385
+ ### Packages
402
386
 
403
- Bundle and share extensions, skills, prompts, and themes via npm or git. Find packages on [npmjs.com](https://www.npmjs.com/search?q=keywords%3Api-package) or [Discord](https://discord.com/channels/1456806362351669492/1457744485428629628).
387
+ Bundle and share extensions, skills, prompts, and themes via npm or git. The package resource manifest key in `package.json` is still `"pi"` (`extensions`, `skills`, `prompts`, `themes`). Keep that key.
404
388
 
405
- > **Security:** Pi packages run with full system access. Extensions execute arbitrary code, and skills can instruct the model to perform any action including running executables. Review source code before installing third-party packages.
389
+ > **Security:** Packages run with full system access. Extensions execute arbitrary code, and skills can instruct the model to perform any action including running executables. Review source code before installing third-party packages.
406
390
 
407
391
  ```bash
408
- pi install npm:@foo/pi-tools
409
- pi install npm:@foo/pi-tools@1.2.3 # pinned version
410
- pi install git:github.com/user/repo
411
- pi install git:github.com/user/repo@v1 # tag or commit
412
- pi install git:git@github.com:user/repo
413
- pi install git:git@github.com:user/repo@v1 # tag or commit
414
- pi install https://github.com/user/repo
415
- pi install https://github.com/user/repo@v1 # tag or commit
416
- pi install ssh://git@github.com/user/repo
417
- pi install ssh://git@github.com/user/repo@v1 # tag or commit
418
- pi remove npm:@foo/pi-tools
419
- pi uninstall npm:@foo/pi-tools # alias for remove
420
- pi list
421
- pi update # update pi only
422
- pi update --all # update pi and packages
423
- pi update --extensions # update packages only
424
- pi update --models # refresh model catalogs only
425
- pi update --self # update pi only
426
- pi update --self --force # reinstall pi even if current
427
- pi update npm:@foo/pi-tools # update one package
428
- pi config # enable/disable extensions, skills, prompts, themes
392
+ lunr install npm:@foo/lunr-tools
393
+ lunr install npm:@foo/lunr-tools@1.2.3 # pinned version
394
+ lunr install git:github.com/user/repo
395
+ lunr install git:github.com/user/repo@v1 # tag or commit
396
+ lunr remove npm:@foo/lunr-tools
397
+ lunr uninstall npm:@foo/lunr-tools # alias for remove (requires a source)
398
+ lunr list
399
+ lunr config # enable/disable extensions, skills, prompts, themes
400
+ lunr update # reinstall global @ashx-j/lunr only
429
401
  ```
430
402
 
431
- Packages install to `~/.pi/agent/git/` (git) or `~/.pi/agent/npm/` (npm). Use `-l` for project-local installs (`.pi/git/`, `.pi/npm/`). Git `@ref` values are pinned tags or commits; pinned packages are skipped by `pi update --extensions` and `pi update --all`, so use `pi install git:host/user/repo@new-ref` to move an existing package to a new ref. Git packages install dependencies with `npm install --omit=dev` by default, so runtime deps must be listed under `dependencies`; when `npmCommand` is configured, git packages use plain `install` for compatibility with wrappers. If you use a Node version manager and want package installs to reuse a stable npm context, set `npmCommand` in `settings.json`, for example `["mise", "exec", "node@20", "--", "npm"]`.
403
+ `lunr update` does **not** refresh model catalogs or extension packages. Use `/refresh` for catalogs and `lunr install <source>` to move a git package to a new ref.
404
+
405
+ Packages install to `~/.lunr/agent/git/` (git) or `~/.lunr/agent/npm/` (npm). Use `-l` for project-local installs (`.lunr/git/`, `.lunr/npm/`). Git `@ref` values are pinned tags or commits. Git packages install dependencies with `npm install --omit=dev` by default, so runtime deps must be listed under `dependencies`; when `npmCommand` is configured, git packages use plain `install` for compatibility with wrappers.
432
406
 
433
407
  Create a package by adding a `pi` key to `package.json`:
434
408
 
435
409
  ```json
436
410
  {
437
- "name": "my-pi-package",
411
+ "name": "my-lunr-package",
438
412
  "keywords": ["pi-package"],
439
413
  "pi": {
440
414
  "extensions": ["./extensions"],
@@ -445,7 +419,7 @@ Create a package by adding a `pi` key to `package.json`:
445
419
  }
446
420
  ```
447
421
 
448
- Without a `pi` manifest, pi auto-discovers from conventional directories (`extensions/`, `skills/`, `prompts/`, `themes/`).
422
+ Without a `pi` manifest, lunR auto-discovers from conventional directories (`extensions/`, `skills/`, `prompts/`, `themes/`).
449
423
 
450
424
  See [docs/packages.md](docs/packages.md).
451
425
 
@@ -456,7 +430,7 @@ See [docs/packages.md](docs/packages.md).
456
430
  ### SDK
457
431
 
458
432
  ```typescript
459
- import { createAgentSession, ModelRuntime, SessionManager } from "@earendil-works/pi-coding-agent";
433
+ import { createAgentSession, ModelRuntime, SessionManager } from "@ashx-j/lunr";
460
434
 
461
435
  const modelRuntime = await ModelRuntime.create();
462
436
  const { session } = await createAgentSession({
@@ -467,7 +441,7 @@ const { session } = await createAgentSession({
467
441
  await session.prompt("What files are in the current directory?");
468
442
  ```
469
443
 
470
- For advanced multi-session runtime replacement, use `createAgentSessionRuntime()` and `AgentSessionRuntime`.
444
+ Default `agentDir` is `~/.lunr/agent`. For advanced multi-session runtime replacement, use `createAgentSessionRuntime()` and `AgentSessionRuntime`.
471
445
 
472
446
  See [docs/sdk.md](docs/sdk.md) and [examples/sdk/](examples/sdk/).
473
447
 
@@ -476,7 +450,7 @@ See [docs/sdk.md](docs/sdk.md) and [examples/sdk/](examples/sdk/).
476
450
  For non-Node.js integrations, use RPC mode over stdin/stdout:
477
451
 
478
452
  ```bash
479
- pi --mode rpc
453
+ lunr --mode rpc
480
454
  ```
481
455
 
482
456
  RPC mode uses strict LF-delimited JSONL framing. Clients must split records on `\n` only. Do not use generic line readers like Node `readline`, which also split on Unicode separators inside JSON payloads.
@@ -487,48 +461,47 @@ See [docs/rpc.md](docs/rpc.md) for the protocol.
487
461
 
488
462
  ## Philosophy
489
463
 
490
- Pi is aggressively extensible so it doesn't have to dictate your workflow. Features that other tools bake in can be built with [extensions](#extensions), [skills](#skills), or installed from third-party [pi packages](#pi-packages). This keeps the core minimal while letting you shape pi to fit how you work.
491
-
492
- **No MCP.** Build CLI tools with READMEs (see [Skills](#skills)), or build an extension that adds MCP support. [Why?](https://mariozechner.at/posts/2025-11-02-what-if-you-dont-need-mcp/)
464
+ lunR keeps a small core and still lets you shape the product with [extensions](#extensions), [skills](#skills), and [packages](#packages). Unlike upstream pi, lunR **does** ship the workflows most coding agents expect:
493
465
 
494
- **No sub-agents.** There's many ways to do this. Spawn pi instances via tmux, or build your own with [extensions](#extensions), or install a package that does it your way.
466
+ - **MCP** `/mcp`, `/mcp-auth`
467
+ - **Subagents** — always fresh; `/swarm`; 3+ parallel in one turn is a swarm (gated in manual **and** yolo); default parallel concurrency is unlimited
468
+ - **Permission modes** — `manual | yolo | plan | auto`; Shift+Tab cycles that order
469
+ - **Plan mode** — `/plan` plus the `present_plan` tool
470
+ - **Todos** — lunr-todos (full-replace)
471
+ - **Background processes** — `/processes`
472
+ - **Cron** — `/cron`, `~/.lunr/agent/cron/` (TUI live session or gateway origin)
473
+ - **Gateway** — `lunr gateway` for Telegram and Discord
474
+ - **Web search, LSP, agent memory, goals, intercom, skill-creator, model tiers**
495
475
 
496
- **No permission popups.** Run in a container, or build your own confirmation flow with [extensions](#extensions) inline with your environment and security requirements.
497
-
498
- **No plan mode.** Write plans to files, or build it with [extensions](#extensions), or install a package.
499
-
500
- **No built-in to-dos.** They confuse models. Use a TODO.md file, or build your own with [extensions](#extensions).
501
-
502
- **No background bash.** Use tmux. Full observability, direct interaction.
503
-
504
- Read the [blog post](https://mariozechner.at/posts/2025-11-30-pi-coding-agent/) for the full rationale.
476
+ See [docs/features.md](docs/features.md) for how those work. Build anything else with extensions.
505
477
 
506
478
  ---
507
479
 
508
480
  ## CLI Reference
509
481
 
510
482
  ```bash
511
- pi [options] [@files...] [messages...]
483
+ lunr [options] [@files...] [messages...]
512
484
  ```
513
485
 
514
- ### Package Commands
486
+ ### Product Commands
515
487
 
516
488
  ```bash
517
- pi install <source> [-l] # Install package, -l for project-local
518
- pi remove <source> [-l] # Remove package
519
- pi uninstall <source> [-l] # Alias for remove
520
- pi update [source|self|pi] # Update pi only, or one package source
521
- pi update --all # Update pi and packages
522
- pi update --extensions # Update packages only
523
- pi update --models # Refresh model catalogs only
524
- pi update --self # Update pi only
525
- pi update --self --force # Reinstall pi even if current
526
- pi update --extension <src> # Update one package
527
- pi list # List installed packages
528
- pi config # Enable/disable package resources
489
+ lunr setup # First-run / reconfigure optional features
490
+ lunr features [list|enable|disable]
491
+ lunr gateway [] # Chat gateway daemon (requires chat-platforms feature)
492
+ lunr uninstall [--purge] # Remove this lunR install (keeps ~/.lunr/agent unless --purge)
493
+ lunr uninstall <source> [-l] # Remove an extension package (alias for remove)
494
+ lunr install <source> [-l] # Install package, -l for project-local
495
+ lunr remove <source> [-l] # Remove package
496
+ lunr list # List installed packages
497
+ lunr config # Enable/disable package resources
498
+ lunr update # Reinstall global @ashx-j/lunr only
499
+ lunr update --self # Same as lunr update
529
500
  ```
530
501
 
531
- `pi config` and project package commands accept `--approve`/`--no-approve` to trust or ignore project-local settings for one command. `pi update` never prompts for project trust.
502
+ `lunr update` does not take `--models`, `--all`, `--force`, or `--extensions`. Refresh catalogs with `/refresh`.
503
+
504
+ `lunr config` and project package commands accept `--approve`/`--no-approve` to trust or ignore project-local settings for one command.
532
505
 
533
506
  ### Modes
534
507
 
@@ -540,10 +513,10 @@ pi config # Enable/disable package resources
540
513
  | `--mode rpc` | RPC mode for process integration (see [docs/rpc.md](docs/rpc.md)) |
541
514
  | `--export <in> [out]` | Export session to HTML |
542
515
 
543
- In print mode, pi also reads piped stdin and merges it into the initial prompt:
516
+ In print mode, lunR also reads piped stdin and merges it into the initial prompt:
544
517
 
545
518
  ```bash
546
- cat README.md | pi -p "Summarize this text"
519
+ cat README.md | lunr -p "Summarize this text"
547
520
  ```
548
521
 
549
522
  ### Model Options
@@ -564,6 +537,7 @@ cat README.md | pi -p "Summarize this text"
564
537
  | `-c`, `--continue` | Continue most recent session |
565
538
  | `-r`, `--resume` | Browse and select session |
566
539
  | `--session <path\|id>` | Use specific session file or partial UUID |
540
+ | `--session-id <id>` | Use exact project session ID, creating it if missing |
567
541
  | `--fork <path\|id>` | Fork specific session file or partial UUID into a new session |
568
542
  | `--session-dir <dir>` | Custom session storage directory |
569
543
  | `--no-session` | Ephemeral mode (don't save) |
@@ -605,6 +579,7 @@ Combine `--no-*` with explicit flags to load exactly what you need, ignoring set
605
579
  | `--verbose` | Force verbose startup |
606
580
  | `-a`, `--approve` | Trust project-local files for this run |
607
581
  | `-na`, `--no-approve` | Ignore project-local files for this run |
582
+ | `--offline` | Disable startup network operations (same as `PI_OFFLINE=1`) |
608
583
  | `-h`, `--help` | Show help |
609
584
  | `-v`, `--version` | Show version |
610
585
 
@@ -613,66 +588,72 @@ Combine `--no-*` with explicit flags to load exactly what you need, ignoring set
613
588
  Prefix files with `@` to include in the message:
614
589
 
615
590
  ```bash
616
- pi @prompt.md "Answer this"
617
- pi -p @screenshot.png "What's in this image?"
618
- pi @code.ts @test.ts "Review these files"
591
+ lunr @prompt.md "Answer this"
592
+ lunr -p @screenshot.png "What's in this image?"
593
+ lunr @code.ts @test.ts "Review these files"
619
594
  ```
620
595
 
621
596
  ### Examples
622
597
 
623
598
  ```bash
624
599
  # Interactive with initial prompt
625
- pi "List all .ts files in src/"
600
+ lunr "List all .ts files in src/"
626
601
 
627
602
  # Non-interactive
628
- pi -p "Summarize this codebase"
603
+ lunr -p "Summarize this codebase"
629
604
 
630
605
  # Non-interactive with piped stdin
631
- cat README.md | pi -p "Summarize this text"
606
+ cat README.md | lunr -p "Summarize this text"
632
607
 
633
608
  # Named one-shot session
634
- pi --name "release audit" -p "Audit this repository"
609
+ lunr --name "release audit" -p "Audit this repository"
635
610
 
636
611
  # Different model
637
- pi --provider openai --model gpt-4o "Help me refactor"
612
+ lunr --provider openai --model gpt-4o "Help me refactor"
638
613
 
639
614
  # Model with provider prefix (no --provider needed)
640
- pi --model openai/gpt-4o "Help me refactor"
615
+ lunr --model openai/gpt-4o "Help me refactor"
641
616
 
642
617
  # Model with thinking level shorthand
643
- pi --model sonnet:high "Solve this complex problem"
618
+ lunr --model sonnet:high "Solve this complex problem"
644
619
 
645
620
  # Limit model cycling
646
- pi --models "claude-*,gpt-4o"
621
+ lunr --models "claude-*,gpt-4o"
647
622
 
648
623
  # Read-only mode
649
- pi --tools read,grep,find,ls -p "Review the code"
624
+ lunr --tools read,grep,find,ls -p "Review the code"
650
625
 
651
626
  # Disable one extension or built-in tool while keeping the rest available
652
- pi --exclude-tools ask_question
627
+ lunr --exclude-tools ask_question
653
628
 
654
629
  # High thinking level
655
- pi --thinking high "Solve this complex problem"
630
+ lunr --thinking high "Solve this complex problem"
631
+
632
+ # Offline (no startup network)
633
+ lunr --offline
656
634
  ```
657
635
 
658
636
  ### Environment Variables
659
637
 
638
+ These names stay `PI_*`. Do not invent `LUNR_*` replacements for them.
639
+
660
640
  | Variable | Description |
661
641
  |----------|-------------|
662
- | `PI_CODING_AGENT_DIR` | Override config directory (default: `~/.pi/agent`) |
642
+ | `PI_CODING_AGENT_DIR` | Override config directory (default: `~/.lunr/agent`) |
663
643
  | `PI_CODING_AGENT_SESSION_DIR` | Override session storage directory (overridden by `--session-dir`) |
664
644
  | `PI_PACKAGE_DIR` | Override package directory (useful for Nix/Guix where store paths tokenize poorly) |
665
- | `PI_OFFLINE` | Disable startup network operations, including update checks, package update checks, and install/update telemetry |
666
- | `PI_SKIP_VERSION_CHECK` | Skip the Pi version update check at startup. This prevents the `pi.dev` latest-version request |
667
- | `PI_TELEMETRY` | Override install/update telemetry and provider attribution headers. Use `1`/`true`/`yes` to enable or `0`/`false`/`no` to disable. This does not disable update checks |
645
+ | `PI_OFFLINE` | Disable startup network operations when set to `1`/`true`/`yes` |
646
+ | `PI_SHARE_VIEWER_URL` | Base URL for `/share` HTML viewer (default: `https://pi.dev/session/` leftover) |
668
647
  | `PI_CACHE_RETENTION` | Set to `long` for extended prompt cache (Anthropic: 1h, OpenAI: 24h) |
669
648
  | `VISUAL`, `EDITOR` | Fallback external editor for Ctrl+G when `externalEditor` is unset; defaults to Notepad on Windows and `nano` elsewhere |
670
649
 
650
+ Gateway bot tokens (optional) use `LUNR_TELEGRAM_BOT_TOKEN` / `LUNR_DISCORD_BOT_TOKEN` (or `TELEGRAM_BOT_TOKEN` / `DISCORD_BOT_TOKEN`) and are stored in `~/.lunr/agent/gateway.json`.
651
+
671
652
  ---
672
653
 
673
- ## Contributing & Development
654
+ ## Development
674
655
 
675
- See [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines and [docs/development.md](docs/development.md) for setup, forking, and debugging.
656
+ See [docs/development.md](docs/development.md) for setup, forking, and debugging. Source: [github.com/ashx-j/lunR](https://github.com/ashx-j/lunR).
676
657
 
677
658
  ## License
678
659
 
@@ -680,12 +661,6 @@ MIT
680
661
 
681
662
  ## See Also
682
663
 
683
- - [@earendil-works/pi-ai](https://www.npmjs.com/package/@earendil-works/pi-ai): Core LLM toolkit
684
- - [@earendil-works/pi-agent-core](https://www.npmjs.com/package/@earendil-works/pi-agent-core): Agent framework
685
- - [@earendil-works/pi-tui](https://www.npmjs.com/package/@earendil-works/pi-tui): Terminal UI components
686
-
687
- <p align="center">
688
- <a href="https://pi.dev">pi.dev</a> domain graciously donated by
689
- <br /><br />
690
- <a href="https://exe.dev"><img src="docs/images/exy.png" alt="Exy mascot" width="48" /><br />exe.dev</a>
691
- </p>
664
+ - [@ashx-j/lunr-ai](https://www.npmjs.com/package/@ashx-j/lunr-ai): Core LLM toolkit
665
+ - [@ashx-j/lunr-agent](https://www.npmjs.com/package/@ashx-j/lunr-agent): Agent framework
666
+ - [@ashx-j/lunr-tui](https://www.npmjs.com/package/@ashx-j/lunr-tui): Terminal UI components