@nghyane/arcane 0.1.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 +3 -0
- package/README.md +12 -0
- package/examples/README.md +21 -0
- package/examples/custom-tools/README.md +109 -0
- package/examples/custom-tools/hello/index.ts +20 -0
- package/examples/custom-tools/todo/index.ts +206 -0
- package/examples/extensions/README.md +143 -0
- package/examples/extensions/api-demo.ts +89 -0
- package/examples/extensions/chalk-logger.ts +25 -0
- package/examples/extensions/hello.ts +32 -0
- package/examples/extensions/pirate.ts +43 -0
- package/examples/extensions/plan-mode.ts +550 -0
- package/examples/extensions/reload-runtime.ts +37 -0
- package/examples/extensions/todo.ts +296 -0
- package/examples/extensions/tools.ts +144 -0
- package/examples/extensions/with-deps/index.ts +35 -0
- package/examples/extensions/with-deps/package-lock.json +31 -0
- package/examples/extensions/with-deps/package.json +16 -0
- package/examples/hooks/README.md +56 -0
- package/examples/hooks/auto-commit-on-exit.ts +48 -0
- package/examples/hooks/confirm-destructive.ts +58 -0
- package/examples/hooks/custom-compaction.ts +116 -0
- package/examples/hooks/dirty-repo-guard.ts +51 -0
- package/examples/hooks/file-trigger.ts +40 -0
- package/examples/hooks/git-checkpoint.ts +52 -0
- package/examples/hooks/handoff.ts +150 -0
- package/examples/hooks/permission-gate.ts +33 -0
- package/examples/hooks/protected-paths.ts +29 -0
- package/examples/hooks/qna.ts +119 -0
- package/examples/hooks/status-line.ts +39 -0
- package/examples/sdk/01-minimal.ts +21 -0
- package/examples/sdk/02-custom-model.ts +49 -0
- package/examples/sdk/03-custom-prompt.ts +43 -0
- package/examples/sdk/04-skills.ts +43 -0
- package/examples/sdk/06-extensions.ts +80 -0
- package/examples/sdk/06-hooks.ts +61 -0
- package/examples/sdk/07-context-files.ts +35 -0
- package/examples/sdk/08-prompt-templates.ts +36 -0
- package/examples/sdk/08-slash-commands.ts +41 -0
- package/examples/sdk/09-api-keys-and-oauth.ts +54 -0
- package/examples/sdk/11-sessions.ts +47 -0
- package/examples/sdk/README.md +150 -0
- package/package.json +464 -0
- package/scripts/format-prompts.ts +184 -0
- package/scripts/generate-docs-index.ts +40 -0
- package/scripts/generate-template.ts +32 -0
- package/src/bun-imports.d.ts +22 -0
- package/src/capability/context-file.ts +39 -0
- package/src/capability/extension-module.ts +33 -0
- package/src/capability/extension.ts +47 -0
- package/src/capability/fs.ts +89 -0
- package/src/capability/hook.ts +39 -0
- package/src/capability/index.ts +432 -0
- package/src/capability/instruction.ts +36 -0
- package/src/capability/mcp.ts +60 -0
- package/src/capability/prompt.ts +34 -0
- package/src/capability/rule.ts +223 -0
- package/src/capability/settings.ts +34 -0
- package/src/capability/skill.ts +48 -0
- package/src/capability/slash-command.ts +39 -0
- package/src/capability/ssh.ts +41 -0
- package/src/capability/system-prompt.ts +34 -0
- package/src/capability/tool.ts +37 -0
- package/src/capability/types.ts +156 -0
- package/src/cli/args.ts +259 -0
- package/src/cli/config-cli.ts +357 -0
- package/src/cli/file-processor.ts +124 -0
- package/src/cli/grep-cli.ts +152 -0
- package/src/cli/jupyter-cli.ts +106 -0
- package/src/cli/list-models.ts +103 -0
- package/src/cli/plugin-cli.ts +661 -0
- package/src/cli/session-picker.ts +42 -0
- package/src/cli/setup-cli.ts +376 -0
- package/src/cli/shell-cli.ts +174 -0
- package/src/cli/ssh-cli.ts +179 -0
- package/src/cli/stats-cli.ts +197 -0
- package/src/cli/update-cli.ts +286 -0
- package/src/cli/web-search-cli.ts +143 -0
- package/src/cli.ts +65 -0
- package/src/commands/commit.ts +36 -0
- package/src/commands/config.ts +51 -0
- package/src/commands/grep.ts +41 -0
- package/src/commands/jupyter.ts +32 -0
- package/src/commands/launch.ts +139 -0
- package/src/commands/plugin.ts +70 -0
- package/src/commands/setup.ts +42 -0
- package/src/commands/shell.ts +29 -0
- package/src/commands/ssh.ts +60 -0
- package/src/commands/stats.ts +29 -0
- package/src/commands/update.ts +21 -0
- package/src/commands/web-search.ts +42 -0
- package/src/commit/agentic/agent.ts +311 -0
- package/src/commit/agentic/fallback.ts +96 -0
- package/src/commit/agentic/index.ts +359 -0
- package/src/commit/agentic/prompts/analyze-file.md +22 -0
- package/src/commit/agentic/prompts/session-user.md +25 -0
- package/src/commit/agentic/prompts/split-confirm.md +1 -0
- package/src/commit/agentic/prompts/system.md +38 -0
- package/src/commit/agentic/state.ts +69 -0
- package/src/commit/agentic/tools/analyze-file.ts +118 -0
- package/src/commit/agentic/tools/git-file-diff.ts +194 -0
- package/src/commit/agentic/tools/git-hunk.ts +50 -0
- package/src/commit/agentic/tools/git-overview.ts +84 -0
- package/src/commit/agentic/tools/index.ts +56 -0
- package/src/commit/agentic/tools/propose-changelog.ts +128 -0
- package/src/commit/agentic/tools/propose-commit.ts +154 -0
- package/src/commit/agentic/tools/recent-commits.ts +81 -0
- package/src/commit/agentic/tools/split-commit.ts +280 -0
- package/src/commit/agentic/topo-sort.ts +44 -0
- package/src/commit/agentic/trivial.ts +51 -0
- package/src/commit/agentic/validation.ts +200 -0
- package/src/commit/analysis/conventional.ts +165 -0
- package/src/commit/analysis/index.ts +4 -0
- package/src/commit/analysis/scope.ts +242 -0
- package/src/commit/analysis/summary.ts +112 -0
- package/src/commit/analysis/validation.ts +66 -0
- package/src/commit/changelog/detect.ts +37 -0
- package/src/commit/changelog/generate.ts +110 -0
- package/src/commit/changelog/index.ts +234 -0
- package/src/commit/changelog/parse.ts +44 -0
- package/src/commit/cli.ts +93 -0
- package/src/commit/git/diff.ts +148 -0
- package/src/commit/git/errors.ts +9 -0
- package/src/commit/git/index.ts +211 -0
- package/src/commit/git/operations.ts +54 -0
- package/src/commit/index.ts +5 -0
- package/src/commit/map-reduce/index.ts +64 -0
- package/src/commit/map-reduce/map-phase.ts +178 -0
- package/src/commit/map-reduce/reduce-phase.ts +145 -0
- package/src/commit/map-reduce/utils.ts +9 -0
- package/src/commit/message.ts +11 -0
- package/src/commit/model-selection.ts +69 -0
- package/src/commit/pipeline.ts +243 -0
- package/src/commit/prompts/analysis-system.md +148 -0
- package/src/commit/prompts/analysis-user.md +38 -0
- package/src/commit/prompts/changelog-system.md +50 -0
- package/src/commit/prompts/changelog-user.md +18 -0
- package/src/commit/prompts/file-observer-system.md +24 -0
- package/src/commit/prompts/file-observer-user.md +8 -0
- package/src/commit/prompts/reduce-system.md +50 -0
- package/src/commit/prompts/reduce-user.md +17 -0
- package/src/commit/prompts/summary-retry.md +3 -0
- package/src/commit/prompts/summary-system.md +38 -0
- package/src/commit/prompts/summary-user.md +13 -0
- package/src/commit/prompts/types-description.md +2 -0
- package/src/commit/types.ts +109 -0
- package/src/commit/utils/exclusions.ts +42 -0
- package/src/config/file-lock.ts +121 -0
- package/src/config/keybindings.ts +280 -0
- package/src/config/model-registry.ts +1140 -0
- package/src/config/model-resolver.ts +812 -0
- package/src/config/prompt-templates.ts +526 -0
- package/src/config/resolve-config-value.ts +92 -0
- package/src/config/settings-schema.ts +1236 -0
- package/src/config/settings.ts +706 -0
- package/src/config.ts +414 -0
- package/src/cursor.ts +239 -0
- package/src/debug/index.ts +431 -0
- package/src/debug/log-formatting.ts +60 -0
- package/src/debug/log-viewer.ts +903 -0
- package/src/debug/profiler.ts +158 -0
- package/src/debug/report-bundle.ts +366 -0
- package/src/debug/system-info.ts +112 -0
- package/src/discovery/agents-md.ts +68 -0
- package/src/discovery/agents.ts +199 -0
- package/src/discovery/builtin.ts +815 -0
- package/src/discovery/claude-plugins.ts +205 -0
- package/src/discovery/claude.ts +506 -0
- package/src/discovery/cline.ts +83 -0
- package/src/discovery/codex.ts +532 -0
- package/src/discovery/cursor.ts +218 -0
- package/src/discovery/gemini.ts +395 -0
- package/src/discovery/github.ts +117 -0
- package/src/discovery/helpers.ts +698 -0
- package/src/discovery/index.ts +89 -0
- package/src/discovery/mcp-json.ts +156 -0
- package/src/discovery/opencode.ts +394 -0
- package/src/discovery/ssh.ts +160 -0
- package/src/discovery/vscode.ts +103 -0
- package/src/discovery/windsurf.ts +145 -0
- package/src/exa/company.ts +57 -0
- package/src/exa/index.ts +62 -0
- package/src/exa/linkedin.ts +57 -0
- package/src/exa/mcp-client.ts +289 -0
- package/src/exa/render.ts +244 -0
- package/src/exa/researcher.ts +89 -0
- package/src/exa/search.ts +330 -0
- package/src/exa/types.ts +166 -0
- package/src/exa/websets.ts +247 -0
- package/src/exec/bash-executor.ts +184 -0
- package/src/exec/exec.ts +53 -0
- package/src/export/custom-share.ts +65 -0
- package/src/export/html/index.ts +162 -0
- package/src/export/html/template.css +889 -0
- package/src/export/html/template.generated.ts +2 -0
- package/src/export/html/template.html +45 -0
- package/src/export/html/template.js +1329 -0
- package/src/export/html/template.macro.ts +24 -0
- package/src/export/html/vendor/highlight.min.js +1213 -0
- package/src/export/html/vendor/marked.min.js +6 -0
- package/src/export/ttsr.ts +434 -0
- package/src/extensibility/custom-commands/bundled/review/index.ts +433 -0
- package/src/extensibility/custom-commands/index.ts +15 -0
- package/src/extensibility/custom-commands/loader.ts +231 -0
- package/src/extensibility/custom-commands/types.ts +111 -0
- package/src/extensibility/custom-tools/index.ts +22 -0
- package/src/extensibility/custom-tools/loader.ts +235 -0
- package/src/extensibility/custom-tools/types.ts +226 -0
- package/src/extensibility/custom-tools/wrapper.ts +45 -0
- package/src/extensibility/extensions/index.ts +136 -0
- package/src/extensibility/extensions/loader.ts +520 -0
- package/src/extensibility/extensions/runner.ts +774 -0
- package/src/extensibility/extensions/types.ts +1293 -0
- package/src/extensibility/extensions/wrapper.ts +188 -0
- package/src/extensibility/hooks/index.ts +16 -0
- package/src/extensibility/hooks/loader.ts +273 -0
- package/src/extensibility/hooks/runner.ts +441 -0
- package/src/extensibility/hooks/tool-wrapper.ts +106 -0
- package/src/extensibility/hooks/types.ts +817 -0
- package/src/extensibility/plugins/doctor.ts +65 -0
- package/src/extensibility/plugins/git-url.ts +281 -0
- package/src/extensibility/plugins/index.ts +33 -0
- package/src/extensibility/plugins/installer.ts +192 -0
- package/src/extensibility/plugins/loader.ts +338 -0
- package/src/extensibility/plugins/manager.ts +716 -0
- package/src/extensibility/plugins/parser.ts +105 -0
- package/src/extensibility/plugins/types.ts +190 -0
- package/src/extensibility/skills.ts +385 -0
- package/src/extensibility/slash-commands.ts +287 -0
- package/src/extensibility/tool-proxy.ts +25 -0
- package/src/index.ts +275 -0
- package/src/internal-urls/agent-protocol.ts +136 -0
- package/src/internal-urls/artifact-protocol.ts +97 -0
- package/src/internal-urls/docs-index.generated.ts +54 -0
- package/src/internal-urls/docs-protocol.ts +84 -0
- package/src/internal-urls/index.ts +31 -0
- package/src/internal-urls/json-query.ts +126 -0
- package/src/internal-urls/memory-protocol.ts +133 -0
- package/src/internal-urls/router.ts +70 -0
- package/src/internal-urls/rule-protocol.ts +55 -0
- package/src/internal-urls/skill-protocol.ts +111 -0
- package/src/internal-urls/types.ts +52 -0
- package/src/ipy/executor.ts +556 -0
- package/src/ipy/gateway-coordinator.ts +426 -0
- package/src/ipy/kernel.ts +892 -0
- package/src/ipy/modules.ts +109 -0
- package/src/ipy/prelude.py +831 -0
- package/src/ipy/prelude.ts +3 -0
- package/src/ipy/runtime.ts +222 -0
- package/src/lsp/client.ts +867 -0
- package/src/lsp/clients/biome-client.ts +202 -0
- package/src/lsp/clients/index.ts +50 -0
- package/src/lsp/clients/lsp-linter-client.ts +93 -0
- package/src/lsp/clients/swiftlint-client.ts +120 -0
- package/src/lsp/config.ts +397 -0
- package/src/lsp/defaults.json +464 -0
- package/src/lsp/edits.ts +109 -0
- package/src/lsp/index.ts +1268 -0
- package/src/lsp/lspmux.ts +250 -0
- package/src/lsp/render.ts +689 -0
- package/src/lsp/types.ts +414 -0
- package/src/lsp/utils.ts +549 -0
- package/src/main.ts +773 -0
- package/src/mcp/client.ts +239 -0
- package/src/mcp/config-writer.ts +215 -0
- package/src/mcp/config.ts +363 -0
- package/src/mcp/index.ts +55 -0
- package/src/mcp/json-rpc.ts +84 -0
- package/src/mcp/loader.ts +124 -0
- package/src/mcp/manager.ts +490 -0
- package/src/mcp/oauth-discovery.ts +274 -0
- package/src/mcp/oauth-flow.ts +229 -0
- package/src/mcp/render.ts +123 -0
- package/src/mcp/tool-bridge.ts +372 -0
- package/src/mcp/tool-cache.ts +121 -0
- package/src/mcp/transports/http.ts +332 -0
- package/src/mcp/transports/index.ts +6 -0
- package/src/mcp/transports/stdio.ts +281 -0
- package/src/mcp/types.ts +248 -0
- package/src/memories/index.ts +1099 -0
- package/src/memories/storage.ts +563 -0
- package/src/modes/components/agent-dashboard.ts +1130 -0
- package/src/modes/components/assistant-message.ts +144 -0
- package/src/modes/components/bash-execution.ts +218 -0
- package/src/modes/components/bordered-loader.ts +41 -0
- package/src/modes/components/branch-summary-message.ts +45 -0
- package/src/modes/components/codemode-group.ts +369 -0
- package/src/modes/components/compaction-summary-message.ts +51 -0
- package/src/modes/components/countdown-timer.ts +46 -0
- package/src/modes/components/custom-editor.ts +181 -0
- package/src/modes/components/custom-message.ts +91 -0
- package/src/modes/components/diff.ts +186 -0
- package/src/modes/components/dynamic-border.ts +25 -0
- package/src/modes/components/extensions/extension-dashboard.ts +325 -0
- package/src/modes/components/extensions/extension-list.ts +484 -0
- package/src/modes/components/extensions/index.ts +9 -0
- package/src/modes/components/extensions/inspector-panel.ts +321 -0
- package/src/modes/components/extensions/state-manager.ts +586 -0
- package/src/modes/components/extensions/types.ts +191 -0
- package/src/modes/components/footer.ts +315 -0
- package/src/modes/components/history-search.ts +157 -0
- package/src/modes/components/hook-editor.ts +101 -0
- package/src/modes/components/hook-input.ts +72 -0
- package/src/modes/components/hook-message.ts +100 -0
- package/src/modes/components/hook-selector.ts +155 -0
- package/src/modes/components/index.ts +41 -0
- package/src/modes/components/keybinding-hints.ts +65 -0
- package/src/modes/components/login-dialog.ts +164 -0
- package/src/modes/components/mcp-add-wizard.ts +1295 -0
- package/src/modes/components/model-selector.ts +625 -0
- package/src/modes/components/oauth-selector.ts +210 -0
- package/src/modes/components/plugin-settings.ts +477 -0
- package/src/modes/components/python-execution.ts +196 -0
- package/src/modes/components/queue-mode-selector.ts +56 -0
- package/src/modes/components/read-tool-group.ts +119 -0
- package/src/modes/components/session-selector.ts +242 -0
- package/src/modes/components/settings-defs.ts +340 -0
- package/src/modes/components/settings-selector.ts +529 -0
- package/src/modes/components/show-images-selector.ts +45 -0
- package/src/modes/components/skill-message.ts +90 -0
- package/src/modes/components/status-line/index.ts +4 -0
- package/src/modes/components/status-line/presets.ts +94 -0
- package/src/modes/components/status-line/segments.ts +352 -0
- package/src/modes/components/status-line/separators.ts +55 -0
- package/src/modes/components/status-line/types.ts +75 -0
- package/src/modes/components/status-line-segment-editor.ts +354 -0
- package/src/modes/components/status-line.ts +421 -0
- package/src/modes/components/theme-selector.ts +63 -0
- package/src/modes/components/thinking-selector.ts +64 -0
- package/src/modes/components/todo-display.ts +115 -0
- package/src/modes/components/todo-reminder.ts +40 -0
- package/src/modes/components/tool-execution.ts +703 -0
- package/src/modes/components/tree-selector.ts +904 -0
- package/src/modes/components/ttsr-notification.ts +80 -0
- package/src/modes/components/user-message-selector.ts +146 -0
- package/src/modes/components/user-message.ts +22 -0
- package/src/modes/components/visual-truncate.ts +63 -0
- package/src/modes/components/welcome.ts +247 -0
- package/src/modes/controllers/command-controller.ts +1120 -0
- package/src/modes/controllers/event-controller.ts +479 -0
- package/src/modes/controllers/extension-ui-controller.ts +778 -0
- package/src/modes/controllers/input-controller.ts +671 -0
- package/src/modes/controllers/mcp-command-controller.ts +1315 -0
- package/src/modes/controllers/selector-controller.ts +712 -0
- package/src/modes/controllers/ssh-command-controller.ts +452 -0
- package/src/modes/index.ts +15 -0
- package/src/modes/interactive-mode.ts +1027 -0
- package/src/modes/print-mode.ts +191 -0
- package/src/modes/rpc/rpc-client.ts +583 -0
- package/src/modes/rpc/rpc-mode.ts +700 -0
- package/src/modes/rpc/rpc-types.ts +236 -0
- package/src/modes/theme/dark.json +95 -0
- package/src/modes/theme/defaults/alabaster.json +93 -0
- package/src/modes/theme/defaults/amethyst.json +96 -0
- package/src/modes/theme/defaults/anthracite.json +93 -0
- package/src/modes/theme/defaults/basalt.json +91 -0
- package/src/modes/theme/defaults/birch.json +95 -0
- package/src/modes/theme/defaults/dark-abyss.json +91 -0
- package/src/modes/theme/defaults/dark-arctic.json +104 -0
- package/src/modes/theme/defaults/dark-aurora.json +95 -0
- package/src/modes/theme/defaults/dark-catppuccin.json +107 -0
- package/src/modes/theme/defaults/dark-cavern.json +91 -0
- package/src/modes/theme/defaults/dark-copper.json +95 -0
- package/src/modes/theme/defaults/dark-cosmos.json +90 -0
- package/src/modes/theme/defaults/dark-cyberpunk.json +102 -0
- package/src/modes/theme/defaults/dark-dracula.json +98 -0
- package/src/modes/theme/defaults/dark-eclipse.json +91 -0
- package/src/modes/theme/defaults/dark-ember.json +95 -0
- package/src/modes/theme/defaults/dark-equinox.json +90 -0
- package/src/modes/theme/defaults/dark-forest.json +96 -0
- package/src/modes/theme/defaults/dark-github.json +105 -0
- package/src/modes/theme/defaults/dark-gruvbox.json +112 -0
- package/src/modes/theme/defaults/dark-lavender.json +95 -0
- package/src/modes/theme/defaults/dark-lunar.json +89 -0
- package/src/modes/theme/defaults/dark-midnight.json +95 -0
- package/src/modes/theme/defaults/dark-monochrome.json +94 -0
- package/src/modes/theme/defaults/dark-monokai.json +98 -0
- package/src/modes/theme/defaults/dark-nebula.json +90 -0
- package/src/modes/theme/defaults/dark-nord.json +97 -0
- package/src/modes/theme/defaults/dark-ocean.json +101 -0
- package/src/modes/theme/defaults/dark-one.json +100 -0
- package/src/modes/theme/defaults/dark-rainforest.json +91 -0
- package/src/modes/theme/defaults/dark-reef.json +91 -0
- package/src/modes/theme/defaults/dark-retro.json +92 -0
- package/src/modes/theme/defaults/dark-rose-pine.json +96 -0
- package/src/modes/theme/defaults/dark-sakura.json +95 -0
- package/src/modes/theme/defaults/dark-slate.json +95 -0
- package/src/modes/theme/defaults/dark-solarized.json +97 -0
- package/src/modes/theme/defaults/dark-solstice.json +90 -0
- package/src/modes/theme/defaults/dark-starfall.json +91 -0
- package/src/modes/theme/defaults/dark-sunset.json +99 -0
- package/src/modes/theme/defaults/dark-swamp.json +90 -0
- package/src/modes/theme/defaults/dark-synthwave.json +103 -0
- package/src/modes/theme/defaults/dark-taiga.json +91 -0
- package/src/modes/theme/defaults/dark-terminal.json +95 -0
- package/src/modes/theme/defaults/dark-tokyo-night.json +101 -0
- package/src/modes/theme/defaults/dark-tundra.json +91 -0
- package/src/modes/theme/defaults/dark-twilight.json +91 -0
- package/src/modes/theme/defaults/dark-volcanic.json +91 -0
- package/src/modes/theme/defaults/graphite.json +92 -0
- package/src/modes/theme/defaults/index.ts +195 -0
- package/src/modes/theme/defaults/light-arctic.json +107 -0
- package/src/modes/theme/defaults/light-aurora-day.json +91 -0
- package/src/modes/theme/defaults/light-canyon.json +91 -0
- package/src/modes/theme/defaults/light-catppuccin.json +106 -0
- package/src/modes/theme/defaults/light-cirrus.json +90 -0
- package/src/modes/theme/defaults/light-coral.json +95 -0
- package/src/modes/theme/defaults/light-cyberpunk.json +96 -0
- package/src/modes/theme/defaults/light-dawn.json +90 -0
- package/src/modes/theme/defaults/light-dunes.json +91 -0
- package/src/modes/theme/defaults/light-eucalyptus.json +95 -0
- package/src/modes/theme/defaults/light-forest.json +100 -0
- package/src/modes/theme/defaults/light-frost.json +95 -0
- package/src/modes/theme/defaults/light-github.json +115 -0
- package/src/modes/theme/defaults/light-glacier.json +91 -0
- package/src/modes/theme/defaults/light-gruvbox.json +108 -0
- package/src/modes/theme/defaults/light-haze.json +90 -0
- package/src/modes/theme/defaults/light-honeycomb.json +95 -0
- package/src/modes/theme/defaults/light-lagoon.json +91 -0
- package/src/modes/theme/defaults/light-lavender.json +95 -0
- package/src/modes/theme/defaults/light-meadow.json +91 -0
- package/src/modes/theme/defaults/light-mint.json +95 -0
- package/src/modes/theme/defaults/light-monochrome.json +101 -0
- package/src/modes/theme/defaults/light-ocean.json +99 -0
- package/src/modes/theme/defaults/light-one.json +99 -0
- package/src/modes/theme/defaults/light-opal.json +91 -0
- package/src/modes/theme/defaults/light-orchard.json +91 -0
- package/src/modes/theme/defaults/light-paper.json +95 -0
- package/src/modes/theme/defaults/light-prism.json +90 -0
- package/src/modes/theme/defaults/light-retro.json +98 -0
- package/src/modes/theme/defaults/light-sand.json +95 -0
- package/src/modes/theme/defaults/light-savanna.json +91 -0
- package/src/modes/theme/defaults/light-solarized.json +102 -0
- package/src/modes/theme/defaults/light-soleil.json +90 -0
- package/src/modes/theme/defaults/light-sunset.json +99 -0
- package/src/modes/theme/defaults/light-synthwave.json +98 -0
- package/src/modes/theme/defaults/light-tokyo-night.json +111 -0
- package/src/modes/theme/defaults/light-wetland.json +91 -0
- package/src/modes/theme/defaults/light-zenith.json +89 -0
- package/src/modes/theme/defaults/limestone.json +94 -0
- package/src/modes/theme/defaults/mahogany.json +97 -0
- package/src/modes/theme/defaults/marble.json +93 -0
- package/src/modes/theme/defaults/obsidian.json +91 -0
- package/src/modes/theme/defaults/onyx.json +91 -0
- package/src/modes/theme/defaults/pearl.json +93 -0
- package/src/modes/theme/defaults/porcelain.json +91 -0
- package/src/modes/theme/defaults/quartz.json +96 -0
- package/src/modes/theme/defaults/sandstone.json +95 -0
- package/src/modes/theme/defaults/titanium.json +90 -0
- package/src/modes/theme/light.json +93 -0
- package/src/modes/theme/mermaid-cache.ts +111 -0
- package/src/modes/theme/theme-schema.json +429 -0
- package/src/modes/theme/theme.ts +2333 -0
- package/src/modes/types.ts +216 -0
- package/src/modes/utils/ui-helpers.ts +529 -0
- package/src/patch/applicator.ts +1482 -0
- package/src/patch/diff.ts +425 -0
- package/src/patch/fuzzy.ts +784 -0
- package/src/patch/hashline.ts +972 -0
- package/src/patch/index.ts +964 -0
- package/src/patch/normalize.ts +397 -0
- package/src/patch/normative.ts +72 -0
- package/src/patch/parser.ts +532 -0
- package/src/patch/shared.ts +400 -0
- package/src/patch/types.ts +292 -0
- package/src/priority.json +35 -0
- package/src/prompts/agents/explore.md +48 -0
- package/src/prompts/agents/frontmatter.md +9 -0
- package/src/prompts/agents/init.md +36 -0
- package/src/prompts/agents/librarian.md +53 -0
- package/src/prompts/agents/oracle.md +51 -0
- package/src/prompts/agents/reviewer.md +70 -0
- package/src/prompts/agents/task.md +14 -0
- package/src/prompts/compaction/branch-summary-context.md +5 -0
- package/src/prompts/compaction/branch-summary-preamble.md +2 -0
- package/src/prompts/compaction/branch-summary.md +30 -0
- package/src/prompts/compaction/compaction-short-summary.md +9 -0
- package/src/prompts/compaction/compaction-summary-context.md +5 -0
- package/src/prompts/compaction/compaction-summary.md +38 -0
- package/src/prompts/compaction/compaction-turn-prefix.md +17 -0
- package/src/prompts/compaction/compaction-update-summary.md +45 -0
- package/src/prompts/memories/consolidation.md +30 -0
- package/src/prompts/memories/read_path.md +11 -0
- package/src/prompts/memories/stage_one_input.md +6 -0
- package/src/prompts/memories/stage_one_system.md +21 -0
- package/src/prompts/review-request.md +64 -0
- package/src/prompts/system/agent-creation-architect.md +65 -0
- package/src/prompts/system/agent-creation-user.md +6 -0
- package/src/prompts/system/custom-system-prompt.md +68 -0
- package/src/prompts/system/file-operations.md +10 -0
- package/src/prompts/system/subagent-submit-reminder.md +11 -0
- package/src/prompts/system/subagent-system-prompt.md +31 -0
- package/src/prompts/system/subagent-user-prompt.md +8 -0
- package/src/prompts/system/summarization-system.md +3 -0
- package/src/prompts/system/system-prompt.md +300 -0
- package/src/prompts/system/title-system.md +2 -0
- package/src/prompts/system/ttsr-interrupt.md +7 -0
- package/src/prompts/system/web-search.md +28 -0
- package/src/prompts/tools/ask.md +44 -0
- package/src/prompts/tools/bash.md +24 -0
- package/src/prompts/tools/browser.md +33 -0
- package/src/prompts/tools/calculator.md +12 -0
- package/src/prompts/tools/explore.md +29 -0
- package/src/prompts/tools/fetch.md +16 -0
- package/src/prompts/tools/find.md +18 -0
- package/src/prompts/tools/gemini-image.md +23 -0
- package/src/prompts/tools/grep.md +28 -0
- package/src/prompts/tools/hashline.md +232 -0
- package/src/prompts/tools/librarian.md +24 -0
- package/src/prompts/tools/lsp.md +28 -0
- package/src/prompts/tools/oracle.md +26 -0
- package/src/prompts/tools/patch.md +74 -0
- package/src/prompts/tools/python.md +66 -0
- package/src/prompts/tools/read.md +36 -0
- package/src/prompts/tools/replace.md +38 -0
- package/src/prompts/tools/reviewer.md +41 -0
- package/src/prompts/tools/ssh.md +51 -0
- package/src/prompts/tools/task-summary.md +28 -0
- package/src/prompts/tools/task.md +275 -0
- package/src/prompts/tools/todo-write.md +65 -0
- package/src/prompts/tools/undo-edit.md +7 -0
- package/src/prompts/tools/web-search.md +19 -0
- package/src/prompts/tools/write.md +18 -0
- package/src/sdk.ts +1287 -0
- package/src/secrets/index.ts +116 -0
- package/src/secrets/obfuscator.ts +269 -0
- package/src/secrets/regex.ts +21 -0
- package/src/session/agent-session.ts +4669 -0
- package/src/session/agent-storage.ts +621 -0
- package/src/session/artifacts.ts +132 -0
- package/src/session/auth-storage.ts +1433 -0
- package/src/session/blob-store.ts +103 -0
- package/src/session/compaction/branch-summarization.ts +315 -0
- package/src/session/compaction/compaction.ts +864 -0
- package/src/session/compaction/index.ts +7 -0
- package/src/session/compaction/pruning.ts +91 -0
- package/src/session/compaction/utils.ts +171 -0
- package/src/session/history-storage.ts +170 -0
- package/src/session/messages.ts +317 -0
- package/src/session/session-manager.ts +2276 -0
- package/src/session/session-storage.ts +342 -0
- package/src/session/streaming-output.ts +565 -0
- package/src/slash-commands/builtin-registry.ts +439 -0
- package/src/ssh/config-writer.ts +183 -0
- package/src/ssh/connection-manager.ts +444 -0
- package/src/ssh/ssh-executor.ts +127 -0
- package/src/ssh/sshfs-mount.ts +135 -0
- package/src/stt/downloader.ts +71 -0
- package/src/stt/index.ts +3 -0
- package/src/stt/recorder.ts +351 -0
- package/src/stt/setup.ts +52 -0
- package/src/stt/stt-controller.ts +160 -0
- package/src/stt/transcribe.py +70 -0
- package/src/stt/transcriber.ts +91 -0
- package/src/system-prompt.ts +685 -0
- package/src/task/agents.ts +155 -0
- package/src/task/batch.ts +102 -0
- package/src/task/commands.ts +134 -0
- package/src/task/discovery.ts +126 -0
- package/src/task/executor.ts +908 -0
- package/src/task/index.ts +223 -0
- package/src/task/output-manager.ts +107 -0
- package/src/task/parallel.ts +84 -0
- package/src/task/render.ts +326 -0
- package/src/task/subprocess-tool-registry.ts +88 -0
- package/src/task/template.ts +32 -0
- package/src/task/types.ts +144 -0
- package/src/tools/ask.ts +523 -0
- package/src/tools/bash-interactive.ts +419 -0
- package/src/tools/bash-interceptor.ts +105 -0
- package/src/tools/bash-normalize.ts +107 -0
- package/src/tools/bash-skill-urls.ts +177 -0
- package/src/tools/bash.ts +347 -0
- package/src/tools/browser.ts +1374 -0
- package/src/tools/calculator.ts +537 -0
- package/src/tools/context.ts +39 -0
- package/src/tools/explore.ts +23 -0
- package/src/tools/fetch.ts +1091 -0
- package/src/tools/find.ts +540 -0
- package/src/tools/fs-cache-invalidation.ts +28 -0
- package/src/tools/gemini-image.ts +907 -0
- package/src/tools/grep.ts +489 -0
- package/src/tools/index.ts +337 -0
- package/src/tools/json-tree.ts +231 -0
- package/src/tools/jtd-to-json-schema.ts +247 -0
- package/src/tools/jtd-to-typescript.ts +198 -0
- package/src/tools/librarian.ts +33 -0
- package/src/tools/list-limit.ts +40 -0
- package/src/tools/notebook.ts +287 -0
- package/src/tools/oracle.ts +40 -0
- package/src/tools/output-meta.ts +459 -0
- package/src/tools/output-utils.ts +63 -0
- package/src/tools/path-utils.ts +116 -0
- package/src/tools/puppeteer/00_stealth_tampering.txt +63 -0
- package/src/tools/puppeteer/01_stealth_activity.txt +20 -0
- package/src/tools/puppeteer/02_stealth_hairline.txt +11 -0
- package/src/tools/puppeteer/03_stealth_botd.txt +384 -0
- package/src/tools/puppeteer/04_stealth_iframe.txt +81 -0
- package/src/tools/puppeteer/05_stealth_webgl.txt +75 -0
- package/src/tools/puppeteer/06_stealth_screen.txt +72 -0
- package/src/tools/puppeteer/07_stealth_fonts.txt +97 -0
- package/src/tools/puppeteer/08_stealth_audio.txt +51 -0
- package/src/tools/puppeteer/09_stealth_locale.txt +46 -0
- package/src/tools/puppeteer/10_stealth_plugins.txt +206 -0
- package/src/tools/puppeteer/11_stealth_hardware.txt +8 -0
- package/src/tools/puppeteer/12_stealth_codecs.txt +40 -0
- package/src/tools/puppeteer/13_stealth_worker.txt +74 -0
- package/src/tools/python.ts +1118 -0
- package/src/tools/read.ts +1193 -0
- package/src/tools/render-utils.ts +680 -0
- package/src/tools/renderers.ts +60 -0
- package/src/tools/reviewer-tool.ts +41 -0
- package/src/tools/ssh.ts +326 -0
- package/src/tools/subagent-tool.ts +169 -0
- package/src/tools/submit-result.ts +152 -0
- package/src/tools/todo-write.ts +255 -0
- package/src/tools/tool-errors.ts +92 -0
- package/src/tools/tool-result.ts +86 -0
- package/src/tools/undo-edit.ts +145 -0
- package/src/tools/undo-history.ts +22 -0
- package/src/tools/write.ts +274 -0
- package/src/tui/code-cell.ts +108 -0
- package/src/tui/file-list.ts +47 -0
- package/src/tui/index.ts +11 -0
- package/src/tui/output-block.ts +144 -0
- package/src/tui/status-line.ts +39 -0
- package/src/tui/tree-list.ts +53 -0
- package/src/tui/types.ts +16 -0
- package/src/tui/utils.ts +116 -0
- package/src/utils/changelog.ts +98 -0
- package/src/utils/event-bus.ts +33 -0
- package/src/utils/external-editor.ts +59 -0
- package/src/utils/file-display-mode.ts +36 -0
- package/src/utils/file-mentions.ts +384 -0
- package/src/utils/frontmatter.ts +101 -0
- package/src/utils/fuzzy.ts +108 -0
- package/src/utils/ignore-files.ts +119 -0
- package/src/utils/image-convert.ts +27 -0
- package/src/utils/image-resize.ts +236 -0
- package/src/utils/mime.ts +30 -0
- package/src/utils/open.ts +20 -0
- package/src/utils/shell-snapshot.ts +199 -0
- package/src/utils/timings.ts +26 -0
- package/src/utils/title-generator.ts +167 -0
- package/src/utils/tools-manager.ts +362 -0
- package/src/web/scrapers/artifacthub.ts +215 -0
- package/src/web/scrapers/arxiv.ts +88 -0
- package/src/web/scrapers/aur.ts +175 -0
- package/src/web/scrapers/biorxiv.ts +141 -0
- package/src/web/scrapers/bluesky.ts +284 -0
- package/src/web/scrapers/brew.ts +177 -0
- package/src/web/scrapers/cheatsh.ts +78 -0
- package/src/web/scrapers/chocolatey.ts +158 -0
- package/src/web/scrapers/choosealicense.ts +110 -0
- package/src/web/scrapers/cisa-kev.ts +100 -0
- package/src/web/scrapers/clojars.ts +180 -0
- package/src/web/scrapers/coingecko.ts +184 -0
- package/src/web/scrapers/crates-io.ts +128 -0
- package/src/web/scrapers/crossref.ts +149 -0
- package/src/web/scrapers/devto.ts +177 -0
- package/src/web/scrapers/discogs.ts +307 -0
- package/src/web/scrapers/discourse.ts +221 -0
- package/src/web/scrapers/dockerhub.ts +160 -0
- package/src/web/scrapers/fdroid.ts +158 -0
- package/src/web/scrapers/firefox-addons.ts +214 -0
- package/src/web/scrapers/flathub.ts +239 -0
- package/src/web/scrapers/github-gist.ts +68 -0
- package/src/web/scrapers/github.ts +490 -0
- package/src/web/scrapers/gitlab.ts +456 -0
- package/src/web/scrapers/go-pkg.ts +275 -0
- package/src/web/scrapers/hackage.ts +94 -0
- package/src/web/scrapers/hackernews.ts +208 -0
- package/src/web/scrapers/hex.ts +121 -0
- package/src/web/scrapers/huggingface.ts +385 -0
- package/src/web/scrapers/iacr.ts +86 -0
- package/src/web/scrapers/index.ts +249 -0
- package/src/web/scrapers/jetbrains-marketplace.ts +169 -0
- package/src/web/scrapers/lemmy.ts +220 -0
- package/src/web/scrapers/lobsters.ts +186 -0
- package/src/web/scrapers/mastodon.ts +310 -0
- package/src/web/scrapers/maven.ts +152 -0
- package/src/web/scrapers/mdn.ts +172 -0
- package/src/web/scrapers/metacpan.ts +253 -0
- package/src/web/scrapers/musicbrainz.ts +272 -0
- package/src/web/scrapers/npm.ts +114 -0
- package/src/web/scrapers/nuget.ts +205 -0
- package/src/web/scrapers/nvd.ts +243 -0
- package/src/web/scrapers/ollama.ts +265 -0
- package/src/web/scrapers/open-vsx.ts +119 -0
- package/src/web/scrapers/opencorporates.ts +275 -0
- package/src/web/scrapers/openlibrary.ts +319 -0
- package/src/web/scrapers/orcid.ts +298 -0
- package/src/web/scrapers/osv.ts +192 -0
- package/src/web/scrapers/packagist.ts +174 -0
- package/src/web/scrapers/pub-dev.ts +185 -0
- package/src/web/scrapers/pubmed.ts +177 -0
- package/src/web/scrapers/pypi.ts +129 -0
- package/src/web/scrapers/rawg.ts +124 -0
- package/src/web/scrapers/readthedocs.ts +125 -0
- package/src/web/scrapers/reddit.ts +104 -0
- package/src/web/scrapers/repology.ts +262 -0
- package/src/web/scrapers/rfc.ts +209 -0
- package/src/web/scrapers/rubygems.ts +117 -0
- package/src/web/scrapers/searchcode.ts +217 -0
- package/src/web/scrapers/sec-edgar.ts +274 -0
- package/src/web/scrapers/semantic-scholar.ts +190 -0
- package/src/web/scrapers/snapcraft.ts +200 -0
- package/src/web/scrapers/sourcegraph.ts +373 -0
- package/src/web/scrapers/spdx.ts +121 -0
- package/src/web/scrapers/spotify.ts +217 -0
- package/src/web/scrapers/stackoverflow.ts +124 -0
- package/src/web/scrapers/terraform.ts +304 -0
- package/src/web/scrapers/tldr.ts +51 -0
- package/src/web/scrapers/twitter.ts +97 -0
- package/src/web/scrapers/types.ts +200 -0
- package/src/web/scrapers/utils.ts +142 -0
- package/src/web/scrapers/vimeo.ts +152 -0
- package/src/web/scrapers/vscode-marketplace.ts +195 -0
- package/src/web/scrapers/w3c.ts +163 -0
- package/src/web/scrapers/wikidata.ts +357 -0
- package/src/web/scrapers/wikipedia.ts +95 -0
- package/src/web/scrapers/youtube.ts +312 -0
- package/src/web/search/auth.ts +178 -0
- package/src/web/search/index.ts +598 -0
- package/src/web/search/provider.ts +77 -0
- package/src/web/search/providers/anthropic.ts +284 -0
- package/src/web/search/providers/base.ts +22 -0
- package/src/web/search/providers/brave.ts +165 -0
- package/src/web/search/providers/codex.ts +377 -0
- package/src/web/search/providers/exa.ts +158 -0
- package/src/web/search/providers/gemini.ts +437 -0
- package/src/web/search/providers/jina.ts +99 -0
- package/src/web/search/providers/kimi.ts +196 -0
- package/src/web/search/providers/perplexity.ts +546 -0
- package/src/web/search/providers/synthetic.ts +136 -0
- package/src/web/search/providers/zai.ts +352 -0
- package/src/web/search/render.ts +299 -0
- package/src/web/search/types.ts +437 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Review
|
|
2
|
+
|
|
3
|
+
Review code changes using a specialized code review subagent. The reviewer identifies bugs the author would want fixed before merge — not style issues, not pre-existing bugs.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
- Review uncommitted changes, a specific commit, or a PR diff
|
|
7
|
+
- Check code quality and correctness of recent modifications
|
|
8
|
+
- Analyze a diff for bugs, security issues, or logic errors
|
|
9
|
+
|
|
10
|
+
## When NOT to use
|
|
11
|
+
- Simple file reading or code understanding (use Read/Grep/Explore)
|
|
12
|
+
- Making code changes (use Edit/Write/Task)
|
|
13
|
+
|
|
14
|
+
## Parameters
|
|
15
|
+
|
|
16
|
+
### `diff_description` (required)
|
|
17
|
+
|
|
18
|
+
A description or command that identifies the diff to review. Examples:
|
|
19
|
+
- `"uncommitted changes"` — reviews `git diff`
|
|
20
|
+
- `"last commit"` — reviews `git show HEAD`
|
|
21
|
+
- `"PR #42"` — reviews `gh pr diff 42`
|
|
22
|
+
- `"changes against main branch"` — reviews `git diff main...HEAD`
|
|
23
|
+
|
|
24
|
+
### `files` (optional)
|
|
25
|
+
|
|
26
|
+
Array of specific file paths to focus the review on. If omitted, all changed files are reviewed.
|
|
27
|
+
|
|
28
|
+
### `instructions` (optional)
|
|
29
|
+
|
|
30
|
+
Additional guidance for the reviewer. Examples:
|
|
31
|
+
- `"Focus on error handling"`
|
|
32
|
+
- `"Check for race conditions in the async code"`
|
|
33
|
+
- `"Verify backward compatibility"`
|
|
34
|
+
|
|
35
|
+
## Output
|
|
36
|
+
|
|
37
|
+
Returns structured review with:
|
|
38
|
+
- `overall_correctness`: "correct" or "incorrect"
|
|
39
|
+
- `explanation`: 1-3 sentence verdict summary
|
|
40
|
+
- `confidence`: 0.0-1.0
|
|
41
|
+
- `findings`: list of issues found, each with title, body, priority (P0-P3), file path, and line range
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# SSH
|
|
2
|
+
|
|
3
|
+
Run commands on remote hosts.
|
|
4
|
+
|
|
5
|
+
<instruction>
|
|
6
|
+
Build commands from reference below
|
|
7
|
+
</instruction>
|
|
8
|
+
|
|
9
|
+
<commands>
|
|
10
|
+
**linux/bash, linux/zsh, macos/bash, macos/zsh** — Unix-like:
|
|
11
|
+
- Files: `ls`, `cat`, `head`, `tail`, `grep`, `find`
|
|
12
|
+
- System: `ps`, `top`, `df`, `uname` (all), `free` (Linux only)
|
|
13
|
+
- Navigation: `cd`, `pwd`
|
|
14
|
+
**windows/bash, windows/sh** — Windows Unix layer (WSL, Cygwin, Git Bash):
|
|
15
|
+
- Files/System/Navigation: same as Unix-like above, minus `free`
|
|
16
|
+
**windows/powershell** — PowerShell:
|
|
17
|
+
- Files: `Get-ChildItem`, `Get-Content`, `Select-String`
|
|
18
|
+
- System: `Get-Process`, `Get-ComputerInfo`
|
|
19
|
+
- Navigation: `Set-Location`, `Get-Location`
|
|
20
|
+
**windows/cmd** — Command Prompt:
|
|
21
|
+
- Files: `dir`, `type`, `findstr`, `where`
|
|
22
|
+
- System: `tasklist`, `systeminfo`
|
|
23
|
+
- Navigation: `cd`, `echo %CD%`
|
|
24
|
+
</commands>
|
|
25
|
+
|
|
26
|
+
<output>
|
|
27
|
+
stdout/stderr combined, truncated at 50KB; exit code captured.
|
|
28
|
+
If truncated, full output stored under $ARTIFACTS as `artifact://<id>`.
|
|
29
|
+
</output>
|
|
30
|
+
|
|
31
|
+
<critical>
|
|
32
|
+
Verify shell type from "Available hosts", use matching commands.
|
|
33
|
+
</critical>
|
|
34
|
+
|
|
35
|
+
<example name="linux">
|
|
36
|
+
Task: List /home/user files on "server1"
|
|
37
|
+
Host: server1 (10.0.0.1) | linux/bash
|
|
38
|
+
Command: `ls -la /home/user`
|
|
39
|
+
</example>
|
|
40
|
+
|
|
41
|
+
<example name="windows-cmd">
|
|
42
|
+
Task: Show running processes on "winbox"
|
|
43
|
+
Host: winbox (192.168.1.5) | windows/cmd
|
|
44
|
+
Command: `tasklist /v`
|
|
45
|
+
</example>
|
|
46
|
+
|
|
47
|
+
<example name="macos">
|
|
48
|
+
Task: Get system info on "macbook"
|
|
49
|
+
Host: macbook (10.0.0.20) | macos/zsh
|
|
50
|
+
Command: `uname -a && sw_vers`
|
|
51
|
+
</example>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<task-summary>
|
|
2
|
+
<header>{{successCount}}/{{totalCount}} succeeded{{#if hasCancelledNote}} ({{cancelledCount}} cancelled){{/if}} [{{duration}}]</header>
|
|
3
|
+
|
|
4
|
+
{{#each summaries}}
|
|
5
|
+
<agent id="{{id}}" agent="{{agent}}">
|
|
6
|
+
<status>{{status}}</status>
|
|
7
|
+
{{#if meta}}<meta lines="{{meta.lineCount}}" size="{{meta.charSize}}" />{{/if}}
|
|
8
|
+
{{#if truncated}}
|
|
9
|
+
<preview full-path="agent://{{id}}">
|
|
10
|
+
{{preview}}
|
|
11
|
+
</preview>
|
|
12
|
+
{{else}}
|
|
13
|
+
<result>
|
|
14
|
+
{{preview}}
|
|
15
|
+
</result>
|
|
16
|
+
{{/if}}
|
|
17
|
+
</agent>
|
|
18
|
+
{{#unless @last}}
|
|
19
|
+
---
|
|
20
|
+
{{/unless}}
|
|
21
|
+
{{/each}}
|
|
22
|
+
|
|
23
|
+
{{#if patchApplySummary}}
|
|
24
|
+
<patch-summary>
|
|
25
|
+
{{patchApplySummary}}
|
|
26
|
+
</patch-summary>
|
|
27
|
+
{{/if}}
|
|
28
|
+
</task-summary>
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# Task
|
|
2
|
+
|
|
3
|
+
Launch subagents to execute parallel, well-scoped tasks.
|
|
4
|
+
|
|
5
|
+
## What subagents inherit automatically
|
|
6
|
+
Subagents receive the **full system prompt**, including AGENTS.md, context files, and skills. Do NOT repeat project rules, coding conventions, or style guidelines in `context` — they already have them.
|
|
7
|
+
|
|
8
|
+
## What subagents do NOT have
|
|
9
|
+
Subagents have no access to your conversation history. They don't know:
|
|
10
|
+
- Decisions you made but didn't write down
|
|
11
|
+
- Which approach you chose among alternatives
|
|
12
|
+
- What you learned from reading files during this session
|
|
13
|
+
- Requirements the user stated only in conversation
|
|
14
|
+
|
|
15
|
+
Subagents CAN grep the parent conversation file for supplementary details.
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
|
|
20
|
+
### `context` (optional — strongly recommended)
|
|
21
|
+
|
|
22
|
+
Shared background prepended verbatim to every task `assignment`. Use only for session-specific information subagents lack.
|
|
23
|
+
|
|
24
|
+
<critical>
|
|
25
|
+
Do NOT include project rules, coding conventions, or style guidelines — subagents already have AGENTS.md and context files in their system prompt. Repeating them wastes tokens and inflates context. Restating any rule from AGENTS.md in `context` is a bug — treat it like a lint error.
|
|
26
|
+
</critical>
|
|
27
|
+
**Before writing each line of context, ask:** "Would this sentence be true for ANY task in this repo, or only for THIS specific batch?" If it applies to any task → it's a project rule → the subagent already has it → delete the line.
|
|
28
|
+
|
|
29
|
+
WRONG — restating project rules the subagent already has:
|
|
30
|
+
```
|
|
31
|
+
## Constraints
|
|
32
|
+
- Use X import style, not Y (per AGENTS.md)
|
|
33
|
+
- Use Z for private fields per AGENTS.md
|
|
34
|
+
- Run the formatter after changes
|
|
35
|
+
- Follow the logging convention
|
|
36
|
+
```
|
|
37
|
+
Every line above restates a project convention. The subagent reads AGENTS.md. Delete them all.
|
|
38
|
+
|
|
39
|
+
RIGHT — only session-specific decisions the subagent cannot infer from project files:
|
|
40
|
+
```
|
|
41
|
+
## Constraints
|
|
42
|
+
- We decided to use approach A over B (session decision)
|
|
43
|
+
- The migration target type is `Foo` from `bar` package (looked up this session)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Use template; omit non-applicable sections:
|
|
47
|
+
|
|
48
|
+
````
|
|
49
|
+
## Goal
|
|
50
|
+
One sentence: batch accomplishes together.
|
|
51
|
+
|
|
52
|
+
## Non-goals
|
|
53
|
+
Explicitly exclude tempting scope — what tasks must not touch/attempt.
|
|
54
|
+
|
|
55
|
+
## Constraints
|
|
56
|
+
- Task-specific MUST / MUST NOT rules not already in AGENTS.md
|
|
57
|
+
- Decisions made during this session that affect implementation
|
|
58
|
+
|
|
59
|
+
## Reference Files
|
|
60
|
+
- `path/to/file.ext` — pattern demo
|
|
61
|
+
- `path/to/other.ext` — reuse or avoid
|
|
62
|
+
|
|
63
|
+
## API Contract (if tasks produce/consume shared interface)
|
|
64
|
+
```language
|
|
65
|
+
// Exact type definitions, function signatures, interface shapes
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Acceptance (global)
|
|
69
|
+
- Definition of "done" for batch
|
|
70
|
+
- Note: build/test/lint verification happens AFTER all tasks complete — not inside tasks (see below)
|
|
71
|
+
````
|
|
72
|
+
**Belongs in `context`**: task-specific goal, non-goals, session decisions, reference paths, shared type definitions, API contracts, global acceptance commands — anything 2+ tasks need that isn't already in AGENTS.md.
|
|
73
|
+
**Rule of thumb:** if repeat in 2+ tasks, belongs in `context`.
|
|
74
|
+
**Does NOT belong in `context`**: project rules already in AGENTS.md/context files, per-task file lists, one-off requirements (go in `assignment`), and strict response contracts that only apply to one task.
|
|
75
|
+
|
|
76
|
+
### `tasks` (required)
|
|
77
|
+
|
|
78
|
+
Array tasks execute in parallel.
|
|
79
|
+
|
|
80
|
+
|Field|Required|Purpose|
|
|
81
|
+
|---|---|---|
|
|
82
|
+
|`id`|✓|CamelCase identifier, max 32 chars|
|
|
83
|
+
|`description`|✓|Short one-liner for UI display only — not seen by subagent|
|
|
84
|
+
|`assignment`|✓|Complete per-task instructions. See [Writing an assignment](#writing-an-assignment).|
|
|
85
|
+
|`skills`||Skill names preload. Use only when changes correctness — don’t spam every task.|
|
|
86
|
+
|
|
87
|
+
Outputs are free-form text/JSON from each subtask. If you need strict structure, define it clearly inside each `assignment` and validate at the caller.
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Writing an assignment
|
|
91
|
+
|
|
92
|
+
<critical>## Task scope
|
|
93
|
+
|
|
94
|
+
`assignment` must contain enough info for agent to act **without asking a clarifying question**.
|
|
95
|
+
**Minimum bar:** assignment under ~8 lines or missing acceptance criteria = too vague. One-liners guaranteed failure.
|
|
96
|
+
|
|
97
|
+
Use structure every assignment:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
## Target
|
|
101
|
+
- Files: exact path(s)
|
|
102
|
+
- Symbols/entrypoints: specific functions, types, exports
|
|
103
|
+
- Non-goals: what task must NOT touch (prevents scope creep)
|
|
104
|
+
|
|
105
|
+
## Change
|
|
106
|
+
- Step-by-step: add/remove/rename/restructure
|
|
107
|
+
- Patterns/APIs to use; reference files if applicable
|
|
108
|
+
|
|
109
|
+
## Edge Cases / Don't Break
|
|
110
|
+
- Tricky case 1: ...
|
|
111
|
+
- Tricky case 2: ...
|
|
112
|
+
- Existing behavior must survive: ...
|
|
113
|
+
|
|
114
|
+
## Acceptance (task-local)
|
|
115
|
+
- Expected behavior or observable result
|
|
116
|
+
- DO NOT include project-wide build/test/lint commands (see below)
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
`context` carries shared background. `assignment` carries only delta: file-specific instructions, local edge cases, per-task acceptance checks. Never duplicate shared constraints across assignments.
|
|
120
|
+
|
|
121
|
+
### Anti-patterns (ban these)
|
|
122
|
+
**Vague assignments** — agent guesses wrong or stalls:
|
|
123
|
+
- "Refactor this to be cleaner."
|
|
124
|
+
- "Migrate to N-API."
|
|
125
|
+
- "Fix the bug in streaming."
|
|
126
|
+
- "Update all constructors in `src/**/*.ts`."
|
|
127
|
+
**Vague context** — forces agent invent conventions:
|
|
128
|
+
- "Use existing patterns."
|
|
129
|
+
- "Follow conventions."
|
|
130
|
+
- "No WASM."
|
|
131
|
+
**Redundant context** — wastes tokens repeating what subagents already have:
|
|
132
|
+
- Restating AGENTS.md rules (coding style, import conventions, formatting commands, logger usage, etc.)
|
|
133
|
+
- Repeating project constraints from context files
|
|
134
|
+
- Listing tool/framework preferences already documented in the repo
|
|
135
|
+
|
|
136
|
+
If a constraint appears in AGENTS.md, it MUST NOT appear in `context`. The subagent has the full system prompt.
|
|
137
|
+
|
|
138
|
+
If tempted to write above, expand using templates.
|
|
139
|
+
**Test/lint commands in parallel tasks** — edit wars:
|
|
140
|
+
Parallel agents share working tree. If two agents run `bun check` or `bun test` concurrently, they see each other's half-finished edits, "fix" phantom errors, loop. **Never tell parallel tasks run project-wide build/test/lint commands.** Each task edits, stops. Caller verifies after all tasks complete.
|
|
141
|
+
**If you can't specify scope yet**, create **Discovery task** first: enumerate files, find callsites, list candidates. Then fan out with explicit paths.
|
|
142
|
+
|
|
143
|
+
### Delegate intent, not keystrokes
|
|
144
|
+
|
|
145
|
+
Your role as tech lead: set direction, define boundaries, call out pitfalls — then get out of way. Don’t read every file, decide every edit, dictate line-by-line. That makes you bottleneck; agent typist.
|
|
146
|
+
**Be specific about:** constraints, naming conventions, API contracts, "don’t break" items, acceptance criteria.
|
|
147
|
+
**Delegate:** code reading, approach selection, exact edit locations, implementation details. Agent has tools, can reason about code.
|
|
148
|
+
|
|
149
|
+
Micromanaging (you think, agent types):
|
|
150
|
+
```
|
|
151
|
+
assignment: "In src/api/handler.ts, line 47, change `throw err` to `throw new ApiError(err.message, 500)`.
|
|
152
|
+
On line 63, wrap fetch call try/catch return 502 on failure.
|
|
153
|
+
On line 89, add null check before accessing resp.body..."
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Delegating (agent thinks within constraints):
|
|
157
|
+
```
|
|
158
|
+
assignment: "## Target\n- Files: src/api/handler.ts\n\n## Change\nImprove error handling: replace raw throws
|
|
159
|
+
with typed ApiError instances, add try/catch around external calls, guard against null responses.\n\n
|
|
160
|
+
## Edge Cases / Don't Break\n- Existing error codes in tests must still match\n
|
|
161
|
+
- Don't change public function signatures"
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
First style wastes your time, brittle if code shifts. Second gives agent room to do work.
|
|
165
|
+
</critical>
|
|
166
|
+
|
|
167
|
+
## Example
|
|
168
|
+
|
|
169
|
+
<example type="bad" label="Duplicated context inflates tokens">
|
|
170
|
+
<tasks>
|
|
171
|
+
<task name="Grep">
|
|
172
|
+
<description>Port grep module from WASM to N-API...</description>
|
|
173
|
+
<assignment>Port grep module from WASM to N-API... (same blob repeated)</assignment>
|
|
174
|
+
</task>
|
|
175
|
+
</tasks>
|
|
176
|
+
</example>
|
|
177
|
+
|
|
178
|
+
<example type="good" label="Shared rules in context, only deltas in assignment">
|
|
179
|
+
<context>
|
|
180
|
+
## Goal
|
|
181
|
+
Port WASM modules to N-API, matching existing arcane-natives conventions.
|
|
182
|
+
|
|
183
|
+
## Non-goals
|
|
184
|
+
Do not touch TS bindings or downstream consumers — separate phase.
|
|
185
|
+
|
|
186
|
+
## Constraints
|
|
187
|
+
- MUST use `#[napi]` attribute macro on all exports
|
|
188
|
+
- MUST return `napi::Result<T>` for fallible ops; never panic
|
|
189
|
+
- MUST use `spawn_blocking` for filesystem I/O or >1ms work
|
|
190
|
+
...
|
|
191
|
+
|
|
192
|
+
## Acceptance (global)
|
|
193
|
+
- Caller verifies after all tasks: `cargo test -p arcane-natives` and `cargo build -p arcane-natives` with no warnings
|
|
194
|
+
- Individual tasks must NOT run these commands themselves
|
|
195
|
+
</context>
|
|
196
|
+
|
|
197
|
+
<tasks>
|
|
198
|
+
<task name="PortGrep">
|
|
199
|
+
<description>Port grep module to N-API</description>
|
|
200
|
+
<assignment>
|
|
201
|
+
## Target
|
|
202
|
+
- Files: `src/grep.rs`, `src/lib.rs` (registration only)
|
|
203
|
+
- Symbols: search, search_multi, compile_pattern
|
|
204
|
+
|
|
205
|
+
## Change
|
|
206
|
+
- Implement three N-API exports in grep.rs:
|
|
207
|
+
- `search(pattern: JsString, path: JsString, env: Env) -> napi::Result<Vec<Match>>`
|
|
208
|
+
...
|
|
209
|
+
|
|
210
|
+
## Acceptance (task-local)
|
|
211
|
+
- Three functions exported with correct signatures (caller verifies build after all tasks)
|
|
212
|
+
</assignment>
|
|
213
|
+
</task>
|
|
214
|
+
|
|
215
|
+
<task name="PortHighlight">
|
|
216
|
+
<description>Port highlight module to N-API</description>
|
|
217
|
+
<assignment>
|
|
218
|
+
## Target
|
|
219
|
+
- Files: `src/highlight.rs`, `src/lib.rs` (registration only)
|
|
220
|
+
...
|
|
221
|
+
</assignment>
|
|
222
|
+
</task>
|
|
223
|
+
</tasks>
|
|
224
|
+
</example>
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Task scope
|
|
228
|
+
|
|
229
|
+
Each task small, well-defined scope — **at most 3–5 files**.
|
|
230
|
+
**Signs task too broad:**
|
|
231
|
+
- File paths use globs (`src/**/*.ts`) instead of explicit names
|
|
232
|
+
- Assignment says "update all" / "migrate everything" / "refactor across"
|
|
233
|
+
- Scope covers entire package or directory tree
|
|
234
|
+
**Fix:** enumerate files first (grep/glob discovery), then fan out one task per file or small cluster.
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Parallelization
|
|
238
|
+
**Test:** Can task B produce correct output without seeing task A's result?
|
|
239
|
+
- **Yes** → parallelize
|
|
240
|
+
- **No** → run sequentially (A completes, then launch B with A output in context)
|
|
241
|
+
|
|
242
|
+
### Must be sequential
|
|
243
|
+
|
|
244
|
+
|First|Then|Reason|
|
|
245
|
+
|---|---|---|
|
|
246
|
+
|Define types/interfaces|Implement consumers|Consumers need contract|
|
|
247
|
+
|Create API exports|Write bindings/callers|Callers need export names/signatures|
|
|
248
|
+
|Scaffold structure|Implement bodies|Bodies need shape|
|
|
249
|
+
|Core module|Dependent modules|Dependents import from core|
|
|
250
|
+
|Schema/DB migration|Application logic|Logic depends on new schema shape|
|
|
251
|
+
|
|
252
|
+
### Safe to parallelize
|
|
253
|
+
- Independent modules, no cross-imports
|
|
254
|
+
- Tests for already-implemented code
|
|
255
|
+
- Isolated file-scoped refactors
|
|
256
|
+
- Documentation for stable APIs
|
|
257
|
+
|
|
258
|
+
### Phased execution
|
|
259
|
+
|
|
260
|
+
Layered work with dependencies:
|
|
261
|
+
**Phase 1 — Foundation** (do yourself or single task): define interfaces, create scaffolds, establish API shape. Never fan out until contract known.
|
|
262
|
+
**Phase 2 — Parallel implementation**: fan out tasks consuming same known interface. Include Phase 1 API contract in `context`.
|
|
263
|
+
**Phase 3 — Integration** (do yourself): wire modules, fix mismatches, verify builds.
|
|
264
|
+
**Phase 4 — Dependent layer**: fan out tasks consuming Phase 2 outputs.
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Pre-flight checklist
|
|
268
|
+
|
|
269
|
+
Before calling tool, verify:
|
|
270
|
+
- [ ] `context` includes only session-specific info not already in AGENTS.md/context files
|
|
271
|
+
- [ ] Each `assignment` follows assignment template — not one-liner
|
|
272
|
+
- [ ] Each `assignment` includes edge cases / "don’t break" items
|
|
273
|
+
- [ ] Tasks truly parallel (no hidden dependencies)
|
|
274
|
+
- [ ] Scope small, file paths explicit (no globs)
|
|
275
|
+
- [ ] No task runs project-wide build/test/lint — you do after all tasks complete
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Todo Write
|
|
2
|
+
|
|
3
|
+
Create/manage structured task list for coding session.
|
|
4
|
+
|
|
5
|
+
<conditions>
|
|
6
|
+
Use proactively:
|
|
7
|
+
1. Complex multi-step tasks requiring 3+ steps/actions
|
|
8
|
+
2. User requests todo list
|
|
9
|
+
3. User provides multiple tasks (numbered/comma-separated)
|
|
10
|
+
4. After new instructions—capture requirements as todos
|
|
11
|
+
5. Starting task—mark in_progress BEFORE beginning
|
|
12
|
+
6. After completing—mark completed, add follow-up tasks found
|
|
13
|
+
</conditions>
|
|
14
|
+
|
|
15
|
+
<protocol>
|
|
16
|
+
1. **Task States**:
|
|
17
|
+
- pending: not started
|
|
18
|
+
- in_progress: working
|
|
19
|
+
- completed: finished
|
|
20
|
+
2. **Task Management**:
|
|
21
|
+
- Update status in real time
|
|
22
|
+
- Mark complete IMMEDIATELY after finishing (no batching)
|
|
23
|
+
- Keep exactly ONE task in_progress at a time
|
|
24
|
+
- Remove tasks no longer relevant
|
|
25
|
+
- Complete tasks in list order (do not mark later tasks completed while earlier tasks remain incomplete)
|
|
26
|
+
3. **Task Completion Requirements**:
|
|
27
|
+
- ONLY mark completed when FULLY accomplished
|
|
28
|
+
- On errors/blockers/inability to finish, keep in_progress
|
|
29
|
+
- When blocked, create task describing what needs resolving
|
|
30
|
+
4. **Task Breakdown**:
|
|
31
|
+
- Create specific, actionable items
|
|
32
|
+
- Keep each todo scoped to one logical unit of work; split unrelated work into separate items
|
|
33
|
+
- Break complex tasks into smaller steps
|
|
34
|
+
- Use clear, descriptive names
|
|
35
|
+
</protocol>
|
|
36
|
+
|
|
37
|
+
<output>
|
|
38
|
+
Returns confirmation todo list updated.
|
|
39
|
+
</output>
|
|
40
|
+
|
|
41
|
+
<caution>
|
|
42
|
+
When in doubt, use this.
|
|
43
|
+
</caution>
|
|
44
|
+
|
|
45
|
+
<example name="use-dark-mode">
|
|
46
|
+
User: Add dark mode toggle to settings. Run tests when done.
|
|
47
|
+
→ Creates todos: toggle component, state management, theme styles, update components, run tests
|
|
48
|
+
</example>
|
|
49
|
+
|
|
50
|
+
<example name="use-features">
|
|
51
|
+
User: Implement user registration, product catalog, shopping cart, checkout.
|
|
52
|
+
→ Creates todos per feature with subtasks
|
|
53
|
+
</example>
|
|
54
|
+
|
|
55
|
+
<example name="skip">
|
|
56
|
+
User: Run npm install / Add a comment to this function / What does git status do?
|
|
57
|
+
→ Do directly. Single-step/informational tasks need no tracking.
|
|
58
|
+
</example>
|
|
59
|
+
|
|
60
|
+
<avoid>
|
|
61
|
+
Skip when:
|
|
62
|
+
1. Single straightforward task
|
|
63
|
+
2. Task completable in <3 trivial steps
|
|
64
|
+
3. Task purely conversational/informational
|
|
65
|
+
</avoid>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Undo the last edit made to a file, restoring it to the state before that edit.
|
|
2
|
+
|
|
3
|
+
Only the most recent change per file can be undone. A second undo on the same file without an intervening edit will fail.
|
|
4
|
+
|
|
5
|
+
Use when:
|
|
6
|
+
- An edit introduced errors and re-editing would be more complex than starting over
|
|
7
|
+
- A write overwrote content that needs to be restored
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Web Search
|
|
2
|
+
|
|
3
|
+
Search the web for up-to-date information beyond Claude's knowledge cutoff.
|
|
4
|
+
|
|
5
|
+
<instruction>
|
|
6
|
+
- Prefer primary sources (papers, official docs) and corroborate key claims with multiple sources
|
|
7
|
+
- Include links for cited sources in the final response
|
|
8
|
+
</instruction>
|
|
9
|
+
|
|
10
|
+
<output>
|
|
11
|
+
Returns search results formatted as blocks with:
|
|
12
|
+
- Result summaries and relevant excerpts
|
|
13
|
+
- Links as markdown hyperlinks for citation
|
|
14
|
+
- Provider-dependent structure based on selected backend
|
|
15
|
+
</output>
|
|
16
|
+
|
|
17
|
+
<caution>
|
|
18
|
+
Searches are performed automatically within a single API call—no pagination or follow-up requests needed.
|
|
19
|
+
</caution>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Write
|
|
2
|
+
|
|
3
|
+
Creates or overwrites file at specified path.
|
|
4
|
+
|
|
5
|
+
<conditions>
|
|
6
|
+
- Creating new files explicitly required by task
|
|
7
|
+
- Replacing entire file contents when editing would be more complex
|
|
8
|
+
</conditions>
|
|
9
|
+
|
|
10
|
+
<output>
|
|
11
|
+
Confirmation of file creation/write with path. When LSP available, content may be auto-formatted before writing and diagnostics returned. Returns error if write fails (permissions, invalid path, disk full).
|
|
12
|
+
</output>
|
|
13
|
+
|
|
14
|
+
<critical>
|
|
15
|
+
- Prefer Edit tool for modifying existing files (more precise, preserves formatting)
|
|
16
|
+
- Create documentation files (*.md, README) only when explicitly requested
|
|
17
|
+
- No emojis unless requested
|
|
18
|
+
</critical>
|