@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.
- package/CHANGELOG.md +13 -0
- package/README.md +211 -236
- package/dist/builtin-extensions/ashxj-tui.d.ts +3 -0
- package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -1
- package/dist/builtin-extensions/ashxj-tui.js +28 -11
- package/dist/builtin-extensions/ashxj-tui.js.map +1 -1
- package/dist/builtin-extensions/index.d.ts.map +1 -1
- package/dist/builtin-extensions/index.js +0 -2
- package/dist/builtin-extensions/index.js.map +1 -1
- package/dist/builtin-extensions/lunr-cron.d.ts +1 -1
- package/dist/builtin-extensions/lunr-cron.d.ts.map +1 -1
- package/dist/builtin-extensions/lunr-cron.js +1 -1
- package/dist/builtin-extensions/lunr-cron.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.js +3 -3
- package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/doctor.d.ts +0 -2
- package/dist/builtin-extensions/pi-subagents/src/extension/doctor.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/doctor.js +1 -23
- package/dist/builtin-extensions/pi-subagents/src/extension/doctor.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js +6 -7
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js +7 -14
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts +12 -9
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js +38 -34
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts +3 -3
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js +32 -47
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts +2 -2
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts +7 -10
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js +90 -109
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts +3 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js +37 -50
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.d.ts +4 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.js +5 -5
- package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js +31 -13
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts +2 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts +4 -3
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js +48 -20
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts +2 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js +90 -64
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts +6 -8
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +262 -161
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.d.ts +2 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.js +24 -33
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.d.ts +25 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.js +51 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.js +20 -3
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts +4 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts +5 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js +9 -3
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js +2 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts +2 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js +20 -17
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts +70 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js +153 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/settings.d.ts +13 -8
- package/dist/builtin-extensions/pi-subagents/src/shared/settings.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/settings.js +20 -51
- package/dist/builtin-extensions/pi-subagents/src/shared/settings.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts +80 -20
- package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/types.js +10 -2
- package/dist/builtin-extensions/pi-subagents/src/shared/types.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts +2 -2
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js +20 -32
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts +2 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js +23 -449
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts +2 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js +13 -11
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.d.ts +2 -1
- package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.js +18 -17
- package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.js.map +1 -1
- package/dist/builtin-extensions/simple-pi-memory.d.ts +2 -2
- package/dist/builtin-extensions/simple-pi-memory.d.ts.map +1 -1
- package/dist/builtin-extensions/simple-pi-memory.js +41 -17
- package/dist/builtin-extensions/simple-pi-memory.js.map +1 -1
- package/dist/catalog/models.json +1 -1
- package/dist/catalog/providers/amazon-bedrock.json +1 -1
- package/dist/catalog/providers/azure-openai-responses.json +1 -1
- package/dist/catalog/providers/cloudflare-ai-gateway.json +1 -1
- package/dist/catalog/providers/cloudflare-workers-ai.json +1 -1
- package/dist/catalog/providers/fireworks.json +1 -1
- package/dist/catalog/providers/github-copilot.json +1 -1
- package/dist/catalog/providers/huggingface.json +1 -1
- package/dist/catalog/providers/minimax-cn.json +1 -1
- package/dist/catalog/providers/minimax.json +1 -1
- package/dist/catalog/providers/mistral.json +1 -1
- package/dist/catalog/providers/nvidia.json +1 -1
- package/dist/catalog/providers/openai.json +1 -1
- package/dist/catalog/providers/opencode-go.json +1 -1
- package/dist/catalog/providers/opencode.json +1 -1
- package/dist/catalog/providers/openrouter.json +1 -1
- package/dist/catalog/providers/qwen-cloud-cn.json +1 -1
- package/dist/catalog/providers/qwen-cloud.json +1 -1
- package/dist/catalog/providers/qwen-token-plan-cn.json +1 -1
- package/dist/catalog/providers/qwen-token-plan.json +1 -1
- package/dist/catalog/providers/together.json +1 -1
- package/dist/catalog/providers/vercel-ai-gateway.json +1 -1
- package/dist/catalog/providers/zai-coding-cn.json +1 -1
- package/dist/catalog/providers/zai.json +1 -1
- package/dist/catalog/publication.json +3 -3
- package/dist/core/agent-session.d.ts +7 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +34 -4
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/context-breakdown.d.ts +3 -1
- package/dist/core/context-breakdown.d.ts.map +1 -1
- package/dist/core/context-breakdown.js +5 -2
- package/dist/core/context-breakdown.js.map +1 -1
- package/dist/core/customize.d.ts +2 -0
- package/dist/core/customize.d.ts.map +1 -1
- package/dist/core/customize.js +6 -0
- package/dist/core/customize.js.map +1 -1
- package/dist/core/memory-cap.d.ts +4 -8
- package/dist/core/memory-cap.d.ts.map +1 -1
- package/dist/core/memory-cap.js +8 -8
- package/dist/core/memory-cap.js.map +1 -1
- package/dist/core/permissions.d.ts +2 -0
- package/dist/core/permissions.d.ts.map +1 -1
- package/dist/core/permissions.js +30 -14
- package/dist/core/permissions.js.map +1 -1
- package/dist/core/plan-mode.d.ts.map +1 -1
- package/dist/core/plan-mode.js +1 -9
- package/dist/core/plan-mode.js.map +1 -1
- package/dist/core/rollback.d.ts.map +1 -1
- package/dist/core/rollback.js +1 -1
- package/dist/core/rollback.js.map +1 -1
- package/dist/core/settings-manager.d.ts +16 -5
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +37 -10
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +1 -5
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/subagent-permission-inherit.d.ts +34 -22
- package/dist/core/subagent-permission-inherit.d.ts.map +1 -1
- package/dist/core/subagent-permission-inherit.js +37 -80
- package/dist/core/subagent-permission-inherit.js.map +1 -1
- package/dist/core/swarm.d.ts.map +1 -1
- package/dist/core/swarm.js +13 -7
- package/dist/core/swarm.js.map +1 -1
- package/dist/core/system-prompt.d.ts +6 -4
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +38 -48
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/usage-adapters/openai-codex.d.ts +1 -1
- package/dist/core/usage-adapters/openai-codex.d.ts.map +1 -1
- package/dist/core/usage-adapters/openai-codex.js +22 -17
- package/dist/core/usage-adapters/openai-codex.js.map +1 -1
- package/dist/core/usage-service.d.ts +10 -1
- package/dist/core/usage-service.d.ts.map +1 -1
- package/dist/core/usage-service.js +17 -6
- package/dist/core/usage-service.js.map +1 -1
- package/dist/gateway/agent-bridge.d.ts.map +1 -1
- package/dist/gateway/agent-bridge.js +1 -4
- package/dist/gateway/agent-bridge.js.map +1 -1
- package/dist/gateway/cron.d.ts.map +1 -1
- package/dist/gateway/cron.js +1 -4
- package/dist/gateway/cron.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +0 -5
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts +2 -0
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +21 -0
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +7 -4
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +122 -162
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/usage-view.d.ts +1 -1
- package/dist/modes/interactive/components/usage-view.d.ts.map +1 -1
- package/dist/modes/interactive/components/usage-view.js +7 -4
- package/dist/modes/interactive/components/usage-view.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1 -2
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +55 -96
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/skill-tag-autocomplete.d.ts +13 -0
- package/dist/modes/interactive/skill-tag-autocomplete.d.ts.map +1 -0
- package/dist/modes/interactive/skill-tag-autocomplete.js +72 -0
- package/dist/modes/interactive/skill-tag-autocomplete.js.map +1 -0
- package/docs/compaction.md +23 -23
- package/docs/containerization.md +24 -24
- package/docs/custom-provider.md +18 -18
- package/docs/development.md +16 -15
- package/docs/docs.json +6 -2
- package/docs/extensions.md +82 -80
- package/docs/features.md +102 -0
- package/docs/index.md +25 -19
- package/docs/json.md +7 -7
- package/docs/keybindings.md +4 -4
- package/docs/models.md +2 -2
- package/docs/packages.md +38 -42
- package/docs/prompt-templates.md +4 -4
- package/docs/providers.md +22 -10
- package/docs/quickstart.md +81 -46
- package/docs/rpc.md +7 -13
- package/docs/sdk.md +43 -41
- package/docs/security.md +18 -18
- package/docs/session-format.md +9 -9
- package/docs/sessions.md +13 -12
- package/docs/settings.md +63 -24
- package/docs/shell-aliases.md +2 -2
- package/docs/skills.md +21 -11
- package/docs/terminal-setup.md +5 -5
- package/docs/termux.md +7 -7
- package/docs/themes.md +12 -14
- package/docs/tmux.md +4 -4
- package/docs/tui.md +23 -23
- package/docs/usage.md +112 -87
- package/docs/windows.md +10 -2
- package/examples/README.md +3 -1
- package/examples/extensions/README.md +6 -6
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/doom-overlay/README.md +2 -2
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/plan-mode/README.md +3 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/subagent/README.md +13 -11
- package/examples/extensions/todo.ts +2 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/sdk/README.md +9 -5
- package/package.json +6 -7
- package/dist/builtin-extensions/lunr-behavior.d.ts +0 -44
- package/dist/builtin-extensions/lunr-behavior.d.ts.map +0 -1
- package/dist/builtin-extensions/lunr-behavior.js +0 -213
- package/dist/builtin-extensions/lunr-behavior.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/agents/context-builder.md +0 -46
- package/dist/builtin-extensions/pi-subagents/agents/deep-researcher.md +0 -36
- package/dist/builtin-extensions/pi-subagents/agents/delegate.md +0 -12
- package/dist/builtin-extensions/pi-subagents/agents/oracle.md +0 -73
- package/dist/builtin-extensions/pi-subagents/agents/planner.md +0 -55
- package/dist/builtin-extensions/pi-subagents/agents/research-writer.md +0 -37
- package/dist/builtin-extensions/pi-subagents/agents/researcher.md +0 -52
- package/dist/builtin-extensions/pi-subagents/agents/reviewer.md +0 -79
- package/dist/builtin-extensions/pi-subagents/agents/scout.md +0 -50
- package/dist/builtin-extensions/pi-subagents/agents/worker.md +0 -55
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.d.ts +0 -20
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.js +0 -1273
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.d.ts +0 -49
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.js +0 -252
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.d.ts +0 -3
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.js +0 -6
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.d.ts +0 -3
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.js +0 -23
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.d.ts +0 -8
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.js +0 -143
- package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agents.d.ts +0 -176
- package/dist/builtin-extensions/pi-subagents/src/agents/agents.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/agents.js +0 -1326
- package/dist/builtin-extensions/pi-subagents/src/agents/agents.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.d.ts +0 -7
- package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.js +0 -307
- package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/identity.d.ts +0 -8
- package/dist/builtin-extensions/pi-subagents/src/agents/identity.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/identity.js +0 -30
- package/dist/builtin-extensions/pi-subagents/src/agents/identity.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.d.ts +0 -35
- package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.js +0 -151
- package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.js.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.d.ts +0 -131
- package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.d.ts.map +0 -1
- package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.js +0 -491
- package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.js.map +0 -1
- package/dist/core/behavior-preset.d.ts +0 -60
- package/dist/core/behavior-preset.d.ts.map +0 -1
- package/dist/core/behavior-preset.js +0 -257
- package/dist/core/behavior-preset.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,38 +1,15 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
</a>
|
|
2
|
+
<strong>lunR</strong><br />
|
|
3
|
+
a terminal coding agent
|
|
5
4
|
</p>
|
|
6
5
|
<p align="center">
|
|
7
|
-
<a href="https://
|
|
8
|
-
<a href="https://
|
|
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
|
-
|
|
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
|
-
- [
|
|
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
|
|
45
|
+
npm i -g @ashx-j/lunr
|
|
67
46
|
```
|
|
68
47
|
|
|
69
|
-
`--ignore-scripts`
|
|
48
|
+
`--ignore-scripts` is optional; lunR does not require install scripts for a normal npm install.
|
|
70
49
|
|
|
71
|
-
|
|
50
|
+
Then run it in a project directory:
|
|
72
51
|
|
|
73
52
|
```bash
|
|
74
|
-
|
|
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
|
-
|
|
61
|
+
lunr
|
|
82
62
|
```
|
|
83
63
|
|
|
84
|
-
Or use
|
|
64
|
+
Or use a subscription / stored credential:
|
|
85
65
|
|
|
86
66
|
```bash
|
|
87
|
-
|
|
67
|
+
lunr
|
|
88
68
|
/login # Then select provider
|
|
89
69
|
```
|
|
90
70
|
|
|
91
|
-
|
|
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
|
-
|
|
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
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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,
|
|
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
|
|
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
|
|
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`, `/
|
|
177
|
-
| `/
|
|
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` |
|
|
180
|
-
| `/
|
|
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
|
|
183
|
-
| `/session` | Show session info
|
|
184
|
-
| `/tree` | Jump to any point in the session
|
|
185
|
-
| `/
|
|
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
|
|
188
|
-
| `/compact [prompt]` | Manually compact context
|
|
189
|
-
| `/copy` | Copy last assistant message
|
|
190
|
-
| `/export [file]` | Export session to HTML or JSONL
|
|
191
|
-
| `/import <file>` | Import and resume a
|
|
192
|
-
| `/share` | Upload as private GitHub gist
|
|
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
|
-
| `/
|
|
196
|
-
| `/quit` | Quit
|
|
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 `~/.
|
|
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
|
|
213
|
-
| Ctrl+O |
|
|
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
|
|
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 `~/.
|
|
236
|
+
Sessions auto-save to `~/.lunr/agent/sessions/` organized by working directory.
|
|
239
237
|
|
|
240
238
|
```bash
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
| `~/.
|
|
287
|
-
| `.
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
302
|
+
### Offline and updates
|
|
308
303
|
|
|
309
|
-
|
|
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
|
-
|
|
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
|
-
|
|
319
|
-
- `~/.
|
|
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
|
|
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 `.
|
|
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
|
-
<!-- ~/.
|
|
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 `~/.
|
|
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
|
-
<!-- ~/.
|
|
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 `~/.
|
|
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
|
|
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
|
|
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
|
-
|
|
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 `~/.
|
|
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: `
|
|
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 `~/.
|
|
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
|
-
###
|
|
385
|
+
### Packages
|
|
402
386
|
|
|
403
|
-
Bundle and share extensions, skills, prompts, and themes via npm or git.
|
|
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:**
|
|
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
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
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
|
-
|
|
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-
|
|
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,
|
|
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 "@
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
483
|
+
lunr [options] [@files...] [messages...]
|
|
512
484
|
```
|
|
513
485
|
|
|
514
|
-
###
|
|
486
|
+
### Product Commands
|
|
515
487
|
|
|
516
488
|
```bash
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
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
|
-
`
|
|
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,
|
|
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 |
|
|
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
|
-
|
|
617
|
-
|
|
618
|
-
|
|
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
|
-
|
|
600
|
+
lunr "List all .ts files in src/"
|
|
626
601
|
|
|
627
602
|
# Non-interactive
|
|
628
|
-
|
|
603
|
+
lunr -p "Summarize this codebase"
|
|
629
604
|
|
|
630
605
|
# Non-interactive with piped stdin
|
|
631
|
-
cat README.md |
|
|
606
|
+
cat README.md | lunr -p "Summarize this text"
|
|
632
607
|
|
|
633
608
|
# Named one-shot session
|
|
634
|
-
|
|
609
|
+
lunr --name "release audit" -p "Audit this repository"
|
|
635
610
|
|
|
636
611
|
# Different model
|
|
637
|
-
|
|
612
|
+
lunr --provider openai --model gpt-4o "Help me refactor"
|
|
638
613
|
|
|
639
614
|
# Model with provider prefix (no --provider needed)
|
|
640
|
-
|
|
615
|
+
lunr --model openai/gpt-4o "Help me refactor"
|
|
641
616
|
|
|
642
617
|
# Model with thinking level shorthand
|
|
643
|
-
|
|
618
|
+
lunr --model sonnet:high "Solve this complex problem"
|
|
644
619
|
|
|
645
620
|
# Limit model cycling
|
|
646
|
-
|
|
621
|
+
lunr --models "claude-*,gpt-4o"
|
|
647
622
|
|
|
648
623
|
# Read-only mode
|
|
649
|
-
|
|
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
|
-
|
|
627
|
+
lunr --exclude-tools ask_question
|
|
653
628
|
|
|
654
629
|
# High thinking level
|
|
655
|
-
|
|
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: `~/.
|
|
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
|
|
666
|
-
| `
|
|
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
|
-
##
|
|
654
|
+
## Development
|
|
674
655
|
|
|
675
|
-
See [
|
|
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
|
-
- [@
|
|
684
|
-
- [@
|
|
685
|
-
- [@
|
|
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
|