@dreb/coding-agent 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3316 -0
- package/README.md +657 -0
- package/agents/code-reviewer.md +55 -0
- package/agents/completeness-checker.md +71 -0
- package/agents/error-auditor.md +65 -0
- package/agents/explore.md +13 -0
- package/agents/feature-dev.md +23 -0
- package/agents/independent-assessor.md +61 -0
- package/agents/sandbox.md +14 -0
- package/agents/simplifier.md +69 -0
- package/agents/test-reviewer.md +63 -0
- package/dist/bun/cli.d.ts +3 -0
- package/dist/bun/cli.d.ts.map +1 -0
- package/dist/bun/cli.js +7 -0
- package/dist/bun/cli.js.map +1 -0
- package/dist/bun/register-bedrock.d.ts +2 -0
- package/dist/bun/register-bedrock.d.ts.map +1 -0
- package/dist/bun/register-bedrock.js +4 -0
- package/dist/bun/register-bedrock.js.map +1 -0
- package/dist/cli/args.d.ts +50 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +310 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/config-selector.d.ts +14 -0
- package/dist/cli/config-selector.d.ts.map +1 -0
- package/dist/cli/config-selector.js +31 -0
- package/dist/cli/config-selector.js.map +1 -0
- package/dist/cli/file-processor.d.ts +15 -0
- package/dist/cli/file-processor.d.ts.map +1 -0
- package/dist/cli/file-processor.js +83 -0
- package/dist/cli/file-processor.js.map +1 -0
- package/dist/cli/initial-message.d.ts +18 -0
- package/dist/cli/initial-message.d.ts.map +1 -0
- package/dist/cli/initial-message.js +22 -0
- package/dist/cli/initial-message.js.map +1 -0
- package/dist/cli/list-models.d.ts +9 -0
- package/dist/cli/list-models.d.ts.map +1 -0
- package/dist/cli/list-models.js +92 -0
- package/dist/cli/list-models.js.map +1 -0
- package/dist/cli/session-picker.d.ts +9 -0
- package/dist/cli/session-picker.d.ts.map +1 -0
- package/dist/cli/session-picker.js +35 -0
- package/dist/cli/session-picker.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +14 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +76 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +234 -0
- package/dist/config.js.map +1 -0
- package/dist/core/agent-session.d.ts +658 -0
- package/dist/core/agent-session.d.ts.map +1 -0
- package/dist/core/agent-session.js +2898 -0
- package/dist/core/agent-session.js.map +1 -0
- package/dist/core/auth-storage.d.ts +130 -0
- package/dist/core/auth-storage.d.ts.map +1 -0
- package/dist/core/auth-storage.js +421 -0
- package/dist/core/auth-storage.js.map +1 -0
- package/dist/core/bash-executor.d.ts +46 -0
- package/dist/core/bash-executor.d.ts.map +1 -0
- package/dist/core/bash-executor.js +113 -0
- package/dist/core/bash-executor.js.map +1 -0
- package/dist/core/buddy/buddy-controller.d.ts +139 -0
- package/dist/core/buddy/buddy-controller.d.ts.map +1 -0
- package/dist/core/buddy/buddy-controller.js +428 -0
- package/dist/core/buddy/buddy-controller.js.map +1 -0
- package/dist/core/buddy/buddy-manager.d.ts +68 -0
- package/dist/core/buddy/buddy-manager.d.ts.map +1 -0
- package/dist/core/buddy/buddy-manager.js +399 -0
- package/dist/core/buddy/buddy-manager.js.map +1 -0
- package/dist/core/buddy/buddy-prng.d.ts +28 -0
- package/dist/core/buddy/buddy-prng.d.ts.map +1 -0
- package/dist/core/buddy/buddy-prng.js +65 -0
- package/dist/core/buddy/buddy-prng.js.map +1 -0
- package/dist/core/buddy/buddy-species.d.ts +37 -0
- package/dist/core/buddy/buddy-species.d.ts.map +1 -0
- package/dist/core/buddy/buddy-species.js +287 -0
- package/dist/core/buddy/buddy-species.js.map +1 -0
- package/dist/core/buddy/buddy-types.d.ts +58 -0
- package/dist/core/buddy/buddy-types.d.ts.map +1 -0
- package/dist/core/buddy/buddy-types.js +46 -0
- package/dist/core/buddy/buddy-types.js.map +1 -0
- package/dist/core/buddy/index.d.ts +7 -0
- package/dist/core/buddy/index.d.ts.map +1 -0
- package/dist/core/buddy/index.js +6 -0
- package/dist/core/buddy/index.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts +86 -0
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/core/compaction/branch-summarization.js +243 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -0
- package/dist/core/compaction/compaction.d.ts +121 -0
- package/dist/core/compaction/compaction.d.ts.map +1 -0
- package/dist/core/compaction/compaction.js +612 -0
- package/dist/core/compaction/compaction.js.map +1 -0
- package/dist/core/compaction/index.d.ts +7 -0
- package/dist/core/compaction/index.d.ts.map +1 -0
- package/dist/core/compaction/index.js +7 -0
- package/dist/core/compaction/index.js.map +1 -0
- package/dist/core/compaction/utils.d.ts +38 -0
- package/dist/core/compaction/utils.d.ts.map +1 -0
- package/dist/core/compaction/utils.js +153 -0
- package/dist/core/compaction/utils.js.map +1 -0
- package/dist/core/defaults.d.ts +3 -0
- package/dist/core/defaults.d.ts.map +1 -0
- package/dist/core/defaults.js +2 -0
- package/dist/core/defaults.js.map +1 -0
- package/dist/core/diagnostics.d.ts +15 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +2 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/event-bus.d.ts +9 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +25 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/exec.d.ts +29 -0
- package/dist/core/exec.d.ts.map +1 -0
- package/dist/core/exec.js +75 -0
- package/dist/core/exec.js.map +1 -0
- package/dist/core/export-html/ansi-to-html.d.ts +22 -0
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
- package/dist/core/export-html/ansi-to-html.js +249 -0
- package/dist/core/export-html/ansi-to-html.js.map +1 -0
- package/dist/core/export-html/index.d.ts +37 -0
- package/dist/core/export-html/index.d.ts.map +1 -0
- package/dist/core/export-html/index.js +224 -0
- package/dist/core/export-html/index.js.map +1 -0
- package/dist/core/export-html/template.css +1001 -0
- package/dist/core/export-html/template.html +55 -0
- package/dist/core/export-html/template.js +1690 -0
- package/dist/core/export-html/tool-renderer.d.ts +38 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
- package/dist/core/export-html/tool-renderer.js +95 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -0
- package/dist/core/export-html/vendor/highlight.min.js +1213 -0
- package/dist/core/export-html/vendor/marked.min.js +6 -0
- package/dist/core/extensions/index.d.ts +12 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/index.js +9 -0
- package/dist/core/extensions/index.js.map +1 -0
- package/dist/core/extensions/loader.d.ts +25 -0
- package/dist/core/extensions/loader.d.ts.map +1 -0
- package/dist/core/extensions/loader.js +436 -0
- package/dist/core/extensions/loader.js.map +1 -0
- package/dist/core/extensions/runner.d.ts +147 -0
- package/dist/core/extensions/runner.d.ts.map +1 -0
- package/dist/core/extensions/runner.js +696 -0
- package/dist/core/extensions/runner.js.map +1 -0
- package/dist/core/extensions/types.d.ts +1072 -0
- package/dist/core/extensions/types.d.ts.map +1 -0
- package/dist/core/extensions/types.js +35 -0
- package/dist/core/extensions/types.js.map +1 -0
- package/dist/core/extensions/wrapper.d.ts +20 -0
- package/dist/core/extensions/wrapper.d.ts.map +1 -0
- package/dist/core/extensions/wrapper.js +22 -0
- package/dist/core/extensions/wrapper.js.map +1 -0
- package/dist/core/footer-data-provider.d.ts +44 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -0
- package/dist/core/footer-data-provider.js +252 -0
- package/dist/core/footer-data-provider.js.map +1 -0
- package/dist/core/forbidden-commands.d.ts +31 -0
- package/dist/core/forbidden-commands.d.ts.map +1 -0
- package/dist/core/forbidden-commands.js +184 -0
- package/dist/core/forbidden-commands.js.map +1 -0
- package/dist/core/git-root.d.ts +6 -0
- package/dist/core/git-root.d.ts.map +1 -0
- package/dist/core/git-root.js +32 -0
- package/dist/core/git-root.js.map +1 -0
- package/dist/core/index.d.ts +10 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +10 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/keybindings.d.ts +280 -0
- package/dist/core/keybindings.d.ts.map +1 -0
- package/dist/core/keybindings.js +245 -0
- package/dist/core/keybindings.js.map +1 -0
- package/dist/core/memory-prompt.d.ts +10 -0
- package/dist/core/memory-prompt.d.ts.map +1 -0
- package/dist/core/memory-prompt.js +95 -0
- package/dist/core/memory-prompt.js.map +1 -0
- package/dist/core/messages.d.ts +77 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +123 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/model-registry.d.ts +114 -0
- package/dist/core/model-registry.d.ts.map +1 -0
- package/dist/core/model-registry.js +563 -0
- package/dist/core/model-registry.js.map +1 -0
- package/dist/core/model-resolver.d.ts +116 -0
- package/dist/core/model-resolver.d.ts.map +1 -0
- package/dist/core/model-resolver.js +465 -0
- package/dist/core/model-resolver.js.map +1 -0
- package/dist/core/output-guard.d.ts +6 -0
- package/dist/core/output-guard.d.ts.map +1 -0
- package/dist/core/output-guard.js +59 -0
- package/dist/core/output-guard.js.map +1 -0
- package/dist/core/package-manager.d.ts +172 -0
- package/dist/core/package-manager.d.ts.map +1 -0
- package/dist/core/package-manager.js +1767 -0
- package/dist/core/package-manager.js.map +1 -0
- package/dist/core/prompt-templates.d.ts +51 -0
- package/dist/core/prompt-templates.d.ts.map +1 -0
- package/dist/core/prompt-templates.js +251 -0
- package/dist/core/prompt-templates.js.map +1 -0
- package/dist/core/resolve-config-value.d.ts +17 -0
- package/dist/core/resolve-config-value.d.ts.map +1 -0
- package/dist/core/resolve-config-value.js +94 -0
- package/dist/core/resolve-config-value.js.map +1 -0
- package/dist/core/resource-loader.d.ts +205 -0
- package/dist/core/resource-loader.d.ts.map +1 -0
- package/dist/core/resource-loader.js +866 -0
- package/dist/core/resource-loader.js.map +1 -0
- package/dist/core/sdk.d.ts +92 -0
- package/dist/core/sdk.d.ts.map +1 -0
- package/dist/core/sdk.js +258 -0
- package/dist/core/sdk.js.map +1 -0
- package/dist/core/search/chunker.d.ts +21 -0
- package/dist/core/search/chunker.d.ts.map +1 -0
- package/dist/core/search/chunker.js +51 -0
- package/dist/core/search/chunker.js.map +1 -0
- package/dist/core/search/db.d.ts +89 -0
- package/dist/core/search/db.d.ts.map +1 -0
- package/dist/core/search/db.js +406 -0
- package/dist/core/search/db.js.map +1 -0
- package/dist/core/search/embedder.d.ts +51 -0
- package/dist/core/search/embedder.d.ts.map +1 -0
- package/dist/core/search/embedder.js +143 -0
- package/dist/core/search/embedder.js.map +1 -0
- package/dist/core/search/index-manager.d.ts +55 -0
- package/dist/core/search/index-manager.d.ts.map +1 -0
- package/dist/core/search/index-manager.js +311 -0
- package/dist/core/search/index-manager.js.map +1 -0
- package/dist/core/search/metrics/bm25.d.ts +10 -0
- package/dist/core/search/metrics/bm25.d.ts.map +1 -0
- package/dist/core/search/metrics/bm25.js +32 -0
- package/dist/core/search/metrics/bm25.js.map +1 -0
- package/dist/core/search/metrics/git-recency.d.ts +14 -0
- package/dist/core/search/metrics/git-recency.d.ts.map +1 -0
- package/dist/core/search/metrics/git-recency.js +123 -0
- package/dist/core/search/metrics/git-recency.js.map +1 -0
- package/dist/core/search/metrics/import-graph.d.ts +15 -0
- package/dist/core/search/metrics/import-graph.d.ts.map +1 -0
- package/dist/core/search/metrics/import-graph.js +115 -0
- package/dist/core/search/metrics/import-graph.js.map +1 -0
- package/dist/core/search/metrics/path-match.d.ts +13 -0
- package/dist/core/search/metrics/path-match.d.ts.map +1 -0
- package/dist/core/search/metrics/path-match.js +54 -0
- package/dist/core/search/metrics/path-match.js.map +1 -0
- package/dist/core/search/metrics/symbol-match.d.ts +12 -0
- package/dist/core/search/metrics/symbol-match.d.ts.map +1 -0
- package/dist/core/search/metrics/symbol-match.js +62 -0
- package/dist/core/search/metrics/symbol-match.js.map +1 -0
- package/dist/core/search/metrics/tokenize.d.ts +12 -0
- package/dist/core/search/metrics/tokenize.d.ts.map +1 -0
- package/dist/core/search/metrics/tokenize.js +29 -0
- package/dist/core/search/metrics/tokenize.js.map +1 -0
- package/dist/core/search/poem.d.ts +38 -0
- package/dist/core/search/poem.d.ts.map +1 -0
- package/dist/core/search/poem.js +214 -0
- package/dist/core/search/poem.js.map +1 -0
- package/dist/core/search/query-classifier.d.ts +17 -0
- package/dist/core/search/query-classifier.d.ts.map +1 -0
- package/dist/core/search/query-classifier.js +54 -0
- package/dist/core/search/query-classifier.js.map +1 -0
- package/dist/core/search/scanner.d.ts +30 -0
- package/dist/core/search/scanner.d.ts.map +1 -0
- package/dist/core/search/scanner.js +335 -0
- package/dist/core/search/scanner.js.map +1 -0
- package/dist/core/search/search.d.ts +42 -0
- package/dist/core/search/search.d.ts.map +1 -0
- package/dist/core/search/search.js +337 -0
- package/dist/core/search/search.js.map +1 -0
- package/dist/core/search/text-chunker.d.ts +15 -0
- package/dist/core/search/text-chunker.d.ts.map +1 -0
- package/dist/core/search/text-chunker.js +580 -0
- package/dist/core/search/text-chunker.js.map +1 -0
- package/dist/core/search/tree-sitter-chunker.d.ts +25 -0
- package/dist/core/search/tree-sitter-chunker.d.ts.map +1 -0
- package/dist/core/search/tree-sitter-chunker.js +357 -0
- package/dist/core/search/tree-sitter-chunker.js.map +1 -0
- package/dist/core/search/types.d.ts +96 -0
- package/dist/core/search/types.d.ts.map +1 -0
- package/dist/core/search/types.js +6 -0
- package/dist/core/search/types.js.map +1 -0
- package/dist/core/search/vector-store.d.ts +43 -0
- package/dist/core/search/vector-store.d.ts.map +1 -0
- package/dist/core/search/vector-store.js +73 -0
- package/dist/core/search/vector-store.js.map +1 -0
- package/dist/core/session-manager.d.ts +329 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +1097 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/core/settings-manager.d.ts +239 -0
- package/dist/core/settings-manager.d.ts.map +1 -0
- package/dist/core/settings-manager.js +705 -0
- package/dist/core/settings-manager.js.map +1 -0
- package/dist/core/skills.d.ts +67 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +428 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/slash-commands.d.ts +14 -0
- package/dist/core/slash-commands.d.ts.map +1 -0
- package/dist/core/slash-commands.js +23 -0
- package/dist/core/slash-commands.js.map +1 -0
- package/dist/core/source-info.d.ts +18 -0
- package/dist/core/source-info.d.ts.map +1 -0
- package/dist/core/source-info.js +19 -0
- package/dist/core/source-info.js.map +1 -0
- package/dist/core/system-prompt.d.ts +33 -0
- package/dist/core/system-prompt.d.ts.map +1 -0
- package/dist/core/system-prompt.js +184 -0
- package/dist/core/system-prompt.js.map +1 -0
- package/dist/core/timings.d.ts +8 -0
- package/dist/core/timings.d.ts.map +1 -0
- package/dist/core/timings.js +31 -0
- package/dist/core/timings.js.map +1 -0
- package/dist/core/tools/bash.d.ts +73 -0
- package/dist/core/tools/bash.d.ts.map +1 -0
- package/dist/core/tools/bash.js +342 -0
- package/dist/core/tools/bash.js.map +1 -0
- package/dist/core/tools/edit-diff.d.ts +63 -0
- package/dist/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/core/tools/edit-diff.js +244 -0
- package/dist/core/tools/edit-diff.js.map +1 -0
- package/dist/core/tools/edit.d.ts +51 -0
- package/dist/core/tools/edit.d.ts.map +1 -0
- package/dist/core/tools/edit.js +218 -0
- package/dist/core/tools/edit.js.map +1 -0
- package/dist/core/tools/file-mutation-queue.d.ts +6 -0
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
- package/dist/core/tools/file-mutation-queue.js +37 -0
- package/dist/core/tools/file-mutation-queue.js.map +1 -0
- package/dist/core/tools/find.d.ts +46 -0
- package/dist/core/tools/find.d.ts.map +1 -0
- package/dist/core/tools/find.js +241 -0
- package/dist/core/tools/find.js.map +1 -0
- package/dist/core/tools/grep.d.ts +56 -0
- package/dist/core/tools/grep.d.ts.map +1 -0
- package/dist/core/tools/grep.js +293 -0
- package/dist/core/tools/grep.js.map +1 -0
- package/dist/core/tools/index.d.ts +176 -0
- package/dist/core/tools/index.d.ts.map +1 -0
- package/dist/core/tools/index.js +137 -0
- package/dist/core/tools/index.js.map +1 -0
- package/dist/core/tools/ls.d.ts +46 -0
- package/dist/core/tools/ls.d.ts.map +1 -0
- package/dist/core/tools/ls.js +172 -0
- package/dist/core/tools/ls.js.map +1 -0
- package/dist/core/tools/path-utils.d.ts +8 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -0
- package/dist/core/tools/path-utils.js +81 -0
- package/dist/core/tools/path-utils.js.map +1 -0
- package/dist/core/tools/read.d.ts +46 -0
- package/dist/core/tools/read.d.ts.map +1 -0
- package/dist/core/tools/read.js +225 -0
- package/dist/core/tools/read.js.map +1 -0
- package/dist/core/tools/render-utils.d.ts +21 -0
- package/dist/core/tools/render-utils.d.ts.map +1 -0
- package/dist/core/tools/render-utils.js +49 -0
- package/dist/core/tools/render-utils.js.map +1 -0
- package/dist/core/tools/search.d.ts +29 -0
- package/dist/core/tools/search.d.ts.map +1 -0
- package/dist/core/tools/search.js +187 -0
- package/dist/core/tools/search.js.map +1 -0
- package/dist/core/tools/skill.d.ts +26 -0
- package/dist/core/tools/skill.d.ts.map +1 -0
- package/dist/core/tools/skill.js +127 -0
- package/dist/core/tools/skill.js.map +1 -0
- package/dist/core/tools/subagent.d.ts +147 -0
- package/dist/core/tools/subagent.d.ts.map +1 -0
- package/dist/core/tools/subagent.js +950 -0
- package/dist/core/tools/subagent.js.map +1 -0
- package/dist/core/tools/tasks.d.ts +32 -0
- package/dist/core/tools/tasks.d.ts.map +1 -0
- package/dist/core/tools/tasks.js +110 -0
- package/dist/core/tools/tasks.js.map +1 -0
- package/dist/core/tools/tmp-read.d.ts +11 -0
- package/dist/core/tools/tmp-read.d.ts.map +1 -0
- package/dist/core/tools/tmp-read.js +63 -0
- package/dist/core/tools/tmp-read.js.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.js +30 -0
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
- package/dist/core/tools/truncate.d.ts +70 -0
- package/dist/core/tools/truncate.d.ts.map +1 -0
- package/dist/core/tools/truncate.js +205 -0
- package/dist/core/tools/truncate.js.map +1 -0
- package/dist/core/tools/web.d.ts +42 -0
- package/dist/core/tools/web.d.ts.map +1 -0
- package/dist/core/tools/web.js +518 -0
- package/dist/core/tools/web.js.map +1 -0
- package/dist/core/tools/write.d.ts +35 -0
- package/dist/core/tools/write.d.ts.map +1 -0
- package/dist/core/tools/write.js +216 -0
- package/dist/core/tools/write.js.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +8 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +789 -0
- package/dist/main.js.map +1 -0
- package/dist/migrations.d.ts +33 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +261 -0
- package/dist/migrations.js.map +1 -0
- package/dist/modes/index.d.ts +9 -0
- package/dist/modes/index.d.ts.map +1 -0
- package/dist/modes/index.js +8 -0
- package/dist/modes/index.js.map +1 -0
- package/dist/modes/interactive/components/armin.d.ts +34 -0
- package/dist/modes/interactive/components/armin.d.ts.map +1 -0
- package/dist/modes/interactive/components/armin.js +333 -0
- package/dist/modes/interactive/components/armin.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts +16 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/assistant-message.js +96 -0
- package/dist/modes/interactive/components/assistant-message.js.map +1 -0
- package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/bash-execution.js +175 -0
- package/dist/modes/interactive/components/bash-execution.js.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.js +51 -0
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.js +44 -0
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/buddy-component.d.ts +58 -0
- package/dist/modes/interactive/components/buddy-component.d.ts.map +1 -0
- package/dist/modes/interactive/components/buddy-component.js +351 -0
- package/dist/modes/interactive/components/buddy-component.js.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts +71 -0
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector.js +479 -0
- package/dist/modes/interactive/components/config-selector.js.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.js +33 -0
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
- package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-editor.js +70 -0
- package/dist/modes/interactive/components/custom-editor.js.map +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +20 -0
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-message.js +79 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -0
- package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
- package/dist/modes/interactive/components/daxnuts.js +140 -0
- package/dist/modes/interactive/components/daxnuts.js.map +1 -0
- package/dist/modes/interactive/components/diff.d.ts +12 -0
- package/dist/modes/interactive/components/diff.d.ts.map +1 -0
- package/dist/modes/interactive/components/diff.js +133 -0
- package/dist/modes/interactive/components/diff.js.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.js +21 -0
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +20 -0
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-editor.js +111 -0
- package/dist/modes/interactive/components/extension-editor.js.map +1 -0
- package/dist/modes/interactive/components/extension-input.d.ts +23 -0
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-input.js +61 -0
- package/dist/modes/interactive/components/extension-input.js.map +1 -0
- package/dist/modes/interactive/components/extension-selector.d.ts +24 -0
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-selector.js +78 -0
- package/dist/modes/interactive/components/extension-selector.js.map +1 -0
- package/dist/modes/interactive/components/footer.d.ts +26 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -0
- package/dist/modes/interactive/components/footer.js +198 -0
- package/dist/modes/interactive/components/footer.js.map +1 -0
- package/dist/modes/interactive/components/index.d.ts +33 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -0
- package/dist/modes/interactive/components/index.js +34 -0
- package/dist/modes/interactive/components/index.js.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts +8 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.js +22 -0
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
- package/dist/modes/interactive/components/login-dialog.d.ts +42 -0
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
- package/dist/modes/interactive/components/login-dialog.js +145 -0
- package/dist/modes/interactive/components/login-dialog.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +47 -0
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/model-selector.js +275 -0
- package/dist/modes/interactive/components/model-selector.js.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts +19 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.js +97 -0
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +49 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.js +275 -0
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.js +155 -0
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
- package/dist/modes/interactive/components/session-selector.d.ts +95 -0
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector.js +848 -0
- package/dist/modes/interactive/components/session-selector.js.map +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +58 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-selector.js +301 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.js +39 -0
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
- package/dist/modes/interactive/components/tasks-panel.d.ts +20 -0
- package/dist/modes/interactive/components/tasks-panel.d.ts.map +1 -0
- package/dist/modes/interactive/components/tasks-panel.js +66 -0
- package/dist/modes/interactive/components/tasks-panel.js.map +1 -0
- package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/theme-selector.js +50 -0
- package/dist/modes/interactive/components/theme-selector.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.js +51 -0
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +59 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/tool-execution.js +279 -0
- package/dist/modes/interactive/components/tool-execution.js.map +1 -0
- package/dist/modes/interactive/components/tree-selector.d.ts +87 -0
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/tree-selector.js +1051 -0
- package/dist/modes/interactive/components/tree-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.js +113 -0
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message.d.ts +9 -0
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message.js +28 -0
- package/dist/modes/interactive/components/user-message.js.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.js +33 -0
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +338 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-mode.js +4167 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -0
- package/dist/modes/interactive/theme/dark.json +85 -0
- package/dist/modes/interactive/theme/light.json +84 -0
- package/dist/modes/interactive/theme/theme-schema.json +335 -0
- package/dist/modes/interactive/theme/theme.d.ts +81 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme.js +975 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -0
- package/dist/modes/print-mode.d.ts +28 -0
- package/dist/modes/print-mode.d.ts.map +1 -0
- package/dist/modes/print-mode.js +107 -0
- package/dist/modes/print-mode.js.map +1 -0
- package/dist/modes/rpc/index.d.ts +10 -0
- package/dist/modes/rpc/index.d.ts.map +1 -0
- package/dist/modes/rpc/index.js +8 -0
- package/dist/modes/rpc/index.js.map +1 -0
- package/dist/modes/rpc/jsonl.d.ts +17 -0
- package/dist/modes/rpc/jsonl.d.ts.map +1 -0
- package/dist/modes/rpc/jsonl.js +49 -0
- package/dist/modes/rpc/jsonl.js.map +1 -0
- package/dist/modes/rpc/rpc-client.d.ts +237 -0
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-client.js +448 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -0
- package/dist/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-mode.js +592 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -0
- package/dist/modes/rpc/rpc-types.d.ts +471 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-types.js +8 -0
- package/dist/modes/rpc/rpc-types.js.map +1 -0
- package/dist/utils/changelog.d.ts +21 -0
- package/dist/utils/changelog.d.ts.map +1 -0
- package/dist/utils/changelog.js +87 -0
- package/dist/utils/changelog.js.map +1 -0
- package/dist/utils/child-process.d.ts +11 -0
- package/dist/utils/child-process.d.ts.map +1 -0
- package/dist/utils/child-process.js +78 -0
- package/dist/utils/child-process.js.map +1 -0
- package/dist/utils/clipboard-image.d.ts +11 -0
- package/dist/utils/clipboard-image.d.ts.map +1 -0
- package/dist/utils/clipboard-image.js +245 -0
- package/dist/utils/clipboard-image.js.map +1 -0
- package/dist/utils/clipboard-native.d.ts +8 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -0
- package/dist/utils/clipboard-native.js +14 -0
- package/dist/utils/clipboard-native.js.map +1 -0
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +78 -0
- package/dist/utils/clipboard.js.map +1 -0
- package/dist/utils/exif-orientation.d.ts +5 -0
- package/dist/utils/exif-orientation.d.ts.map +1 -0
- package/dist/utils/exif-orientation.js +158 -0
- package/dist/utils/exif-orientation.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +8 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +26 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/git.d.ts +26 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +163 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/image-convert.d.ts +9 -0
- package/dist/utils/image-convert.d.ts.map +1 -0
- package/dist/utils/image-convert.js +39 -0
- package/dist/utils/image-convert.js.map +1 -0
- package/dist/utils/image-resize.d.ts +36 -0
- package/dist/utils/image-resize.d.ts.map +1 -0
- package/dist/utils/image-resize.js +137 -0
- package/dist/utils/image-resize.js.map +1 -0
- package/dist/utils/mime.d.ts +2 -0
- package/dist/utils/mime.d.ts.map +1 -0
- package/dist/utils/mime.js +26 -0
- package/dist/utils/mime.js.map +1 -0
- package/dist/utils/photon.d.ts +21 -0
- package/dist/utils/photon.d.ts.map +1 -0
- package/dist/utils/photon.js +121 -0
- package/dist/utils/photon.js.map +1 -0
- package/dist/utils/shell.d.ts +26 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +186 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/sleep.d.ts +5 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/dist/utils/sleep.js +17 -0
- package/dist/utils/sleep.js.map +1 -0
- package/dist/utils/tools-manager.d.ts +3 -0
- package/dist/utils/tools-manager.d.ts.map +1 -0
- package/dist/utils/tools-manager.js +252 -0
- package/dist/utils/tools-manager.js.map +1 -0
- package/dist/utils/xml.d.ts +2 -0
- package/dist/utils/xml.d.ts.map +1 -0
- package/dist/utils/xml.js +9 -0
- package/dist/utils/xml.js.map +1 -0
- package/docs/buddy.md +111 -0
- package/docs/compaction.md +392 -0
- package/docs/custom-provider.md +599 -0
- package/docs/development.md +108 -0
- package/docs/extensions.md +2130 -0
- package/docs/images/doom-extension.png +0 -0
- package/docs/images/interactive-mode.png +0 -0
- package/docs/images/tree-view.png +0 -0
- package/docs/json.md +112 -0
- package/docs/keybindings.md +174 -0
- package/docs/mach6.md +150 -0
- package/docs/models.md +335 -0
- package/docs/packages.md +197 -0
- package/docs/prompt-templates.md +67 -0
- package/docs/providers.md +194 -0
- package/docs/rpc.md +1426 -0
- package/docs/sdk.md +969 -0
- package/docs/session.md +412 -0
- package/docs/settings.md +247 -0
- package/docs/shell-aliases.md +55 -0
- package/docs/skills.md +296 -0
- package/docs/terminal-setup.md +104 -0
- package/docs/termux.md +127 -0
- package/docs/themes.md +295 -0
- package/docs/tmux.md +61 -0
- package/docs/tree.md +228 -0
- package/docs/tui.md +887 -0
- package/docs/windows.md +61 -0
- package/examples/README.md +25 -0
- package/examples/extensions/README.md +205 -0
- package/examples/extensions/antigravity-image-gen.ts +418 -0
- package/examples/extensions/auto-commit-on-exit.ts +49 -0
- package/examples/extensions/bash-spawn-hook.ts +30 -0
- package/examples/extensions/bookmark.ts +50 -0
- package/examples/extensions/built-in-tool-renderer.ts +246 -0
- package/examples/extensions/claude-rules.ts +86 -0
- package/examples/extensions/commands.ts +72 -0
- package/examples/extensions/confirm-destructive.ts +59 -0
- package/examples/extensions/custom-compaction.ts +114 -0
- package/examples/extensions/custom-footer.ts +64 -0
- package/examples/extensions/custom-header.ts +73 -0
- package/examples/extensions/custom-provider-anthropic/index.ts +604 -0
- package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
- package/examples/extensions/custom-provider-anthropic/package.json +19 -0
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +349 -0
- package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
- package/examples/extensions/custom-provider-qwen-cli/index.ts +345 -0
- package/examples/extensions/custom-provider-qwen-cli/package.json +16 -0
- package/examples/extensions/dirty-repo-guard.ts +56 -0
- package/examples/extensions/doom-overlay/README.md +46 -0
- package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
- package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
- package/examples/extensions/doom-overlay/doom/build.sh +152 -0
- package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +73 -0
- package/examples/extensions/doom-overlay/doom-component.ts +132 -0
- package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
- package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
- package/examples/extensions/doom-overlay/index.ts +74 -0
- package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
- package/examples/extensions/dynamic-resources/SKILL.md +8 -0
- package/examples/extensions/dynamic-resources/dynamic.json +79 -0
- package/examples/extensions/dynamic-resources/dynamic.md +5 -0
- package/examples/extensions/dynamic-resources/index.ts +15 -0
- package/examples/extensions/dynamic-tools.ts +74 -0
- package/examples/extensions/event-bus.ts +43 -0
- package/examples/extensions/file-trigger.ts +41 -0
- package/examples/extensions/git-checkpoint.ts +53 -0
- package/examples/extensions/handoff.ts +150 -0
- package/examples/extensions/hello.ts +25 -0
- package/examples/extensions/inline-bash.ts +94 -0
- package/examples/extensions/input-transform.ts +43 -0
- package/examples/extensions/interactive-shell.ts +196 -0
- package/examples/extensions/mac-system-theme.ts +47 -0
- package/examples/extensions/message-renderer.ts +59 -0
- package/examples/extensions/minimal-mode.ts +426 -0
- package/examples/extensions/modal-editor.ts +85 -0
- package/examples/extensions/model-status.ts +31 -0
- package/examples/extensions/notify.ts +55 -0
- package/examples/extensions/overlay-qa-tests.ts +1348 -0
- package/examples/extensions/overlay-test.ts +150 -0
- package/examples/extensions/permission-gate.ts +34 -0
- package/examples/extensions/pirate.ts +47 -0
- package/examples/extensions/plan-mode/README.md +65 -0
- package/examples/extensions/plan-mode/index.ts +340 -0
- package/examples/extensions/plan-mode/utils.ts +168 -0
- package/examples/extensions/preset.ts +403 -0
- package/examples/extensions/protected-paths.ts +30 -0
- package/examples/extensions/provider-payload.ts +14 -0
- package/examples/extensions/qna.ts +119 -0
- package/examples/extensions/question.ts +264 -0
- package/examples/extensions/questionnaire.ts +427 -0
- package/examples/extensions/rainbow-editor.ts +88 -0
- package/examples/extensions/reload-runtime.ts +37 -0
- package/examples/extensions/rpc-demo.ts +124 -0
- package/examples/extensions/sandbox/index.ts +317 -0
- package/examples/extensions/sandbox/package-lock.json +92 -0
- package/examples/extensions/sandbox/package.json +19 -0
- package/examples/extensions/send-user-message.ts +97 -0
- package/examples/extensions/session-name.ts +27 -0
- package/examples/extensions/shutdown-command.ts +63 -0
- package/examples/extensions/snake.ts +343 -0
- package/examples/extensions/space-invaders.ts +560 -0
- package/examples/extensions/ssh.ts +220 -0
- package/examples/extensions/status-line.ts +40 -0
- package/examples/extensions/subagent/README.md +172 -0
- package/examples/extensions/subagent/agents/planner.md +37 -0
- package/examples/extensions/subagent/agents/reviewer.md +35 -0
- package/examples/extensions/subagent/agents/scout.md +50 -0
- package/examples/extensions/subagent/agents/worker.md +24 -0
- package/examples/extensions/subagent/agents.ts +126 -0
- package/examples/extensions/subagent/index.ts +986 -0
- package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
- package/examples/extensions/subagent/prompts/implement.md +10 -0
- package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
- package/examples/extensions/summarize.ts +195 -0
- package/examples/extensions/system-prompt-header.ts +17 -0
- package/examples/extensions/timed-confirm.ts +70 -0
- package/examples/extensions/titlebar-spinner.ts +58 -0
- package/examples/extensions/todo.ts +299 -0
- package/examples/extensions/tool-override.ts +144 -0
- package/examples/extensions/tools.ts +146 -0
- package/examples/extensions/trigger-compact.ts +40 -0
- package/examples/extensions/truncated-tool.ts +195 -0
- package/examples/extensions/widget-placement.ts +17 -0
- package/examples/extensions/with-deps/index.ts +32 -0
- package/examples/extensions/with-deps/package-lock.json +31 -0
- package/examples/extensions/with-deps/package.json +22 -0
- package/examples/rpc-extension-ui.ts +632 -0
- package/examples/sdk/01-minimal.ts +22 -0
- package/examples/sdk/02-custom-model.ts +49 -0
- package/examples/sdk/03-custom-prompt.ts +55 -0
- package/examples/sdk/04-skills.ts +53 -0
- package/examples/sdk/05-tools.ts +56 -0
- package/examples/sdk/06-extensions.ts +88 -0
- package/examples/sdk/07-context-files.ts +40 -0
- package/examples/sdk/08-prompt-templates.ts +48 -0
- package/examples/sdk/09-api-keys-and-oauth.ts +48 -0
- package/examples/sdk/10-settings.ts +51 -0
- package/examples/sdk/11-sessions.ts +48 -0
- package/examples/sdk/12-full-control.ts +87 -0
- package/examples/sdk/README.md +144 -0
- package/package.json +123 -0
- package/skills/mach6-implement/SKILL.md +170 -0
- package/skills/mach6-issue/SKILL.md +129 -0
- package/skills/mach6-plan/SKILL.md +123 -0
- package/skills/mach6-publish/SKILL.md +188 -0
- package/skills/mach6-push/SKILL.md +101 -0
- package/skills/mach6-review/SKILL.md +192 -0
- package/skills/telegram-send/SKILL.md +46 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Shell Aliases
|
|
2
|
+
|
|
3
|
+
dreb runs bash in non-interactive mode (`bash -c "<command>"`). Non-interactive bash doesn't load your shell config files (`.bashrc`, `.bash_profile`) and doesn't expand aliases by default.
|
|
4
|
+
|
|
5
|
+
## Enabling aliases
|
|
6
|
+
|
|
7
|
+
Add to `~/.dreb/agent/settings.json`:
|
|
8
|
+
|
|
9
|
+
```json
|
|
10
|
+
{
|
|
11
|
+
"shellCommandPrefix": "shopt -s expand_aliases\nsource ~/.bashrc 2>/dev/null\n"
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
The `shellCommandPrefix` is prepended to every bash command dreb executes. This sources your config and enables alias expansion.
|
|
16
|
+
|
|
17
|
+
Adjust the path to match your shell config: `~/.bashrc`, `~/.bash_profile`, etc.
|
|
18
|
+
|
|
19
|
+
## Performance warning
|
|
20
|
+
|
|
21
|
+
`shellCommandPrefix` runs on **every** bash command — including simple things like `ls` or `cat`. If your `.bashrc` is slow (loads nvm, conda, pyenv, etc.), this adds latency to every tool call.
|
|
22
|
+
|
|
23
|
+
To avoid this, source only the aliases you need instead of the full config:
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"shellCommandPrefix": "shopt -s expand_aliases\neval \"$(grep '^alias ' ~/.bashrc)\"\n"
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
This extracts only `alias` lines, skipping everything else.
|
|
32
|
+
|
|
33
|
+
## zsh and fish
|
|
34
|
+
|
|
35
|
+
The `shellCommandPrefix` runs inside bash, not your login shell. If your aliases are defined in `~/.zshrc` or `~/.config/fish/config.fish`, the `grep` approach works for simple aliases:
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"shellCommandPrefix": "shopt -s expand_aliases\neval \"$(grep '^alias ' ~/.zshrc)\"\n"
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Complex zsh/fish aliases that use shell-specific syntax won't translate to bash. For those, consider wrapper scripts in your `$PATH` instead.
|
|
44
|
+
|
|
45
|
+
## Alternative: wrapper scripts
|
|
46
|
+
|
|
47
|
+
If you have commands you frequently want dreb to use (e.g., `docker-compose`, `kubectl` shortcuts), you can create small scripts in a directory on your `$PATH` instead of relying on aliases:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
#!/bin/bash
|
|
51
|
+
# ~/bin/dc — shortcut for docker-compose
|
|
52
|
+
exec docker-compose "$@"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
This works without any `shellCommandPrefix` configuration.
|
package/docs/skills.md
ADDED
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
> dreb can create skills. Ask it to build one for your use case.
|
|
2
|
+
|
|
3
|
+
# Skills
|
|
4
|
+
|
|
5
|
+
Skills are self-contained capability packages that the agent loads on-demand. A skill provides specialized workflows, setup instructions, helper scripts, and reference documentation for specific tasks.
|
|
6
|
+
|
|
7
|
+
dreb implements the [Agent Skills standard](https://agentskills.io/specification), warning about violations but remaining lenient.
|
|
8
|
+
|
|
9
|
+
## Table of Contents
|
|
10
|
+
|
|
11
|
+
- [Locations](#locations)
|
|
12
|
+
- [How Skills Work](#how-skills-work)
|
|
13
|
+
- [Invocation](#invocation)
|
|
14
|
+
- [Skill Structure](#skill-structure)
|
|
15
|
+
- [Frontmatter](#frontmatter)
|
|
16
|
+
- [Content Substitution](#content-substitution)
|
|
17
|
+
- [Validation](#validation)
|
|
18
|
+
- [Example](#example)
|
|
19
|
+
- [Built-in Skills](#built-in-skills)
|
|
20
|
+
- [Skill Repositories](#skill-repositories)
|
|
21
|
+
|
|
22
|
+
## Locations
|
|
23
|
+
|
|
24
|
+
> **Note:** Skills can instruct the model to run commands and may include executable code. Skim what you're loading, same as any other dependency.
|
|
25
|
+
|
|
26
|
+
dreb loads skills from:
|
|
27
|
+
|
|
28
|
+
- Global:
|
|
29
|
+
- `~/.dreb/agent/skills/`
|
|
30
|
+
- `~/.agents/skills/`
|
|
31
|
+
- Project:
|
|
32
|
+
- `.dreb/skills/`
|
|
33
|
+
- `.agents/skills/` in `cwd` and ancestor directories (up to git repo root, or filesystem root when not in a repo)
|
|
34
|
+
- Packages: `skills/` directories or `dreb.skills` entries in `package.json`
|
|
35
|
+
- Settings: `skills` array with files or directories
|
|
36
|
+
- CLI: `--skill <path>` (repeatable, additive even with `--no-skills`)
|
|
37
|
+
|
|
38
|
+
Discovery rules:
|
|
39
|
+
- Direct `.md` files in the skills directory root
|
|
40
|
+
- Recursive `SKILL.md` files under subdirectories
|
|
41
|
+
|
|
42
|
+
Disable discovery with `--no-skills` (explicit `--skill` paths still load).
|
|
43
|
+
|
|
44
|
+
### Using Skills from Other Harnesses
|
|
45
|
+
|
|
46
|
+
To use skills from Claude Code or OpenAI Codex, add their directories to settings:
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"skills": [
|
|
51
|
+
"~/.claude/skills",
|
|
52
|
+
"~/.codex/skills"
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
For project-level Claude Code skills, add to `.dreb/settings.json`:
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"skills": ["../.claude/skills"]
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## How Skills Work
|
|
66
|
+
|
|
67
|
+
1. At startup, dreb scans skill locations and extracts names and descriptions
|
|
68
|
+
2. The system prompt includes available skills in XML format per the [specification](https://agentskills.io/integrate-skills)
|
|
69
|
+
3. When a task matches, the agent uses the `skill` tool to load the full SKILL.md with content substitution applied
|
|
70
|
+
4. Users can also invoke skills directly via `/skill:name [args]` slash commands
|
|
71
|
+
5. The agent follows the instructions, using relative paths to reference scripts and assets
|
|
72
|
+
|
|
73
|
+
This is progressive disclosure: only descriptions are always in context, full instructions load on-demand.
|
|
74
|
+
|
|
75
|
+
## Invocation
|
|
76
|
+
|
|
77
|
+
### Skill Tool (model-invocable)
|
|
78
|
+
|
|
79
|
+
The agent can invoke skills programmatically via the built-in `skill` tool:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
skill(skill: "review-pr", args: "123")
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
The tool reads the SKILL.md, strips frontmatter, applies [content substitution](#content-substitution), and returns the expanded content. Skills with `disable-model-invocation: true` are hidden from the system prompt and return a warning if the model tries to invoke them.
|
|
86
|
+
|
|
87
|
+
### Slash Commands (user-invocable)
|
|
88
|
+
|
|
89
|
+
Skills register as `/skill:name` commands in interactive mode:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
/skill:brave-search # Load and execute the skill
|
|
93
|
+
/skill:pdf-tools extract # Load skill with arguments
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Arguments after the command are passed through [content substitution](#content-substitution) into the skill content.
|
|
97
|
+
|
|
98
|
+
Skills with `user-invocable: false` are hidden from the `/` menu but remain available to the model via the skill tool.
|
|
99
|
+
|
|
100
|
+
Toggle skill commands via `/settings` in interactive mode or in `settings.json`:
|
|
101
|
+
|
|
102
|
+
```json
|
|
103
|
+
{
|
|
104
|
+
"enableSkillCommands": true
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Skill Structure
|
|
109
|
+
|
|
110
|
+
A skill is a directory with a `SKILL.md` file. Everything else is freeform.
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
my-skill/
|
|
114
|
+
├── SKILL.md # Required: frontmatter + instructions
|
|
115
|
+
├── scripts/ # Helper scripts
|
|
116
|
+
│ └── process.sh
|
|
117
|
+
├── references/ # Detailed docs loaded on-demand
|
|
118
|
+
│ └── api-reference.md
|
|
119
|
+
└── assets/
|
|
120
|
+
└── template.json
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### SKILL.md Format
|
|
124
|
+
|
|
125
|
+
```markdown
|
|
126
|
+
---
|
|
127
|
+
name: my-skill
|
|
128
|
+
description: What this skill does and when to use it. Be specific.
|
|
129
|
+
argument-hint: "<input file>"
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
# My Skill
|
|
133
|
+
|
|
134
|
+
## Setup
|
|
135
|
+
|
|
136
|
+
Run once before first use:
|
|
137
|
+
\`\`\`bash
|
|
138
|
+
cd ${DREB_SKILL_DIR} && npm install
|
|
139
|
+
\`\`\`
|
|
140
|
+
|
|
141
|
+
## Usage
|
|
142
|
+
|
|
143
|
+
Process the input file: $1
|
|
144
|
+
|
|
145
|
+
\`\`\`bash
|
|
146
|
+
${DREB_SKILL_DIR}/scripts/process.sh $1
|
|
147
|
+
\`\`\`
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Use relative paths from the skill directory:
|
|
151
|
+
|
|
152
|
+
```markdown
|
|
153
|
+
See [the reference guide](references/REFERENCE.md) for details.
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Frontmatter
|
|
157
|
+
|
|
158
|
+
Per the [Agent Skills specification](https://agentskills.io/specification#frontmatter-required), plus dreb-specific fields:
|
|
159
|
+
|
|
160
|
+
| Field | Required | Description |
|
|
161
|
+
|-------|----------|-------------|
|
|
162
|
+
| `name` | Yes | Max 64 chars. Lowercase a-z, 0-9, hyphens. Must match parent directory. |
|
|
163
|
+
| `description` | Yes | Max 1024 chars. What the skill does and when to use it. |
|
|
164
|
+
| `argument-hint` | No | Hint text shown in the `/` menu (e.g. `"[PR number or URL]"`). |
|
|
165
|
+
| `user-invocable` | No | Default `true`. When `false`, skill is hidden from the `/` menu but remains available to the model via the skill tool. |
|
|
166
|
+
| `disable-model-invocation` | No | When `true`, skill is hidden from system prompt. Users must use `/skill:name`. |
|
|
167
|
+
|
|
168
|
+
### Name Rules
|
|
169
|
+
|
|
170
|
+
- 1-64 characters
|
|
171
|
+
- Lowercase letters, numbers, hyphens only
|
|
172
|
+
- No leading/trailing hyphens
|
|
173
|
+
- No consecutive hyphens
|
|
174
|
+
- Must match parent directory name
|
|
175
|
+
|
|
176
|
+
Valid: `pdf-processing`, `data-analysis`, `code-review`
|
|
177
|
+
Invalid: `PDF-Processing`, `-pdf`, `pdf--processing`
|
|
178
|
+
|
|
179
|
+
### Description Best Practices
|
|
180
|
+
|
|
181
|
+
The description determines when the agent loads the skill. Be specific.
|
|
182
|
+
|
|
183
|
+
Good:
|
|
184
|
+
```yaml
|
|
185
|
+
description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents.
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Poor:
|
|
189
|
+
```yaml
|
|
190
|
+
description: Helps with PDFs.
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Content Substitution
|
|
194
|
+
|
|
195
|
+
When a skill is invoked (via the skill tool or `/skill:name`), placeholders in the body are replaced before injection:
|
|
196
|
+
|
|
197
|
+
| Placeholder | Replaced with |
|
|
198
|
+
|-------------|---------------|
|
|
199
|
+
| `$ARGUMENTS`, `$@` | All arguments joined |
|
|
200
|
+
| `$0` | First argument (alias for `$1`) |
|
|
201
|
+
| `$1`, `$2`, ... | Positional arguments (bash-style parsing: supports quoting) |
|
|
202
|
+
| `${@:N}` | Arguments from the Nth position |
|
|
203
|
+
| `${@:N:L}` | `L` arguments starting at N |
|
|
204
|
+
| `${DREB_SKILL_DIR}` | Absolute path to the skill's directory |
|
|
205
|
+
| `${DREB_SESSION_ID}` | Current session ID |
|
|
206
|
+
|
|
207
|
+
Example:
|
|
208
|
+
|
|
209
|
+
```markdown
|
|
210
|
+
---
|
|
211
|
+
name: review-file
|
|
212
|
+
description: Review a specific file for issues.
|
|
213
|
+
argument-hint: "<filename>"
|
|
214
|
+
---
|
|
215
|
+
Read ${DREB_SKILL_DIR}/checklist.md for the review criteria.
|
|
216
|
+
|
|
217
|
+
Review the file: $1
|
|
218
|
+
Focus areas: ${@:2}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Usage: `/skill:review-file src/main.ts "security" "performance"`
|
|
222
|
+
|
|
223
|
+
## Validation
|
|
224
|
+
|
|
225
|
+
dreb validates skills against the Agent Skills standard. Most issues produce warnings but still load the skill:
|
|
226
|
+
|
|
227
|
+
- Name doesn't match parent directory
|
|
228
|
+
- Name exceeds 64 characters or contains invalid characters
|
|
229
|
+
- Name starts/ends with hyphen or has consecutive hyphens
|
|
230
|
+
- Description exceeds 1024 characters
|
|
231
|
+
|
|
232
|
+
Unknown frontmatter fields are ignored.
|
|
233
|
+
|
|
234
|
+
**Exception:** Skills with missing description are not loaded.
|
|
235
|
+
|
|
236
|
+
Name collisions (same name from different locations) warn and keep the first skill found.
|
|
237
|
+
|
|
238
|
+
## Example
|
|
239
|
+
|
|
240
|
+
```
|
|
241
|
+
brave-search/
|
|
242
|
+
├── SKILL.md
|
|
243
|
+
├── search.js
|
|
244
|
+
└── content.js
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**SKILL.md:**
|
|
248
|
+
```markdown
|
|
249
|
+
---
|
|
250
|
+
name: brave-search
|
|
251
|
+
description: Web search and content extraction via Brave Search API. Use for searching documentation, facts, or any web content.
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
# Brave Search
|
|
255
|
+
|
|
256
|
+
## Setup
|
|
257
|
+
|
|
258
|
+
\`\`\`bash
|
|
259
|
+
cd ${DREB_SKILL_DIR} && npm install
|
|
260
|
+
\`\`\`
|
|
261
|
+
|
|
262
|
+
## Search
|
|
263
|
+
|
|
264
|
+
\`\`\`bash
|
|
265
|
+
./search.js "query" # Basic search
|
|
266
|
+
./search.js "query" --content # Include page content
|
|
267
|
+
\`\`\`
|
|
268
|
+
|
|
269
|
+
## Extract Page Content
|
|
270
|
+
|
|
271
|
+
\`\`\`bash
|
|
272
|
+
./content.js https://example.com
|
|
273
|
+
\`\`\`
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
## Built-in Skills
|
|
277
|
+
|
|
278
|
+
dreb ships with **mach6**, a development workflow that orchestrates the full issue-to-merge lifecycle using GitHub as shared memory. Six skills cover each stage:
|
|
279
|
+
|
|
280
|
+
| Skill | What it does |
|
|
281
|
+
|---|---|
|
|
282
|
+
| `mach6-issue` | Assess an existing issue or create a new one |
|
|
283
|
+
| `mach6-plan` | Explore codebase, plan, create branch and draft PR |
|
|
284
|
+
| `mach6-push` | Commit, push, post progress comment |
|
|
285
|
+
| `mach6-review` | Multi-agent code review with independent assessment |
|
|
286
|
+
| `mach6-implement` | Implement plans, fix review findings, or fix CI failures |
|
|
287
|
+
| `mach6-publish` | Pre-merge checks, docs update, merge, tag, release |
|
|
288
|
+
|
|
289
|
+
Built-in skills are always available and can be overridden by placing a skill with the same name in any [user or project location](#locations).
|
|
290
|
+
|
|
291
|
+
See [docs/mach6.md](mach6.md) for full documentation.
|
|
292
|
+
|
|
293
|
+
## Skill Repositories
|
|
294
|
+
|
|
295
|
+
- [Anthropic Skills](https://github.com/anthropics/skills) - Document processing (docx, pdf, pptx, xlsx), web development
|
|
296
|
+
- [Pi Skills](https://github.com/badlogic/pi-skills) - Web search, browser automation, Google APIs, transcription (from [pi-mono](https://github.com/badlogic/pi-mono), dreb's upstream fork)
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Terminal Setup
|
|
2
|
+
|
|
3
|
+
dreb uses the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) for reliable modifier key detection. Most modern terminals support this protocol, but some require configuration.
|
|
4
|
+
|
|
5
|
+
## Kitty, iTerm2
|
|
6
|
+
|
|
7
|
+
Work out of the box.
|
|
8
|
+
|
|
9
|
+
## Ghostty
|
|
10
|
+
|
|
11
|
+
Add to your Ghostty config (`~/Library/Application Support/com.mitchellh.ghostty/config` on macOS, `~/.config/ghostty/config` on Linux):
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
keybind = alt+backspace=text:\x1b\x7f
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
You may have a Ghostty mapping that sends a raw linefeed for `Shift+Enter`:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
keybind = shift+enter=text:\n
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
This is indistinguishable from `Ctrl+J` inside dreb, so tmux and dreb can't see a real `shift+enter` key event. If you don't need this mapping for another tool, remove it.
|
|
24
|
+
|
|
25
|
+
If you want `Shift+Enter` to keep working in tmux with that remap active, add `ctrl+j` to your dreb `tui.input.newLine` keybinding in `~/.dreb/agent/keybindings.json`:
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"tui.input.newLine": ["shift+enter", "ctrl+j"]
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## WezTerm
|
|
34
|
+
|
|
35
|
+
Create `~/.wezterm.lua`:
|
|
36
|
+
|
|
37
|
+
```lua
|
|
38
|
+
local wezterm = require 'wezterm'
|
|
39
|
+
local config = wezterm.config_builder()
|
|
40
|
+
config.enable_kitty_keyboard = true
|
|
41
|
+
return config
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## VS Code (Integrated Terminal)
|
|
45
|
+
|
|
46
|
+
`keybindings.json` locations:
|
|
47
|
+
- macOS: `~/Library/Application Support/Code/User/keybindings.json`
|
|
48
|
+
- Linux: `~/.config/Code/User/keybindings.json`
|
|
49
|
+
- Windows: `%APPDATA%\\Code\\User\\keybindings.json`
|
|
50
|
+
|
|
51
|
+
Add to `keybindings.json` to enable `Shift+Enter` for multi-line input:
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"key": "shift+enter",
|
|
56
|
+
"command": "workbench.action.terminal.sendSequence",
|
|
57
|
+
"args": { "text": "\u001b[13;2u" },
|
|
58
|
+
"when": "terminalFocus"
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Windows Terminal
|
|
63
|
+
|
|
64
|
+
Add to `settings.json` (Ctrl+Shift+, or Settings → Open JSON file) to forward the modified Enter keys dreb uses:
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"actions": [
|
|
69
|
+
{
|
|
70
|
+
"command": { "action": "sendInput", "input": "\u001b[13;2u" },
|
|
71
|
+
"keys": "shift+enter"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"command": { "action": "sendInput", "input": "\u001b[13;3u" },
|
|
75
|
+
"keys": "alt+enter"
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
- `Shift+Enter` inserts a new line.
|
|
82
|
+
- Windows Terminal binds `Alt+Enter` to fullscreen by default. That prevents dreb from receiving `Alt+Enter` for follow-up queueing.
|
|
83
|
+
- Remapping `Alt+Enter` to `sendInput` forwards the real key chord to dreb instead.
|
|
84
|
+
|
|
85
|
+
If you already have an `actions` array, add the objects to it. If the old fullscreen behavior persists, fully close and reopen Windows Terminal.
|
|
86
|
+
|
|
87
|
+
## xfce4-terminal, terminator
|
|
88
|
+
|
|
89
|
+
These terminals have limited escape sequence support. Modified Enter keys like `Ctrl+Enter` and `Shift+Enter` cannot be distinguished from plain `Enter`, preventing custom keybindings such as `submit: ["ctrl+enter"]` from working.
|
|
90
|
+
|
|
91
|
+
For the best experience, use a terminal that supports the Kitty keyboard protocol:
|
|
92
|
+
- [Kitty](https://sw.kovidgoyal.net/kitty/)
|
|
93
|
+
- [Ghostty](https://ghostty.org/)
|
|
94
|
+
- [WezTerm](https://wezfurlong.org/wezterm/)
|
|
95
|
+
- [iTerm2](https://iterm2.com/)
|
|
96
|
+
- [Alacritty](https://github.com/alacritty/alacritty) (requires compilation with Kitty protocol support)
|
|
97
|
+
|
|
98
|
+
## IntelliJ IDEA (Integrated Terminal)
|
|
99
|
+
|
|
100
|
+
The built-in terminal has limited escape sequence support. Shift+Enter cannot be distinguished from Enter in IntelliJ's terminal.
|
|
101
|
+
|
|
102
|
+
If you want the hardware cursor visible, set `DREB_HARDWARE_CURSOR=1` before running dreb (disabled by default for compatibility).
|
|
103
|
+
|
|
104
|
+
Consider using a dedicated terminal emulator for the best experience.
|
package/docs/termux.md
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Termux (Android) Setup
|
|
2
|
+
|
|
3
|
+
dreb runs on Android via [Termux](https://termux.dev/), a terminal emulator and Linux environment for Android.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
1. Install [Termux](https://github.com/termux/termux-app#installation) from GitHub or F-Droid (not Google Play, that version is deprecated)
|
|
8
|
+
2. Install [Termux:API](https://github.com/termux/termux-api#installation) from GitHub or F-Droid for clipboard and other device integrations
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# Update packages
|
|
14
|
+
pkg update && pkg upgrade
|
|
15
|
+
|
|
16
|
+
# Install dependencies
|
|
17
|
+
pkg install nodejs termux-api git
|
|
18
|
+
|
|
19
|
+
# Install dreb
|
|
20
|
+
npm install -g @dreb/coding-agent
|
|
21
|
+
|
|
22
|
+
# Create config directory
|
|
23
|
+
mkdir -p ~/.dreb/agent
|
|
24
|
+
|
|
25
|
+
# Run dreb
|
|
26
|
+
dreb
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Clipboard Support
|
|
30
|
+
|
|
31
|
+
Clipboard operations use `termux-clipboard-set` and `termux-clipboard-get` when running in Termux. The Termux:API app must be installed for these to work.
|
|
32
|
+
|
|
33
|
+
Image clipboard is not supported on Termux (the `ctrl+v` image paste feature will not work).
|
|
34
|
+
|
|
35
|
+
## Example AGENTS.md for Termux
|
|
36
|
+
|
|
37
|
+
Create `~/.dreb/agent/AGENTS.md` to help the agent understand the Termux environment:
|
|
38
|
+
|
|
39
|
+
```markdown
|
|
40
|
+
# Agent Environment: Termux on Android
|
|
41
|
+
|
|
42
|
+
## Location
|
|
43
|
+
- **OS**: Android (Termux terminal emulator)
|
|
44
|
+
- **Home**: `/data/data/com.termux/files/home`
|
|
45
|
+
- **Prefix**: `/data/data/com.termux/files/usr`
|
|
46
|
+
- **Shared storage**: `/storage/emulated/0` (Downloads, Documents, etc.)
|
|
47
|
+
|
|
48
|
+
## Opening URLs
|
|
49
|
+
```bash
|
|
50
|
+
termux-open-url "https://example.com"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Opening Files
|
|
54
|
+
```bash
|
|
55
|
+
termux-open file.pdf # Opens with default app
|
|
56
|
+
termux-open -c image.jpg # Choose app
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Clipboard
|
|
60
|
+
```bash
|
|
61
|
+
termux-clipboard-set "text" # Copy
|
|
62
|
+
termux-clipboard-get # Paste
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Notifications
|
|
66
|
+
```bash
|
|
67
|
+
termux-notification -t "Title" -c "Content"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Device Info
|
|
71
|
+
```bash
|
|
72
|
+
termux-battery-status # Battery info
|
|
73
|
+
termux-wifi-connectioninfo # WiFi info
|
|
74
|
+
termux-telephony-deviceinfo # Device info
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Sharing
|
|
78
|
+
```bash
|
|
79
|
+
termux-share -a send file.txt # Share file
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Other Useful Commands
|
|
83
|
+
```bash
|
|
84
|
+
termux-toast "message" # Quick toast popup
|
|
85
|
+
termux-vibrate # Vibrate device
|
|
86
|
+
termux-tts-speak "hello" # Text to speech
|
|
87
|
+
termux-camera-photo out.jpg # Take photo
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Notes
|
|
91
|
+
- Termux:API app must be installed for `termux-*` commands
|
|
92
|
+
- Use `pkg install termux-api` for the command-line tools
|
|
93
|
+
- Storage permission needed for `/storage/emulated/0` access
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Limitations
|
|
97
|
+
|
|
98
|
+
- **No image clipboard**: Termux clipboard API only supports text
|
|
99
|
+
- **No native binaries**: Some optional native dependencies (like the clipboard module) are unavailable on Android ARM64 and are skipped during installation
|
|
100
|
+
- **Storage access**: To access files in `/storage/emulated/0` (Downloads, etc.), run `termux-setup-storage` once to grant permissions
|
|
101
|
+
|
|
102
|
+
## Troubleshooting
|
|
103
|
+
|
|
104
|
+
### Clipboard not working
|
|
105
|
+
|
|
106
|
+
Ensure both apps are installed:
|
|
107
|
+
1. Termux (from GitHub or F-Droid)
|
|
108
|
+
2. Termux:API (from GitHub or F-Droid)
|
|
109
|
+
|
|
110
|
+
Then install the CLI tools:
|
|
111
|
+
```bash
|
|
112
|
+
pkg install termux-api
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Permission denied for shared storage
|
|
116
|
+
|
|
117
|
+
Run once to grant storage permissions:
|
|
118
|
+
```bash
|
|
119
|
+
termux-setup-storage
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Node.js installation issues
|
|
123
|
+
|
|
124
|
+
If npm fails, try clearing the cache:
|
|
125
|
+
```bash
|
|
126
|
+
npm cache clean --force
|
|
127
|
+
```
|