@aibyzero/byz 0.0.0 → 0.1.2
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 +25 -0
- package/LICENSE +21 -0
- package/README.md +136 -5
- package/dist/cli.js +46 -0
- package/dist/core/export-html/template.css +1066 -0
- package/dist/core/export-html/template.html +55 -0
- package/dist/core/export-html/template.js +1864 -0
- package/dist/core/export-html/vendor/highlight.min.js +1213 -0
- package/dist/core/export-html/vendor/marked.min.js +78 -0
- package/dist/modes/interactive/assets/clankolas.png +0 -0
- package/dist/modes/interactive/theme/dark.json +90 -0
- package/dist/modes/interactive/theme/light.json +89 -0
- package/dist/modes/interactive/theme/theme-schema.json +352 -0
- package/dist/runtime/bun/cli.d.ts +3 -0
- package/dist/runtime/bun/cli.d.ts.map +1 -0
- package/dist/runtime/bun/cli.js +11 -0
- package/dist/runtime/bun/cli.js.map +1 -0
- package/dist/runtime/bun/register-bedrock.d.ts +2 -0
- package/dist/runtime/bun/register-bedrock.d.ts.map +1 -0
- package/dist/runtime/bun/register-bedrock.js +4 -0
- package/dist/runtime/bun/register-bedrock.js.map +1 -0
- package/dist/runtime/bun/restore-sandbox-env.d.ts +17 -0
- package/dist/runtime/bun/restore-sandbox-env.d.ts.map +1 -0
- package/dist/runtime/bun/restore-sandbox-env.js +36 -0
- package/dist/runtime/bun/restore-sandbox-env.js.map +1 -0
- package/dist/runtime/bundle/chunks/anthropic-messages-JWX2WP65.js +45 -0
- package/dist/runtime/bundle/chunks/anthropic.js +75 -0
- package/dist/runtime/bundle/chunks/azure-openai-responses-5ENVCQ7U.js +2 -0
- package/dist/runtime/bundle/chunks/bedrock-converse-stream.js +74 -0
- package/dist/runtime/bundle/chunks/chunk-4L3WN2XY.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-6CYCI3EJ.js +12 -0
- package/dist/runtime/bundle/chunks/chunk-6R7UI4IY.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-AXIIZGTV.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-DRQDKNXA.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-GMWCTUPB.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-GPPBJGBU.js +50 -0
- package/dist/runtime/bundle/chunks/chunk-JUUC5AZY.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-MNAIPA3J.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-NBBFIJUL.js +11 -0
- package/dist/runtime/bundle/chunks/chunk-NUHFSC37.js +25 -0
- package/dist/runtime/bundle/chunks/chunk-PGXDEOVV.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-PJACZCIR.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-PRRNXB7S.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-Q4KIHSRR.js +1547 -0
- package/dist/runtime/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-TRDNDS6A.js +4 -0
- package/dist/runtime/bundle/chunks/chunk-UAQELI3K.js +2 -0
- package/dist/runtime/bundle/chunks/chunk-XDUWOHPL.js +6 -0
- package/dist/runtime/bundle/chunks/chunk-XNGRGP62.js +2 -0
- package/dist/runtime/bundle/chunks/dist-RDWOYWHR.js +13 -0
- package/dist/runtime/bundle/chunks/github-copilot.js +2 -0
- package/dist/runtime/bundle/chunks/google-generative-ai-XDKMGBCJ.js +2 -0
- package/dist/runtime/bundle/chunks/google-vertex-D5FGEO3Y.js +2 -0
- package/dist/runtime/bundle/chunks/image-resize-worker.js +2 -0
- package/dist/runtime/bundle/chunks/kimi-coding.js +2 -0
- package/dist/runtime/bundle/chunks/lib-HGQMNYVT.js +9 -0
- package/dist/runtime/bundle/chunks/mistral-conversations-YK73UAOZ.js +5 -0
- package/dist/runtime/bundle/chunks/multipart-parser-SQ6GDJL7.js +3 -0
- package/dist/runtime/bundle/chunks/openai-codex-responses-GJVBJXLB.js +8 -0
- package/dist/runtime/bundle/chunks/openai-codex.js +75 -0
- package/dist/runtime/bundle/chunks/openai-completions-XGHMB3UO.js +7 -0
- package/dist/runtime/bundle/chunks/openai-responses-BSOJMSEV.js +2 -0
- package/dist/runtime/bundle/chunks/openrouter-images-N4XVVFSD.js +2 -0
- package/dist/runtime/bundle/chunks/openrouter.js +75 -0
- package/dist/runtime/bundle/chunks/pi-messages-TPFH44NP.js +8 -0
- package/dist/runtime/bundle/chunks/radius.js +75 -0
- package/dist/runtime/bundle/chunks/src-UK77SYZE.js +4 -0
- package/dist/runtime/bundle/chunks/xai.js +2 -0
- package/dist/runtime/bundle/cli.js +3 -0
- package/dist/runtime/bundle/client.js +2 -0
- package/dist/runtime/bundle/index.js +2 -0
- package/dist/runtime/bundle/rpc-entry.js +3 -0
- package/dist/runtime/cli/args.d.ts +61 -0
- package/dist/runtime/cli/args.d.ts.map +1 -0
- package/dist/runtime/cli/args.js +439 -0
- package/dist/runtime/cli/args.js.map +1 -0
- package/dist/runtime/cli/auth-check.d.ts +19 -0
- package/dist/runtime/cli/auth-check.d.ts.map +1 -0
- package/dist/runtime/cli/auth-check.js +50 -0
- package/dist/runtime/cli/auth-check.js.map +1 -0
- package/dist/runtime/cli/auth-command.d.ts +24 -0
- package/dist/runtime/cli/auth-command.d.ts.map +1 -0
- package/dist/runtime/cli/auth-command.js +103 -0
- package/dist/runtime/cli/auth-command.js.map +1 -0
- package/dist/runtime/cli/config-selector.d.ts +16 -0
- package/dist/runtime/cli/config-selector.d.ts.map +1 -0
- package/dist/runtime/cli/config-selector.js +31 -0
- package/dist/runtime/cli/config-selector.js.map +1 -0
- package/dist/runtime/cli/credential-print.d.ts +13 -0
- package/dist/runtime/cli/credential-print.d.ts.map +1 -0
- package/dist/runtime/cli/credential-print.js +76 -0
- package/dist/runtime/cli/credential-print.js.map +1 -0
- package/dist/runtime/cli/experimental/auth.d.ts +16 -0
- package/dist/runtime/cli/experimental/auth.d.ts.map +1 -0
- package/dist/runtime/cli/experimental/auth.js +13 -0
- package/dist/runtime/cli/experimental/auth.js.map +1 -0
- package/dist/runtime/cli/experimental/cli.d.ts +6 -0
- package/dist/runtime/cli/experimental/cli.d.ts.map +1 -0
- package/dist/runtime/cli/experimental/cli.js +5 -0
- package/dist/runtime/cli/experimental/cli.js.map +1 -0
- package/dist/runtime/cli/experimental/command-options.d.ts +17 -0
- package/dist/runtime/cli/experimental/command-options.d.ts.map +1 -0
- package/dist/runtime/cli/experimental/command-options.js +35 -0
- package/dist/runtime/cli/experimental/command-options.js.map +1 -0
- package/dist/runtime/cli/experimental/command.d.ts +63 -0
- package/dist/runtime/cli/experimental/command.d.ts.map +1 -0
- package/dist/runtime/cli/experimental/command.js +130 -0
- package/dist/runtime/cli/experimental/command.js.map +1 -0
- package/dist/runtime/cli/experimental/commands/client.d.ts +13 -0
- package/dist/runtime/cli/experimental/commands/client.d.ts.map +1 -0
- package/dist/runtime/cli/experimental/commands/client.js +25 -0
- package/dist/runtime/cli/experimental/commands/client.js.map +1 -0
- package/dist/runtime/cli/experimental/commands/pi.d.ts +15 -0
- package/dist/runtime/cli/experimental/commands/pi.d.ts.map +1 -0
- package/dist/runtime/cli/experimental/commands/pi.js +28 -0
- package/dist/runtime/cli/experimental/commands/pi.js.map +1 -0
- package/dist/runtime/cli/experimental/commands/server.d.ts +13 -0
- package/dist/runtime/cli/experimental/commands/server.d.ts.map +1 -0
- package/dist/runtime/cli/experimental/commands/server.js +25 -0
- package/dist/runtime/cli/experimental/commands/server.js.map +1 -0
- package/dist/runtime/cli/experimental/transport-address.d.ts +10 -0
- package/dist/runtime/cli/experimental/transport-address.d.ts.map +1 -0
- package/dist/runtime/cli/experimental/transport-address.js +38 -0
- package/dist/runtime/cli/experimental/transport-address.js.map +1 -0
- package/dist/runtime/cli/file-processor.d.ts +15 -0
- package/dist/runtime/cli/file-processor.d.ts.map +1 -0
- package/dist/runtime/cli/file-processor.js +71 -0
- package/dist/runtime/cli/file-processor.js.map +1 -0
- package/dist/runtime/cli/initial-message.d.ts +18 -0
- package/dist/runtime/cli/initial-message.d.ts.map +1 -0
- package/dist/runtime/cli/initial-message.js +22 -0
- package/dist/runtime/cli/initial-message.js.map +1 -0
- package/dist/runtime/cli/list-models.d.ts +9 -0
- package/dist/runtime/cli/list-models.d.ts.map +1 -0
- package/dist/runtime/cli/list-models.js +98 -0
- package/dist/runtime/cli/list-models.js.map +1 -0
- package/dist/runtime/cli/project-trust.d.ts +10 -0
- package/dist/runtime/cli/project-trust.d.ts.map +1 -0
- package/dist/runtime/cli/project-trust.js +48 -0
- package/dist/runtime/cli/project-trust.js.map +1 -0
- package/dist/runtime/cli/session-picker.d.ts +10 -0
- package/dist/runtime/cli/session-picker.d.ts.map +1 -0
- package/dist/runtime/cli/session-picker.js +36 -0
- package/dist/runtime/cli/session-picker.js.map +1 -0
- package/dist/runtime/cli/startup-ui.d.ts +20 -0
- package/dist/runtime/cli/startup-ui.d.ts.map +1 -0
- package/dist/runtime/cli/startup-ui.js +184 -0
- package/dist/runtime/cli/startup-ui.js.map +1 -0
- package/dist/runtime/cli.d.ts +3 -0
- package/dist/runtime/cli.d.ts.map +1 -0
- package/dist/runtime/cli.js +19 -0
- package/dist/runtime/cli.js.map +1 -0
- package/dist/runtime/client/index.d.ts +3 -0
- package/dist/runtime/client/index.d.ts.map +1 -0
- package/dist/runtime/client/index.js +3 -0
- package/dist/runtime/client/index.js.map +1 -0
- package/dist/runtime/client/remote-session.d.ts +53 -0
- package/dist/runtime/client/remote-session.d.ts.map +1 -0
- package/dist/runtime/client/remote-session.js +340 -0
- package/dist/runtime/client/remote-session.js.map +1 -0
- package/dist/runtime/client/transcript.d.ts +12 -0
- package/dist/runtime/client/transcript.d.ts.map +1 -0
- package/dist/runtime/client/transcript.js +98 -0
- package/dist/runtime/client/transcript.js.map +1 -0
- package/dist/runtime/config.d.ts +98 -0
- package/dist/runtime/config.d.ts.map +1 -0
- package/dist/runtime/config.js +469 -0
- package/dist/runtime/config.js.map +1 -0
- package/dist/runtime/core/agent-session-runtime.d.ts +119 -0
- package/dist/runtime/core/agent-session-runtime.d.ts.map +1 -0
- package/dist/runtime/core/agent-session-runtime.js +309 -0
- package/dist/runtime/core/agent-session-runtime.js.map +1 -0
- package/dist/runtime/core/agent-session-services.d.ts +86 -0
- package/dist/runtime/core/agent-session-services.d.ts.map +1 -0
- package/dist/runtime/core/agent-session-services.js +134 -0
- package/dist/runtime/core/agent-session-services.js.map +1 -0
- package/dist/runtime/core/agent-session.d.ts +678 -0
- package/dist/runtime/core/agent-session.d.ts.map +1 -0
- package/dist/runtime/core/agent-session.js +2808 -0
- package/dist/runtime/core/agent-session.js.map +1 -0
- package/dist/runtime/core/auth-guidance.d.ts +5 -0
- package/dist/runtime/core/auth-guidance.d.ts.map +1 -0
- package/dist/runtime/core/auth-guidance.js +21 -0
- package/dist/runtime/core/auth-guidance.js.map +1 -0
- package/dist/runtime/core/auth-storage.d.ts +72 -0
- package/dist/runtime/core/auth-storage.d.ts.map +1 -0
- package/dist/runtime/core/auth-storage.js +426 -0
- package/dist/runtime/core/auth-storage.js.map +1 -0
- package/dist/runtime/core/bash-executor.d.ts +32 -0
- package/dist/runtime/core/bash-executor.d.ts.map +1 -0
- package/dist/runtime/core/bash-executor.js +111 -0
- package/dist/runtime/core/bash-executor.js.map +1 -0
- package/dist/runtime/core/cache-stats.d.ts +49 -0
- package/dist/runtime/core/cache-stats.d.ts.map +1 -0
- package/dist/runtime/core/cache-stats.js +101 -0
- package/dist/runtime/core/cache-stats.js.map +1 -0
- package/dist/runtime/core/compaction/branch-summarization.d.ts +98 -0
- package/dist/runtime/core/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/runtime/core/compaction/branch-summarization.js +250 -0
- package/dist/runtime/core/compaction/branch-summarization.js.map +1 -0
- package/dist/runtime/core/compaction/compaction.d.ts +143 -0
- package/dist/runtime/core/compaction/compaction.d.ts.map +1 -0
- package/dist/runtime/core/compaction/compaction.js +669 -0
- package/dist/runtime/core/compaction/compaction.js.map +1 -0
- package/dist/runtime/core/compaction/index.d.ts +7 -0
- package/dist/runtime/core/compaction/index.d.ts.map +1 -0
- package/dist/runtime/core/compaction/index.js +7 -0
- package/dist/runtime/core/compaction/index.js.map +1 -0
- package/dist/runtime/core/compaction/utils.d.ts +38 -0
- package/dist/runtime/core/compaction/utils.d.ts.map +1 -0
- package/dist/runtime/core/compaction/utils.js +142 -0
- package/dist/runtime/core/compaction/utils.js.map +1 -0
- package/dist/runtime/core/defaults.d.ts +4 -0
- package/dist/runtime/core/defaults.d.ts.map +1 -0
- package/dist/runtime/core/defaults.js +11 -0
- package/dist/runtime/core/defaults.js.map +1 -0
- package/dist/runtime/core/diagnostics.d.ts +15 -0
- package/dist/runtime/core/diagnostics.d.ts.map +1 -0
- package/dist/runtime/core/diagnostics.js +2 -0
- package/dist/runtime/core/diagnostics.js.map +1 -0
- package/dist/runtime/core/event-bus.d.ts +9 -0
- package/dist/runtime/core/event-bus.d.ts.map +1 -0
- package/dist/runtime/core/event-bus.js +25 -0
- package/dist/runtime/core/event-bus.js.map +1 -0
- package/dist/runtime/core/exec.d.ts +29 -0
- package/dist/runtime/core/exec.d.ts.map +1 -0
- package/dist/runtime/core/exec.js +75 -0
- package/dist/runtime/core/exec.js.map +1 -0
- package/dist/runtime/core/experimental.d.ts +6 -0
- package/dist/runtime/core/experimental.d.ts.map +1 -0
- package/dist/runtime/core/experimental.js +8 -0
- package/dist/runtime/core/experimental.js.map +1 -0
- package/dist/runtime/core/export-html/ansi-to-html.d.ts +22 -0
- package/dist/runtime/core/export-html/ansi-to-html.d.ts.map +1 -0
- package/dist/runtime/core/export-html/ansi-to-html.js +249 -0
- package/dist/runtime/core/export-html/ansi-to-html.js.map +1 -0
- package/dist/runtime/core/export-html/index.d.ts +37 -0
- package/dist/runtime/core/export-html/index.d.ts.map +1 -0
- package/dist/runtime/core/export-html/index.js +226 -0
- package/dist/runtime/core/export-html/index.js.map +1 -0
- package/dist/runtime/core/export-html/template.css +1066 -0
- package/dist/runtime/core/export-html/template.html +55 -0
- package/dist/runtime/core/export-html/template.js +1864 -0
- package/dist/runtime/core/export-html/tool-renderer.d.ts +34 -0
- package/dist/runtime/core/export-html/tool-renderer.d.ts.map +1 -0
- package/dist/runtime/core/export-html/tool-renderer.js +108 -0
- package/dist/runtime/core/export-html/tool-renderer.js.map +1 -0
- package/dist/runtime/core/export-html/vendor/highlight.min.js +1213 -0
- package/dist/runtime/core/export-html/vendor/marked.min.js +78 -0
- package/dist/runtime/core/extensions/index.d.ts +12 -0
- package/dist/runtime/core/extensions/index.d.ts.map +1 -0
- package/dist/runtime/core/extensions/index.js +9 -0
- package/dist/runtime/core/extensions/index.js.map +1 -0
- package/dist/runtime/core/extensions/loader.d.ts +23 -0
- package/dist/runtime/core/extensions/loader.d.ts.map +1 -0
- package/dist/runtime/core/extensions/loader.js +648 -0
- package/dist/runtime/core/extensions/loader.js.map +1 -0
- package/dist/runtime/core/extensions/runner.d.ts +173 -0
- package/dist/runtime/core/extensions/runner.d.ts.map +1 -0
- package/dist/runtime/core/extensions/runner.js +967 -0
- package/dist/runtime/core/extensions/runner.js.map +1 -0
- package/dist/runtime/core/extensions/types.d.ts +1328 -0
- package/dist/runtime/core/extensions/types.d.ts.map +1 -0
- package/dist/runtime/core/extensions/types.js +48 -0
- package/dist/runtime/core/extensions/types.js.map +1 -0
- package/dist/runtime/core/extensions/wrapper.d.ts +20 -0
- package/dist/runtime/core/extensions/wrapper.d.ts.map +1 -0
- package/dist/runtime/core/extensions/wrapper.js +41 -0
- package/dist/runtime/core/extensions/wrapper.js.map +1 -0
- package/dist/runtime/core/footer-data-provider.d.ts +64 -0
- package/dist/runtime/core/footer-data-provider.d.ts.map +1 -0
- package/dist/runtime/core/footer-data-provider.js +338 -0
- package/dist/runtime/core/footer-data-provider.js.map +1 -0
- package/dist/runtime/core/http-dispatcher.d.ts +22 -0
- package/dist/runtime/core/http-dispatcher.d.ts.map +1 -0
- package/dist/runtime/core/http-dispatcher.js +96 -0
- package/dist/runtime/core/http-dispatcher.js.map +1 -0
- package/dist/runtime/core/index.d.ts +13 -0
- package/dist/runtime/core/index.d.ts.map +1 -0
- package/dist/runtime/core/index.js +13 -0
- package/dist/runtime/core/index.js.map +1 -0
- package/dist/runtime/core/keybindings.d.ts +423 -0
- package/dist/runtime/core/keybindings.d.ts.map +1 -0
- package/dist/runtime/core/keybindings.js +317 -0
- package/dist/runtime/core/keybindings.js.map +1 -0
- package/dist/runtime/core/messages.d.ts +77 -0
- package/dist/runtime/core/messages.d.ts.map +1 -0
- package/dist/runtime/core/messages.js +123 -0
- package/dist/runtime/core/messages.js.map +1 -0
- package/dist/runtime/core/model-config.d.ts +576 -0
- package/dist/runtime/core/model-config.d.ts.map +1 -0
- package/dist/runtime/core/model-config.js +256 -0
- package/dist/runtime/core/model-config.js.map +1 -0
- package/dist/runtime/core/model-registry.d.ts +45 -0
- package/dist/runtime/core/model-registry.d.ts.map +1 -0
- package/dist/runtime/core/model-registry.js +107 -0
- package/dist/runtime/core/model-registry.js.map +1 -0
- package/dist/runtime/core/model-resolver.d.ts +124 -0
- package/dist/runtime/core/model-resolver.d.ts.map +1 -0
- package/dist/runtime/core/model-resolver.js +589 -0
- package/dist/runtime/core/model-resolver.js.map +1 -0
- package/dist/runtime/core/model-runtime.d.ts +100 -0
- package/dist/runtime/core/model-runtime.d.ts.map +1 -0
- package/dist/runtime/core/model-runtime.js +599 -0
- package/dist/runtime/core/model-runtime.js.map +1 -0
- package/dist/runtime/core/models-store.d.ts +22 -0
- package/dist/runtime/core/models-store.d.ts.map +1 -0
- package/dist/runtime/core/models-store.js +115 -0
- package/dist/runtime/core/models-store.js.map +1 -0
- package/dist/runtime/core/output-guard.d.ts +7 -0
- package/dist/runtime/core/output-guard.d.ts.map +1 -0
- package/dist/runtime/core/output-guard.js +89 -0
- package/dist/runtime/core/output-guard.js.map +1 -0
- package/dist/runtime/core/package-manager.d.ts +213 -0
- package/dist/runtime/core/package-manager.d.ts.map +1 -0
- package/dist/runtime/core/package-manager.js +2177 -0
- package/dist/runtime/core/package-manager.js.map +1 -0
- package/dist/runtime/core/pi-manifest.d.ts +8 -0
- package/dist/runtime/core/pi-manifest.d.ts.map +1 -0
- package/dist/runtime/core/pi-manifest.js +26 -0
- package/dist/runtime/core/pi-manifest.js.map +1 -0
- package/dist/runtime/core/project-trust.d.ts +15 -0
- package/dist/runtime/core/project-trust.d.ts.map +1 -0
- package/dist/runtime/core/project-trust.js +59 -0
- package/dist/runtime/core/project-trust.js.map +1 -0
- package/dist/runtime/core/prompt-templates.d.ts +54 -0
- package/dist/runtime/core/prompt-templates.d.ts.map +1 -0
- package/dist/runtime/core/prompt-templates.js +236 -0
- package/dist/runtime/core/prompt-templates.js.map +1 -0
- package/dist/runtime/core/provider-attribution.d.ts +4 -0
- package/dist/runtime/core/provider-attribution.d.ts.map +1 -0
- package/dist/runtime/core/provider-attribution.js +72 -0
- package/dist/runtime/core/provider-attribution.js.map +1 -0
- package/dist/runtime/core/provider-composer.d.ts +58 -0
- package/dist/runtime/core/provider-composer.d.ts.map +1 -0
- package/dist/runtime/core/provider-composer.js +396 -0
- package/dist/runtime/core/provider-composer.js.map +1 -0
- package/dist/runtime/core/radius.d.ts +2 -0
- package/dist/runtime/core/radius.d.ts.map +1 -0
- package/dist/runtime/core/radius.js +2 -0
- package/dist/runtime/core/radius.js.map +1 -0
- package/dist/runtime/core/remote-catalog-provider.d.ts +5 -0
- package/dist/runtime/core/remote-catalog-provider.d.ts.map +1 -0
- package/dist/runtime/core/remote-catalog-provider.js +122 -0
- package/dist/runtime/core/remote-catalog-provider.js.map +1 -0
- package/dist/runtime/core/resolve-config-value.d.ts +30 -0
- package/dist/runtime/core/resolve-config-value.d.ts.map +1 -0
- package/dist/runtime/core/resolve-config-value.js +247 -0
- package/dist/runtime/core/resolve-config-value.js.map +1 -0
- package/dist/runtime/core/resource-loader.d.ts +221 -0
- package/dist/runtime/core/resource-loader.d.ts.map +1 -0
- package/dist/runtime/core/resource-loader.js +875 -0
- package/dist/runtime/core/resource-loader.js.map +1 -0
- package/dist/runtime/core/runtime-credentials.d.ts +15 -0
- package/dist/runtime/core/runtime-credentials.d.ts.map +1 -0
- package/dist/runtime/core/runtime-credentials.js +39 -0
- package/dist/runtime/core/runtime-credentials.js.map +1 -0
- package/dist/runtime/core/sdk.d.ts +108 -0
- package/dist/runtime/core/sdk.d.ts.map +1 -0
- package/dist/runtime/core/sdk.js +275 -0
- package/dist/runtime/core/sdk.js.map +1 -0
- package/dist/runtime/core/session-cwd.d.ts +19 -0
- package/dist/runtime/core/session-cwd.d.ts.map +1 -0
- package/dist/runtime/core/session-cwd.js +38 -0
- package/dist/runtime/core/session-cwd.js.map +1 -0
- package/dist/runtime/core/session-export.d.ts +4 -0
- package/dist/runtime/core/session-export.d.ts.map +1 -0
- package/dist/runtime/core/session-export.js +32 -0
- package/dist/runtime/core/session-export.js.map +1 -0
- package/dist/runtime/core/session-manager.d.ts +356 -0
- package/dist/runtime/core/session-manager.d.ts.map +1 -0
- package/dist/runtime/core/session-manager.js +1341 -0
- package/dist/runtime/core/session-manager.js.map +1 -0
- package/dist/runtime/core/settings-diagnostics.d.ts +9 -0
- package/dist/runtime/core/settings-diagnostics.d.ts.map +1 -0
- package/dist/runtime/core/settings-diagnostics.js +21 -0
- package/dist/runtime/core/settings-diagnostics.js.map +1 -0
- package/dist/runtime/core/settings-manager.d.ts +324 -0
- package/dist/runtime/core/settings-manager.d.ts.map +1 -0
- package/dist/runtime/core/settings-manager.js +980 -0
- package/dist/runtime/core/settings-manager.js.map +1 -0
- package/dist/runtime/core/skills.d.ts +60 -0
- package/dist/runtime/core/skills.d.ts.map +1 -0
- package/dist/runtime/core/skills.js +405 -0
- package/dist/runtime/core/skills.js.map +1 -0
- package/dist/runtime/core/slash-commands.d.ts +15 -0
- package/dist/runtime/core/slash-commands.d.ts.map +1 -0
- package/dist/runtime/core/slash-commands.js +27 -0
- package/dist/runtime/core/slash-commands.js.map +1 -0
- package/dist/runtime/core/source-info.d.ts +18 -0
- package/dist/runtime/core/source-info.d.ts.map +1 -0
- package/dist/runtime/core/source-info.js +19 -0
- package/dist/runtime/core/source-info.js.map +1 -0
- package/dist/runtime/core/system-prompt.d.ts +28 -0
- package/dist/runtime/core/system-prompt.d.ts.map +1 -0
- package/dist/runtime/core/system-prompt.js +119 -0
- package/dist/runtime/core/system-prompt.js.map +1 -0
- package/dist/runtime/core/telemetry.d.ts +3 -0
- package/dist/runtime/core/telemetry.d.ts.map +1 -0
- package/dist/runtime/core/telemetry.js +9 -0
- package/dist/runtime/core/telemetry.js.map +1 -0
- package/dist/runtime/core/timings.d.ts +10 -0
- package/dist/runtime/core/timings.d.ts.map +1 -0
- package/dist/runtime/core/timings.js +41 -0
- package/dist/runtime/core/timings.js.map +1 -0
- package/dist/runtime/core/tools/bash.d.ts +87 -0
- package/dist/runtime/core/tools/bash.d.ts.map +1 -0
- package/dist/runtime/core/tools/bash.js +410 -0
- package/dist/runtime/core/tools/bash.js.map +1 -0
- package/dist/runtime/core/tools/edit-diff.d.ts +101 -0
- package/dist/runtime/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/runtime/core/tools/edit-diff.js +421 -0
- package/dist/runtime/core/tools/edit-diff.js.map +1 -0
- package/dist/runtime/core/tools/edit.d.ts +55 -0
- package/dist/runtime/core/tools/edit.d.ts.map +1 -0
- package/dist/runtime/core/tools/edit.js +306 -0
- package/dist/runtime/core/tools/edit.js.map +1 -0
- package/dist/runtime/core/tools/file-mutation-queue.d.ts +6 -0
- package/dist/runtime/core/tools/file-mutation-queue.d.ts.map +1 -0
- package/dist/runtime/core/tools/file-mutation-queue.js +52 -0
- package/dist/runtime/core/tools/file-mutation-queue.js.map +1 -0
- package/dist/runtime/core/tools/find.d.ts +42 -0
- package/dist/runtime/core/tools/find.d.ts.map +1 -0
- package/dist/runtime/core/tools/find.js +302 -0
- package/dist/runtime/core/tools/find.js.map +1 -0
- package/dist/runtime/core/tools/grep.d.ts +41 -0
- package/dist/runtime/core/tools/grep.d.ts.map +1 -0
- package/dist/runtime/core/tools/grep.js +308 -0
- package/dist/runtime/core/tools/grep.js.map +1 -0
- package/dist/runtime/core/tools/index.d.ts +43 -0
- package/dist/runtime/core/tools/index.d.ts.map +1 -0
- package/dist/runtime/core/tools/index.js +129 -0
- package/dist/runtime/core/tools/index.js.map +1 -0
- package/dist/runtime/core/tools/ls.d.ts +41 -0
- package/dist/runtime/core/tools/ls.d.ts.map +1 -0
- package/dist/runtime/core/tools/ls.js +171 -0
- package/dist/runtime/core/tools/ls.js.map +1 -0
- package/dist/runtime/core/tools/output-accumulator.d.ts +52 -0
- package/dist/runtime/core/tools/output-accumulator.d.ts.map +1 -0
- package/dist/runtime/core/tools/output-accumulator.js +184 -0
- package/dist/runtime/core/tools/output-accumulator.js.map +1 -0
- package/dist/runtime/core/tools/path-utils.d.ts +10 -0
- package/dist/runtime/core/tools/path-utils.d.ts.map +1 -0
- package/dist/runtime/core/tools/path-utils.js +99 -0
- package/dist/runtime/core/tools/path-utils.js.map +1 -0
- package/dist/runtime/core/tools/powershell.d.ts +16 -0
- package/dist/runtime/core/tools/powershell.d.ts.map +1 -0
- package/dist/runtime/core/tools/powershell.js +39 -0
- package/dist/runtime/core/tools/powershell.js.map +1 -0
- package/dist/runtime/core/tools/read.d.ts +39 -0
- package/dist/runtime/core/tools/read.d.ts.map +1 -0
- package/dist/runtime/core/tools/read.js +282 -0
- package/dist/runtime/core/tools/read.js.map +1 -0
- package/dist/runtime/core/tools/render-utils.d.ts +24 -0
- package/dist/runtime/core/tools/render-utils.d.ts.map +1 -0
- package/dist/runtime/core/tools/render-utils.js +65 -0
- package/dist/runtime/core/tools/render-utils.js.map +1 -0
- package/dist/runtime/core/tools/tool-definition-wrapper.d.ts +14 -0
- package/dist/runtime/core/tools/tool-definition-wrapper.d.ts.map +1 -0
- package/dist/runtime/core/tools/tool-definition-wrapper.js +36 -0
- package/dist/runtime/core/tools/tool-definition-wrapper.js.map +1 -0
- package/dist/runtime/core/tools/truncate.d.ts +70 -0
- package/dist/runtime/core/tools/truncate.d.ts.map +1 -0
- package/dist/runtime/core/tools/truncate.js +215 -0
- package/dist/runtime/core/tools/truncate.js.map +1 -0
- package/dist/runtime/core/tools/write.d.ts +30 -0
- package/dist/runtime/core/tools/write.d.ts.map +1 -0
- package/dist/runtime/core/tools/write.js +203 -0
- package/dist/runtime/core/tools/write.js.map +1 -0
- package/dist/runtime/core/trust-manager.d.ts +36 -0
- package/dist/runtime/core/trust-manager.d.ts.map +1 -0
- package/dist/runtime/core/trust-manager.js +203 -0
- package/dist/runtime/core/trust-manager.js.map +1 -0
- package/dist/runtime/core/usage-totals.d.ts +19 -0
- package/dist/runtime/core/usage-totals.d.ts.map +1 -0
- package/dist/runtime/core/usage-totals.js +52 -0
- package/dist/runtime/core/usage-totals.js.map +1 -0
- package/dist/runtime/extensions/index.d.ts +3 -0
- package/dist/runtime/extensions/index.d.ts.map +1 -0
- package/dist/runtime/extensions/index.js +3 -0
- package/dist/runtime/extensions/index.js.map +1 -0
- package/dist/runtime/extensions/llama/client.d.ts +67 -0
- package/dist/runtime/extensions/llama/client.d.ts.map +1 -0
- package/dist/runtime/extensions/llama/client.js +309 -0
- package/dist/runtime/extensions/llama/client.js.map +1 -0
- package/dist/runtime/extensions/llama/huggingface.d.ts +23 -0
- package/dist/runtime/extensions/llama/huggingface.d.ts.map +1 -0
- package/dist/runtime/extensions/llama/huggingface.js +141 -0
- package/dist/runtime/extensions/llama/huggingface.js.map +1 -0
- package/dist/runtime/extensions/llama/index.d.ts +3 -0
- package/dist/runtime/extensions/llama/index.d.ts.map +1 -0
- package/dist/runtime/extensions/llama/index.js +219 -0
- package/dist/runtime/extensions/llama/index.js.map +1 -0
- package/dist/runtime/extensions/llama/provider.d.ts +12 -0
- package/dist/runtime/extensions/llama/provider.d.ts.map +1 -0
- package/dist/runtime/extensions/llama/provider.js +146 -0
- package/dist/runtime/extensions/llama/provider.js.map +1 -0
- package/dist/runtime/extensions/llama/ui.d.ts +42 -0
- package/dist/runtime/extensions/llama/ui.d.ts.map +1 -0
- package/dist/runtime/extensions/llama/ui.js +416 -0
- package/dist/runtime/extensions/llama/ui.js.map +1 -0
- package/dist/runtime/index.d.ts +37 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +49 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/main.d.ts +16 -0
- package/dist/runtime/main.d.ts.map +1 -0
- package/dist/runtime/main.js +799 -0
- package/dist/runtime/main.js.map +1 -0
- package/dist/runtime/migrations.d.ts +33 -0
- package/dist/runtime/migrations.d.ts.map +1 -0
- package/dist/runtime/migrations.js +282 -0
- package/dist/runtime/migrations.js.map +1 -0
- package/dist/runtime/modes/index.d.ts +10 -0
- package/dist/runtime/modes/index.d.ts.map +1 -0
- package/dist/runtime/modes/index.js +8 -0
- package/dist/runtime/modes/index.js.map +1 -0
- package/dist/runtime/modes/interactive/assets/clankolas.png +0 -0
- package/dist/runtime/modes/interactive/components/armin.d.ts +34 -0
- package/dist/runtime/modes/interactive/components/armin.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/armin.js +333 -0
- package/dist/runtime/modes/interactive/components/armin.js.map +1 -0
- package/dist/runtime/modes/interactive/components/assistant-message.d.ts +25 -0
- package/dist/runtime/modes/interactive/components/assistant-message.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/assistant-message.js +150 -0
- package/dist/runtime/modes/interactive/components/assistant-message.js.map +1 -0
- package/dist/runtime/modes/interactive/components/bash-execution.d.ts +34 -0
- package/dist/runtime/modes/interactive/components/bash-execution.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/bash-execution.js +175 -0
- package/dist/runtime/modes/interactive/components/bash-execution.js.map +1 -0
- package/dist/runtime/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/dist/runtime/modes/interactive/components/bordered-loader.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/bordered-loader.js +54 -0
- package/dist/runtime/modes/interactive/components/bordered-loader.js.map +1 -0
- package/dist/runtime/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/dist/runtime/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/branch-summary-message.js +44 -0
- package/dist/runtime/modes/interactive/components/branch-summary-message.js.map +1 -0
- package/dist/runtime/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/dist/runtime/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/compaction-summary-message.js +45 -0
- package/dist/runtime/modes/interactive/components/compaction-summary-message.js.map +1 -0
- package/dist/runtime/modes/interactive/components/config-selector.d.ts +102 -0
- package/dist/runtime/modes/interactive/components/config-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/config-selector.js +761 -0
- package/dist/runtime/modes/interactive/components/config-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/dist/runtime/modes/interactive/components/countdown-timer.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/countdown-timer.js +33 -0
- package/dist/runtime/modes/interactive/components/countdown-timer.js.map +1 -0
- package/dist/runtime/modes/interactive/components/custom-editor.d.ts +21 -0
- package/dist/runtime/modes/interactive/components/custom-editor.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/custom-editor.js +77 -0
- package/dist/runtime/modes/interactive/components/custom-editor.js.map +1 -0
- package/dist/runtime/modes/interactive/components/custom-entry.d.ts +19 -0
- package/dist/runtime/modes/interactive/components/custom-entry.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/custom-entry.js +52 -0
- package/dist/runtime/modes/interactive/components/custom-entry.js.map +1 -0
- package/dist/runtime/modes/interactive/components/custom-message.d.ts +22 -0
- package/dist/runtime/modes/interactive/components/custom-message.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/custom-message.js +87 -0
- package/dist/runtime/modes/interactive/components/custom-message.js.map +1 -0
- package/dist/runtime/modes/interactive/components/daxnuts.d.ts +23 -0
- package/dist/runtime/modes/interactive/components/daxnuts.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/daxnuts.js +140 -0
- package/dist/runtime/modes/interactive/components/daxnuts.js.map +1 -0
- package/dist/runtime/modes/interactive/components/diff.d.ts +12 -0
- package/dist/runtime/modes/interactive/components/diff.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/diff.js +133 -0
- package/dist/runtime/modes/interactive/components/diff.js.map +1 -0
- package/dist/runtime/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/dist/runtime/modes/interactive/components/dynamic-border.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/dynamic-border.js +21 -0
- package/dist/runtime/modes/interactive/components/dynamic-border.js.map +1 -0
- package/dist/runtime/modes/interactive/components/earendil-announcement.d.ts +5 -0
- package/dist/runtime/modes/interactive/components/earendil-announcement.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/earendil-announcement.js +40 -0
- package/dist/runtime/modes/interactive/components/earendil-announcement.js.map +1 -0
- package/dist/runtime/modes/interactive/components/extension-editor.d.ts +21 -0
- package/dist/runtime/modes/interactive/components/extension-editor.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/extension-editor.js +98 -0
- package/dist/runtime/modes/interactive/components/extension-editor.js.map +1 -0
- package/dist/runtime/modes/interactive/components/extension-input.d.ts +23 -0
- package/dist/runtime/modes/interactive/components/extension-input.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/extension-input.js +61 -0
- package/dist/runtime/modes/interactive/components/extension-input.js.map +1 -0
- package/dist/runtime/modes/interactive/components/extension-selector.d.ts +26 -0
- package/dist/runtime/modes/interactive/components/extension-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/extension-selector.js +83 -0
- package/dist/runtime/modes/interactive/components/extension-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/first-time-setup.d.ts +25 -0
- package/dist/runtime/modes/interactive/components/first-time-setup.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/first-time-setup.js +103 -0
- package/dist/runtime/modes/interactive/components/first-time-setup.js.map +1 -0
- package/dist/runtime/modes/interactive/components/footer.d.ts +32 -0
- package/dist/runtime/modes/interactive/components/footer.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/footer.js +222 -0
- package/dist/runtime/modes/interactive/components/footer.js.map +1 -0
- package/dist/runtime/modes/interactive/components/index.d.ts +34 -0
- package/dist/runtime/modes/interactive/components/index.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/index.js +35 -0
- package/dist/runtime/modes/interactive/components/index.js.map +1 -0
- package/dist/runtime/modes/interactive/components/keybinding-hints.d.ts +13 -0
- package/dist/runtime/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/keybinding-hints.js +36 -0
- package/dist/runtime/modes/interactive/components/keybinding-hints.js.map +1 -0
- package/dist/runtime/modes/interactive/components/login-dialog.d.ts +52 -0
- package/dist/runtime/modes/interactive/components/login-dialog.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/login-dialog.js +188 -0
- package/dist/runtime/modes/interactive/components/login-dialog.js.map +1 -0
- package/dist/runtime/modes/interactive/components/markdown-transform.d.ts +3 -0
- package/dist/runtime/modes/interactive/components/markdown-transform.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/markdown-transform.js +19 -0
- package/dist/runtime/modes/interactive/components/markdown-transform.js.map +1 -0
- package/dist/runtime/modes/interactive/components/mermaid.d.ts +11 -0
- package/dist/runtime/modes/interactive/components/mermaid.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/mermaid.js +75 -0
- package/dist/runtime/modes/interactive/components/mermaid.js.map +1 -0
- package/dist/runtime/modes/interactive/components/model-selector.d.ts +60 -0
- package/dist/runtime/modes/interactive/components/model-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/model-selector.js +370 -0
- package/dist/runtime/modes/interactive/components/model-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/oauth-selector.d.ts +33 -0
- package/dist/runtime/modes/interactive/components/oauth-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/oauth-selector.js +163 -0
- package/dist/runtime/modes/interactive/components/oauth-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/scoped-models-selector.d.ts +46 -0
- package/dist/runtime/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/scoped-models-selector.js +328 -0
- package/dist/runtime/modes/interactive/components/scoped-models-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/dist/runtime/modes/interactive/components/session-selector-search.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/session-selector-search.js +155 -0
- package/dist/runtime/modes/interactive/components/session-selector-search.js.map +1 -0
- package/dist/runtime/modes/interactive/components/session-selector.d.ts +95 -0
- package/dist/runtime/modes/interactive/components/session-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/session-selector.js +867 -0
- package/dist/runtime/modes/interactive/components/session-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/settings-selector.d.ts +90 -0
- package/dist/runtime/modes/interactive/components/settings-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/settings-selector.js +695 -0
- package/dist/runtime/modes/interactive/components/settings-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/settings-submenu.d.ts +72 -0
- package/dist/runtime/modes/interactive/components/settings-submenu.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/settings-submenu.js +165 -0
- package/dist/runtime/modes/interactive/components/settings-submenu.js.map +1 -0
- package/dist/runtime/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/dist/runtime/modes/interactive/components/show-images-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/show-images-selector.js +39 -0
- package/dist/runtime/modes/interactive/components/show-images-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/runtime/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/skill-invocation-message.js +47 -0
- package/dist/runtime/modes/interactive/components/skill-invocation-message.js.map +1 -0
- package/dist/runtime/modes/interactive/components/status-indicator.d.ts +28 -0
- package/dist/runtime/modes/interactive/components/status-indicator.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/status-indicator.js +60 -0
- package/dist/runtime/modes/interactive/components/status-indicator.js.map +1 -0
- package/dist/runtime/modes/interactive/components/theme-selector.d.ts +11 -0
- package/dist/runtime/modes/interactive/components/theme-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/theme-selector.js +50 -0
- package/dist/runtime/modes/interactive/components/theme-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/thinking-selector.d.ts +23 -0
- package/dist/runtime/modes/interactive/components/thinking-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/thinking-selector.js +109 -0
- package/dist/runtime/modes/interactive/components/thinking-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/tool-execution.d.ts +63 -0
- package/dist/runtime/modes/interactive/components/tool-execution.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/tool-execution.js +326 -0
- package/dist/runtime/modes/interactive/components/tool-execution.js.map +1 -0
- package/dist/runtime/modes/interactive/components/tree-selector.d.ts +94 -0
- package/dist/runtime/modes/interactive/components/tree-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/tree-selector.js +1245 -0
- package/dist/runtime/modes/interactive/components/tree-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/trust-selector.d.ts +23 -0
- package/dist/runtime/modes/interactive/components/trust-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/trust-selector.js +91 -0
- package/dist/runtime/modes/interactive/components/trust-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/user-message-selector.d.ts +30 -0
- package/dist/runtime/modes/interactive/components/user-message-selector.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/user-message-selector.js +114 -0
- package/dist/runtime/modes/interactive/components/user-message-selector.js.map +1 -0
- package/dist/runtime/modes/interactive/components/user-message.d.ts +16 -0
- package/dist/runtime/modes/interactive/components/user-message.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/user-message.js +49 -0
- package/dist/runtime/modes/interactive/components/user-message.js.map +1 -0
- package/dist/runtime/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/dist/runtime/modes/interactive/components/visual-truncate.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/components/visual-truncate.js +33 -0
- package/dist/runtime/modes/interactive/components/visual-truncate.js.map +1 -0
- package/dist/runtime/modes/interactive/external-editor.d.ts +12 -0
- package/dist/runtime/modes/interactive/external-editor.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/external-editor.js +38 -0
- package/dist/runtime/modes/interactive/external-editor.js.map +1 -0
- package/dist/runtime/modes/interactive/interactive-mode.d.ts +446 -0
- package/dist/runtime/modes/interactive/interactive-mode.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/interactive-mode.js +5509 -0
- package/dist/runtime/modes/interactive/interactive-mode.js.map +1 -0
- package/dist/runtime/modes/interactive/model-catalog-refresh.d.ts +7 -0
- package/dist/runtime/modes/interactive/model-catalog-refresh.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/model-catalog-refresh.js +34 -0
- package/dist/runtime/modes/interactive/model-catalog-refresh.js.map +1 -0
- package/dist/runtime/modes/interactive/model-search.d.ts +12 -0
- package/dist/runtime/modes/interactive/model-search.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/model-search.js +15 -0
- package/dist/runtime/modes/interactive/model-search.js.map +1 -0
- package/dist/runtime/modes/interactive/session-share.d.ts +16 -0
- package/dist/runtime/modes/interactive/session-share.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/session-share.js +188 -0
- package/dist/runtime/modes/interactive/session-share.js.map +1 -0
- package/dist/runtime/modes/interactive/theme/dark.json +90 -0
- package/dist/runtime/modes/interactive/theme/light.json +89 -0
- package/dist/runtime/modes/interactive/theme/theme-controller.d.ts +40 -0
- package/dist/runtime/modes/interactive/theme/theme-controller.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/theme/theme-controller.js +125 -0
- package/dist/runtime/modes/interactive/theme/theme-controller.js.map +1 -0
- package/dist/runtime/modes/interactive/theme/theme-schema.json +352 -0
- package/dist/runtime/modes/interactive/theme/theme.d.ts +122 -0
- package/dist/runtime/modes/interactive/theme/theme.d.ts.map +1 -0
- package/dist/runtime/modes/interactive/theme/theme.js +1092 -0
- package/dist/runtime/modes/interactive/theme/theme.js.map +1 -0
- package/dist/runtime/modes/json-event.d.ts +34 -0
- package/dist/runtime/modes/json-event.d.ts.map +1 -0
- package/dist/runtime/modes/json-event.js +29 -0
- package/dist/runtime/modes/json-event.js.map +1 -0
- package/dist/runtime/modes/print-mode.d.ts +28 -0
- package/dist/runtime/modes/print-mode.d.ts.map +1 -0
- package/dist/runtime/modes/print-mode.js +142 -0
- package/dist/runtime/modes/print-mode.js.map +1 -0
- package/dist/runtime/modes/rpc/jsonl.d.ts +17 -0
- package/dist/runtime/modes/rpc/jsonl.d.ts.map +1 -0
- package/dist/runtime/modes/rpc/jsonl.js +49 -0
- package/dist/runtime/modes/rpc/jsonl.js.map +1 -0
- package/dist/runtime/modes/rpc/rpc-client.d.ts +254 -0
- package/dist/runtime/modes/rpc/rpc-client.d.ts.map +1 -0
- package/dist/runtime/modes/rpc/rpc-client.js +495 -0
- package/dist/runtime/modes/rpc/rpc-client.js.map +1 -0
- package/dist/runtime/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/runtime/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/dist/runtime/modes/rpc/rpc-mode.js +657 -0
- package/dist/runtime/modes/rpc/rpc-mode.js.map +1 -0
- package/dist/runtime/modes/rpc/rpc-types.d.ts +469 -0
- package/dist/runtime/modes/rpc/rpc-types.d.ts.map +1 -0
- package/dist/runtime/modes/rpc/rpc-types.js +8 -0
- package/dist/runtime/modes/rpc/rpc-types.js.map +1 -0
- package/dist/runtime/package-manager-cli.d.ts +9 -0
- package/dist/runtime/package-manager-cli.d.ts.map +1 -0
- package/dist/runtime/package-manager-cli.js +961 -0
- package/dist/runtime/package-manager-cli.js.map +1 -0
- package/dist/runtime/rpc-entry.d.ts +3 -0
- package/dist/runtime/rpc-entry.d.ts.map +1 -0
- package/dist/runtime/rpc-entry.js +11 -0
- package/dist/runtime/rpc-entry.js.map +1 -0
- package/dist/runtime/server/create-harness.d.ts +26 -0
- package/dist/runtime/server/create-harness.d.ts.map +1 -0
- package/dist/runtime/server/create-harness.js +106 -0
- package/dist/runtime/server/create-harness.js.map +1 -0
- package/dist/runtime/utils/abort.d.ts +5 -0
- package/dist/runtime/utils/abort.d.ts.map +1 -0
- package/dist/runtime/utils/abort.js +48 -0
- package/dist/runtime/utils/abort.js.map +1 -0
- package/dist/runtime/utils/ansi.d.ts +2 -0
- package/dist/runtime/utils/ansi.d.ts.map +1 -0
- package/dist/runtime/utils/ansi.js +52 -0
- package/dist/runtime/utils/ansi.js.map +1 -0
- package/dist/runtime/utils/changelog.d.ts +22 -0
- package/dist/runtime/utils/changelog.d.ts.map +1 -0
- package/dist/runtime/utils/changelog.js +165 -0
- package/dist/runtime/utils/changelog.js.map +1 -0
- package/dist/runtime/utils/child-process.d.ts +18 -0
- package/dist/runtime/utils/child-process.d.ts.map +1 -0
- package/dist/runtime/utils/child-process.js +106 -0
- package/dist/runtime/utils/child-process.js.map +1 -0
- package/dist/runtime/utils/clipboard-image.d.ts +11 -0
- package/dist/runtime/utils/clipboard-image.d.ts.map +1 -0
- package/dist/runtime/utils/clipboard-image.js +245 -0
- package/dist/runtime/utils/clipboard-image.js.map +1 -0
- package/dist/runtime/utils/clipboard-native.d.ts +11 -0
- package/dist/runtime/utils/clipboard-native.d.ts.map +1 -0
- package/dist/runtime/utils/clipboard-native.js +20 -0
- package/dist/runtime/utils/clipboard-native.js.map +1 -0
- package/dist/runtime/utils/clipboard.d.ts +4 -0
- package/dist/runtime/utils/clipboard.d.ts.map +1 -0
- package/dist/runtime/utils/clipboard.js +161 -0
- package/dist/runtime/utils/clipboard.js.map +1 -0
- package/dist/runtime/utils/deprecation.d.ts +4 -0
- package/dist/runtime/utils/deprecation.d.ts.map +1 -0
- package/dist/runtime/utils/deprecation.js +13 -0
- package/dist/runtime/utils/deprecation.js.map +1 -0
- package/dist/runtime/utils/exif-orientation.d.ts +5 -0
- package/dist/runtime/utils/exif-orientation.d.ts.map +1 -0
- package/dist/runtime/utils/exif-orientation.js +158 -0
- package/dist/runtime/utils/exif-orientation.js.map +1 -0
- package/dist/runtime/utils/frontmatter.d.ts +8 -0
- package/dist/runtime/utils/frontmatter.d.ts.map +1 -0
- package/dist/runtime/utils/frontmatter.js +27 -0
- package/dist/runtime/utils/frontmatter.js.map +1 -0
- package/dist/runtime/utils/fs-watch.d.ts +5 -0
- package/dist/runtime/utils/fs-watch.d.ts.map +1 -0
- package/dist/runtime/utils/fs-watch.js +25 -0
- package/dist/runtime/utils/fs-watch.js.map +1 -0
- package/dist/runtime/utils/git.d.ts +26 -0
- package/dist/runtime/utils/git.d.ts.map +1 -0
- package/dist/runtime/utils/git.js +195 -0
- package/dist/runtime/utils/git.js.map +1 -0
- package/dist/runtime/utils/html.d.ts +7 -0
- package/dist/runtime/utils/html.d.ts.map +1 -0
- package/dist/runtime/utils/html.js +40 -0
- package/dist/runtime/utils/html.js.map +1 -0
- package/dist/runtime/utils/image-convert.d.ts +10 -0
- package/dist/runtime/utils/image-convert.d.ts.map +1 -0
- package/dist/runtime/utils/image-convert.js +45 -0
- package/dist/runtime/utils/image-convert.js.map +1 -0
- package/dist/runtime/utils/image-process.d.ts +18 -0
- package/dist/runtime/utils/image-process.d.ts.map +1 -0
- package/dist/runtime/utils/image-process.js +83 -0
- package/dist/runtime/utils/image-process.js.map +1 -0
- package/dist/runtime/utils/image-resize-core.d.ts +30 -0
- package/dist/runtime/utils/image-resize-core.d.ts.map +1 -0
- package/dist/runtime/utils/image-resize-core.js +124 -0
- package/dist/runtime/utils/image-resize-core.js.map +1 -0
- package/dist/runtime/utils/image-resize-worker.d.ts +2 -0
- package/dist/runtime/utils/image-resize-worker.d.ts.map +1 -0
- package/dist/runtime/utils/image-resize-worker.js +31 -0
- package/dist/runtime/utils/image-resize-worker.js.map +1 -0
- package/dist/runtime/utils/image-resize.d.ts +16 -0
- package/dist/runtime/utils/image-resize.d.ts.map +1 -0
- package/dist/runtime/utils/image-resize.js +97 -0
- package/dist/runtime/utils/image-resize.js.map +1 -0
- package/dist/runtime/utils/json.d.ts +3 -0
- package/dist/runtime/utils/json.d.ts.map +1 -0
- package/dist/runtime/utils/json.js +7 -0
- package/dist/runtime/utils/json.js.map +1 -0
- package/dist/runtime/utils/management-http.d.ts +25 -0
- package/dist/runtime/utils/management-http.d.ts.map +1 -0
- package/dist/runtime/utils/management-http.js +54 -0
- package/dist/runtime/utils/management-http.js.map +1 -0
- package/dist/runtime/utils/mime.d.ts +3 -0
- package/dist/runtime/utils/mime.d.ts.map +1 -0
- package/dist/runtime/utils/mime.js +110 -0
- package/dist/runtime/utils/mime.js.map +1 -0
- package/dist/runtime/utils/open-browser.d.ts +9 -0
- package/dist/runtime/utils/open-browser.d.ts.map +1 -0
- package/dist/runtime/utils/open-browser.js +22 -0
- package/dist/runtime/utils/open-browser.js.map +1 -0
- package/dist/runtime/utils/paths.d.ts +34 -0
- package/dist/runtime/utils/paths.d.ts.map +1 -0
- package/dist/runtime/utils/paths.js +114 -0
- package/dist/runtime/utils/paths.js.map +1 -0
- package/dist/runtime/utils/photon.d.ts +21 -0
- package/dist/runtime/utils/photon.d.ts.map +1 -0
- package/dist/runtime/utils/photon.js +121 -0
- package/dist/runtime/utils/photon.js.map +1 -0
- package/dist/runtime/utils/pi-user-agent.d.ts +2 -0
- package/dist/runtime/utils/pi-user-agent.d.ts.map +1 -0
- package/dist/runtime/utils/pi-user-agent.js +5 -0
- package/dist/runtime/utils/pi-user-agent.js.map +1 -0
- package/dist/runtime/utils/shell.d.ts +34 -0
- package/dist/runtime/utils/shell.d.ts.map +1 -0
- package/dist/runtime/utils/shell.js +214 -0
- package/dist/runtime/utils/shell.js.map +1 -0
- package/dist/runtime/utils/sleep.d.ts +5 -0
- package/dist/runtime/utils/sleep.d.ts.map +1 -0
- package/dist/runtime/utils/sleep.js +17 -0
- package/dist/runtime/utils/sleep.js.map +1 -0
- package/dist/runtime/utils/syntax-highlight.d.ts +13 -0
- package/dist/runtime/utils/syntax-highlight.d.ts.map +1 -0
- package/dist/runtime/utils/syntax-highlight.js +177 -0
- package/dist/runtime/utils/syntax-highlight.js.map +1 -0
- package/dist/runtime/utils/text.d.ts +8 -0
- package/dist/runtime/utils/text.d.ts.map +1 -0
- package/dist/runtime/utils/text.js +9 -0
- package/dist/runtime/utils/text.js.map +1 -0
- package/dist/runtime/utils/tool-result-images.d.ts +19 -0
- package/dist/runtime/utils/tool-result-images.d.ts.map +1 -0
- package/dist/runtime/utils/tool-result-images.js +45 -0
- package/dist/runtime/utils/tool-result-images.js.map +1 -0
- package/dist/runtime/utils/tools-manager.d.ts +12 -0
- package/dist/runtime/utils/tools-manager.d.ts.map +1 -0
- package/dist/runtime/utils/tools-manager.js +321 -0
- package/dist/runtime/utils/tools-manager.js.map +1 -0
- package/dist/runtime/utils/version-check.d.ts +19 -0
- package/dist/runtime/utils/version-check.d.ts.map +1 -0
- package/dist/runtime/utils/version-check.js +79 -0
- package/dist/runtime/utils/version-check.js.map +1 -0
- package/dist/runtime/utils/windows-self-update.d.ts +3 -0
- package/dist/runtime/utils/windows-self-update.d.ts.map +1 -0
- package/dist/runtime/utils/windows-self-update.js +77 -0
- package/dist/runtime/utils/windows-self-update.js.map +1 -0
- package/dist/update.js +134 -0
- package/dist/workflows.js +264 -0
- package/docs/compaction.md +416 -0
- package/docs/containerization.md +111 -0
- package/docs/custom-provider.md +777 -0
- package/docs/development.md +71 -0
- package/docs/docs.json +156 -0
- package/docs/environment-variables.md +94 -0
- package/docs/extensions.md +3002 -0
- package/docs/images/doom-extension.png +0 -0
- package/docs/images/exy.png +0 -0
- package/docs/images/interactive-mode.png +0 -0
- package/docs/images/tree-view.png +0 -0
- package/docs/index.md +84 -0
- package/docs/json.md +98 -0
- package/docs/keybindings.md +236 -0
- package/docs/llama-cpp.md +101 -0
- package/docs/models.md +571 -0
- package/docs/packages.md +228 -0
- package/docs/prompt-templates.md +96 -0
- package/docs/providers.md +317 -0
- package/docs/quickstart.md +167 -0
- package/docs/rpc.md +1618 -0
- package/docs/sdk.md +1219 -0
- package/docs/security.md +59 -0
- package/docs/session-format.md +438 -0
- package/docs/sessions.md +145 -0
- package/docs/settings.md +361 -0
- package/docs/shell-aliases.md +13 -0
- package/docs/skills.md +232 -0
- package/docs/terminal-setup.md +165 -0
- package/docs/termux.md +127 -0
- package/docs/themes.md +320 -0
- package/docs/tmux.md +63 -0
- package/docs/tui.md +942 -0
- package/docs/usage.md +310 -0
- package/docs/windows.md +39 -0
- package/examples/README.md +25 -0
- package/examples/extensions/README.md +213 -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/border-status-editor.ts +150 -0
- package/examples/extensions/built-in-tool-renderer.ts +249 -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 +117 -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 +611 -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 +405 -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/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 +72 -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 +55 -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/entry-renderer.ts +41 -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/git-merge-and-resolve.ts +115 -0
- package/examples/extensions/github-issue-autocomplete.ts +185 -0
- package/examples/extensions/gondolin/index.ts +531 -0
- package/examples/extensions/gondolin/package-lock.json +185 -0
- package/examples/extensions/gondolin/package.json +19 -0
- package/examples/extensions/handoff.ts +190 -0
- package/examples/extensions/hello.ts +26 -0
- package/examples/extensions/hidden-thinking-label.ts +53 -0
- package/examples/extensions/inline-bash.ts +94 -0
- package/examples/extensions/input-transform-streaming.ts +39 -0
- package/examples/extensions/input-transform.ts +43 -0
- package/examples/extensions/interactive-shell.ts +196 -0
- package/examples/extensions/kimi-deferred-tools.ts +61 -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 +57 -0
- package/examples/extensions/overlay-qa-tests.ts +1450 -0
- package/examples/extensions/overlay-test.ts +153 -0
- package/examples/extensions/permission-gate.ts +34 -0
- package/examples/extensions/pirate.ts +47 -0
- package/examples/extensions/plan-mode/README.md +66 -0
- package/examples/extensions/plan-mode/index.ts +390 -0
- package/examples/extensions/plan-mode/utils.ts +168 -0
- package/examples/extensions/preset.ts +436 -0
- package/examples/extensions/project-trust.ts +64 -0
- package/examples/extensions/prompt-customizer.ts +97 -0
- package/examples/extensions/protected-paths.ts +30 -0
- package/examples/extensions/provider-payload.ts +18 -0
- package/examples/extensions/qna.ts +118 -0
- package/examples/extensions/question.ts +286 -0
- package/examples/extensions/questionnaire.ts +448 -0
- package/examples/extensions/rainbow-editor.ts +88 -0
- package/examples/extensions/reload-runtime.ts +37 -0
- package/examples/extensions/rpc-demo.ts +118 -0
- package/examples/extensions/sandbox/index.ts +321 -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 +32 -0
- package/examples/extensions/structured-output.ts +65 -0
- package/examples/extensions/subagent/README.md +177 -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 +157 -0
- package/examples/extensions/subagent/index.ts +1038 -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 +199 -0
- package/examples/extensions/system-prompt-header.ts +17 -0
- package/examples/extensions/tic-tac-toe.ts +1008 -0
- package/examples/extensions/timed-confirm.ts +70 -0
- package/examples/extensions/titlebar-spinner.ts +58 -0
- package/examples/extensions/todo.ts +297 -0
- package/examples/extensions/tool-override.ts +144 -0
- package/examples/extensions/tools.ts +146 -0
- package/examples/extensions/trigger-compact.ts +50 -0
- package/examples/extensions/truncated-tool.ts +195 -0
- package/examples/extensions/widget-placement.ts +9 -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/extensions/working-indicator.ts +123 -0
- package/examples/extensions/working-message-test.ts +25 -0
- package/examples/rpc-extension-ui.ts +641 -0
- package/examples/sdk/01-minimal.ts +26 -0
- package/examples/sdk/02-custom-model.ts +49 -0
- package/examples/sdk/03-custom-prompt.ts +75 -0
- package/examples/sdk/04-skills.ts +55 -0
- package/examples/sdk/05-tools.ts +48 -0
- package/examples/sdk/06-extensions.ts +99 -0
- package/examples/sdk/07-context-files.ts +47 -0
- package/examples/sdk/08-prompt-templates.ts +51 -0
- package/examples/sdk/09-api-keys-and-oauth.ts +34 -0
- package/examples/sdk/10-settings.ts +53 -0
- package/examples/sdk/11-sessions.ts +52 -0
- package/examples/sdk/12-full-control.ts +74 -0
- package/examples/sdk/13-session-runtime.ts +67 -0
- package/examples/sdk/README.md +140 -0
- package/package.json +66 -12
- package/upstream.json +6 -0
- package/workflows/cm/LICENSE +21 -0
- package/workflows/cm/README.md +333 -0
- package/workflows/cm/THIRD_PARTY_NOTICES.md +29 -0
- package/workflows/cm/VERSION +1 -0
- package/workflows/cm/agents/cm-backend-agent.md +34 -0
- package/workflows/cm/agents/cm-contract-agent.md +34 -0
- package/workflows/cm/agents/cm-database-agent.md +34 -0
- package/workflows/cm/agents/cm-frontend-agent.md +33 -0
- package/workflows/cm/agents/cm-miniprogram-agent.md +33 -0
- package/workflows/cm/agents/cm-ui-agent.md +34 -0
- package/workflows/cm/assets/docs/command-picker-mobile.svg +56 -0
- package/workflows/cm/assets/docs/command-picker.svg +56 -0
- package/workflows/cm/assets/docs/user-guide-hero-mobile.svg +35 -0
- package/workflows/cm/assets/docs/user-guide-hero.svg +36 -0
- package/workflows/cm/assets/readme/delivery-flow.svg +86 -0
- package/workflows/cm/assets/readme/hero.svg +77 -0
- package/workflows/cm/assets/readme/recovery-record.svg +73 -0
- package/workflows/cm/assets/readme/test-evidence.svg +64 -0
- package/workflows/cm/compat/claude-commands/cm-ai.md +3 -0
- package/workflows/cm/compat/claude-commands/cm-check.md +3 -0
- package/workflows/cm/compat/claude-commands/cm-fix.md +3 -0
- package/workflows/cm/compat/claude-commands/cm-idea.md +3 -0
- package/workflows/cm/compat/claude-commands/cm-init.md +3 -0
- package/workflows/cm/compat/claude-commands/cm-prd.md +3 -0
- package/workflows/cm/compat/claude-commands/cm-refactor.md +3 -0
- package/workflows/cm/compat/claude-commands/cm-test.md +3 -0
- package/workflows/cm/docs/architecture.md +130 -0
- package/workflows/cm/docs/fixes/.reviews/fix-manifest-runtime-checkbox-drift-r1.md +33 -0
- package/workflows/cm/docs/fixes/.reviews/fix-manifest-runtime-checkbox-drift-r2.md +31 -0
- package/workflows/cm/docs/fixes/.reviews/fix-model-call-boundary-identity-T-FIX-model-call-boundary-identity-a1-handoff.json +56 -0
- package/workflows/cm/docs/fixes/.reviews/fix-model-call-boundary-identity-T-FIX-model-call-boundary-identity-a2-handoff.json +85 -0
- package/workflows/cm/docs/fixes/.reviews/fix-model-call-boundary-identity-T-FIX-model-call-boundary-identity-r1.md +53 -0
- package/workflows/cm/docs/fixes/.reviews/fix-model-call-boundary-identity-T-FIX-model-call-boundary-identity-r2.md +80 -0
- package/workflows/cm/docs/fixes/.reviews/fix-review-evidence-scope-honesty-T-FIX-review-evidence-scope-honesty-a1-handoff.json +35 -0
- package/workflows/cm/docs/fixes/.reviews/fix-review-evidence-scope-honesty-T-FIX-review-evidence-scope-honesty-r1.md +33 -0
- package/workflows/cm/docs/fixes/.reviews/fix-windows-cp1252-log-output-r1.md +30 -0
- package/workflows/cm/docs/fixes/.reviews/fix-windows-cp1252-log-output-r2.md +16 -0
- package/workflows/cm/docs/fixes/.reviews/openai-compatible-depth-fixture-T-FIX-openai-compatible-depth-fixture-a1-handoff.json +40 -0
- package/workflows/cm/docs/fixes/.reviews/openai-compatible-depth-fixture-T-FIX-openai-compatible-depth-fixture-r1.md +30 -0
- package/workflows/cm/docs/fixes/20260729-windows-cp1252-log-output.md +65 -0
- package/workflows/cm/docs/fixes/20260804-manifest-runtime-checkbox-drift.md +67 -0
- package/workflows/cm/docs/fixes/20260806-model-call-boundary-identity.md +80 -0
- package/workflows/cm/docs/fixes/20260807-prelanding-integrity.md +58 -0
- package/workflows/cm/docs/fixes/20260826-openai-compatible-depth-fixture.md +39 -0
- package/workflows/cm/docs/installation.md +149 -0
- package/workflows/cm/docs/sample-prd/prd-funding-rate-alert.md +42 -0
- package/workflows/cm/docs/sample-specs/docs//351/234/200/346/261/202/347/244/272/344/276/213.md +24 -0
- package/workflows/cm/docs/user-guide.md +521 -0
- package/workflows/cm/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/README.md +19 -0
- package/workflows/cm/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/refactor-flow.excalidraw +3650 -0
- package/workflows/cm/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/refactor-flow.mp4 +0 -0
- package/workflows/cm/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/refactor-flow.png +0 -0
- package/workflows/cm/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/refactor-flow.spec.json +223 -0
- package/workflows/cm/package.json +45 -0
- package/workflows/cm/runtime/external-expert.md +302 -0
- package/workflows/cm/runtime/logging.md +206 -0
- package/workflows/cm/runtime/model-efficiency.md +201 -0
- package/workflows/cm/runtime/orchestration.md +113 -0
- package/workflows/cm/runtime/project-context.md +37 -0
- package/workflows/cm/runtime/review.md +114 -0
- package/workflows/cm/runtime/task-gates.md +114 -0
- package/workflows/cm/runtime/task-handoff.schema.json +103 -0
- package/workflows/cm/runtime/test-contract.md +212 -0
- package/workflows/cm/runtime/workflow-config.md +115 -0
- package/workflows/cm/runtime/workflow-routing.md +82 -0
- package/workflows/cm/scripts/cm-check-runtime.ps1 +69 -0
- package/workflows/cm/scripts/cm-check-runtime.sh +866 -0
- package/workflows/cm/scripts/cm-log-event.py +1270 -0
- package/workflows/cm/scripts/cm-openai-compatible-call.py +661 -0
- package/workflows/cm/scripts/cm-prd-review-gate.py +319 -0
- package/workflows/cm/scripts/cm-prd-timing.py +272 -0
- package/workflows/cm/scripts/cm-spec-manifest.py +171 -0
- package/workflows/cm/scripts/cm-task-gate.py +760 -0
- package/workflows/cm/scripts/cm-usage-report.py +516 -0
- package/workflows/cm/scripts/cm_workflow_config.py +612 -0
- package/workflows/cm/scripts/scan-public-safety.py +89 -0
- package/workflows/cm/scripts/test-cm-log-event.py +1213 -0
- package/workflows/cm/scripts/test-cm-openai-compatible-call.py +1185 -0
- package/workflows/cm/scripts/test-cm-prd-review-gate.py +243 -0
- package/workflows/cm/scripts/test-cm-prd-timing.py +168 -0
- package/workflows/cm/scripts/test-cm-usage-report.py +584 -0
- package/workflows/cm/scripts/test-shell-compat.sh +338 -0
- package/workflows/cm/scripts/test-spec-manifest.py +220 -0
- package/workflows/cm/scripts/test-task-gate.py +540 -0
- package/workflows/cm/scripts/test-workflow-config.py +394 -0
- package/workflows/cm/scripts/validate-public-repo.py +200 -0
- package/workflows/cm/scripts/validate-test-cases.py +127 -0
- package/workflows/cm/skills/cm-ai/SKILL.md +120 -0
- package/workflows/cm/skills/cm-ai/references/N1-init.md +92 -0
- package/workflows/cm/skills/cm-ai/references/N2-enter-feature.md +38 -0
- package/workflows/cm/skills/cm-ai/references/N3-execute-task.md +99 -0
- package/workflows/cm/skills/cm-ai/references/N4-review.md +96 -0
- package/workflows/cm/skills/cm-ai/references/N5-mark-done.md +107 -0
- package/workflows/cm/skills/cm-ai/references/N6-qa-eval.md +102 -0
- package/workflows/cm/skills/cm-ai/references/N7-context.md +23 -0
- package/workflows/cm/skills/cm-ai/references/N8-finish.md +97 -0
- package/workflows/cm/skills/cm-backend-engineer/SKILL.md +100 -0
- package/workflows/cm/skills/cm-check/SKILL.md +60 -0
- package/workflows/cm/skills/cm-contract-engineer/SKILL.md +136 -0
- package/workflows/cm/skills/cm-database-engineer/SKILL.md +89 -0
- package/workflows/cm/skills/cm-devops-engineer/SKILL.md +137 -0
- package/workflows/cm/skills/cm-doc-syncer/SKILL.md +150 -0
- package/workflows/cm/skills/cm-finance-expert/SKILL.md +85 -0
- package/workflows/cm/skills/cm-fix/SKILL.md +159 -0
- package/workflows/cm/skills/cm-frontend-engineer/SKILL.md +127 -0
- package/workflows/cm/skills/cm-idea/SKILL.md +42 -0
- package/workflows/cm/skills/cm-idea/references/domains/trading.md +97 -0
- package/workflows/cm/skills/cm-idea/references/example-prd.md +92 -0
- package/workflows/cm/skills/cm-idea/references/idea-to-prd.md +282 -0
- package/workflows/cm/skills/cm-init/SKILL.md +158 -0
- package/workflows/cm/skills/cm-miniprogram-engineer/SKILL.md +141 -0
- package/workflows/cm/skills/cm-miniprogram-engineer/references/platform-readiness.md +58 -0
- package/workflows/cm/skills/cm-miniprogram-engineer/references/release-checklist.md +59 -0
- package/workflows/cm/skills/cm-prd/SKILL.md +521 -0
- package/workflows/cm/skills/cm-prd/references/brownfield.md +13 -0
- package/workflows/cm/skills/cm-prd/references/change-mode.md +145 -0
- package/workflows/cm/skills/cm-prd/references/context-scope.md +62 -0
- package/workflows/cm/skills/cm-prd/references/greenfield.md +80 -0
- package/workflows/cm/skills/cm-prd/references/phase-timing.md +60 -0
- package/workflows/cm/skills/cm-prd/references/spec-self-check.md +22 -0
- package/workflows/cm/skills/cm-product-manager/SKILL.md +83 -0
- package/workflows/cm/skills/cm-qa-engineer/SKILL.md +142 -0
- package/workflows/cm/skills/cm-refactor/SKILL.md +209 -0
- package/workflows/cm/skills/cm-test/SKILL.md +259 -0
- package/workflows/cm/skills/cm-ui-engineer/SKILL.md +105 -0
- package/workflows/cm/skills/codebase-context/SKILL.md +489 -0
- package/workflows/cm/skills/darwin-skill/NOTICE.md +26 -0
- package/workflows/cm/skills/darwin-skill/README.md +272 -0
- package/workflows/cm/skills/darwin-skill/SKILL.md +492 -0
- package/workflows/cm/skills/darwin-skill/references/runtime-neutrality.md +68 -0
- package/workflows/cm/skills/darwin-skill/references/skilllens-evidence.md +142 -0
- package/workflows/cm/skills/darwin-skill/scripts/screenshot.mjs +71 -0
- package/workflows/cm/skills/darwin-skill/templates/result-card-dark.html +698 -0
- package/workflows/cm/skills/darwin-skill/templates/result-card-white.html +444 -0
- package/workflows/cm/skills/darwin-skill/templates/result-card.html +616 -0
- package/workflows/cm/skills/external-expert/SKILL.md +250 -0
- package/workflows/cm/templates/arch-reference.md +68 -0
- package/workflows/cm/templates/auto-update/cm-announce.sh +19 -0
- package/workflows/cm/templates/auto-update/cm-update.sh +274 -0
- package/workflows/cm/templates/cm-workflow.yml +52 -0
- package/workflows/cm/templates/dashboard/dashboard.html +153 -0
- package/workflows/cm/templates/dashboard/serve.sh +10 -0
- package/workflows/cm/templates/hooks/pre-commit-cm-task-check +67 -0
- package/workflows/cm/templates/pixel/cm-pixel.html +388 -0
- package/workflows/cm/templates/pixel/cm-pixel.sh +212 -0
- package/workflows/cm/templates/pixel/dev/README.md +20 -0
- package/workflows/cm/templates/pixel/dev/atlas-preview.png +0 -0
- package/workflows/cm/templates/pixel/dev/build.py +55 -0
- package/workflows/cm/templates/pixel/dev/sheets/roguelikeChar_transparent.png +0 -0
- package/workflows/cm/templates/pixel/dev/sheets/roguelikeCity_tilemap.png +0 -0
- package/workflows/cm/templates/pixel/dev/sheets/roguelikeIndoor_transparent.png +0 -0
- package/workflows/cm/templates/pixel/dev/template.html +388 -0
- package/workflows/cm/templates/pixel/serve.sh +12 -0
- package/workflows/cm/templates/refactor/cm-refactor-denies.json +14 -0
- package/workflows/cm/templates/rules/backend-api.md +36 -0
- package/workflows/cm/templates/rules/coding-style.md +44 -0
- package/workflows/cm/templates/rules/database.md +27 -0
- package/workflows/cm/templates/rules/finance.md +32 -0
- package/workflows/cm/templates/rules/frontend.md +32 -0
- package/workflows/cm/templates/rules/git-workflow.md +25 -0
- package/workflows/cm/templates/rules/miniprogram.md +31 -0
- package/workflows/cm/templates/rules/security.md +31 -0
- package/workflows/cm/templates/rules/smart-contract.md +28 -0
- package/workflows/cm/templates/rules/testing.md +36 -0
- package/workflows/cm/templates/statusline/cm-statusline.sh +73 -0
- package/workflows/cm/templates/ui-lens/cm-ui-lens-extract.mjs +55 -0
- package/workflows/cm-plugin/LICENSE +21 -0
- package/workflows/cm-plugin/README.md +195 -0
- package/workflows/cm-plugin/VERSION +1 -0
- package/workflows/cm-plugin/agents/cm-plugin-backend-agent.md +34 -0
- package/workflows/cm-plugin/agents/cm-plugin-extension-agent.md +35 -0
- package/workflows/cm-plugin/agents/cm-plugin-ui-agent.md +34 -0
- package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N1-init.md +60 -0
- package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N2-enter-feature.md +51 -0
- package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N3-execute-task.md +32 -0
- package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N4-review.md +58 -0
- package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N5-mark-done.md +80 -0
- package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N6-qa-eval.md +69 -0
- package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N7-context.md +23 -0
- package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N8-finish.md +61 -0
- package/workflows/cm-plugin/commands/cm-plugin-prd-modes/brownfield.md +13 -0
- package/workflows/cm-plugin/commands/cm-plugin-prd-modes/change-mode.md +130 -0
- package/workflows/cm-plugin/commands/cm-plugin-prd-modes/greenfield.md +82 -0
- package/workflows/cm-plugin/commands/cm-plugin:ai.md +75 -0
- package/workflows/cm-plugin/commands/cm-plugin:check.md +66 -0
- package/workflows/cm-plugin/commands/cm-plugin:fix.md +100 -0
- package/workflows/cm-plugin/commands/cm-plugin:idea.md +29 -0
- package/workflows/cm-plugin/commands/cm-plugin:init.md +145 -0
- package/workflows/cm-plugin/commands/cm-plugin:prd.md +403 -0
- package/workflows/cm-plugin/commands/cm-plugin:refactor.md +147 -0
- package/workflows/cm-plugin/commands/cm-plugin:rewrite.md +90 -0
- package/workflows/cm-plugin/commands/cm-plugin:scout.md +202 -0
- package/workflows/cm-plugin/docs//346/265/213/350/257/225/346/214/207/345/274/225-/345/277/253/351/200/237/344/270/212/346/211/213.md +189 -0
- package/workflows/cm-plugin/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/README.md +17 -0
- package/workflows/cm-plugin/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/refactor-flow.excalidraw +3650 -0
- package/workflows/cm-plugin/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/refactor-flow.mp4 +0 -0
- package/workflows/cm-plugin/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/refactor-flow.png +0 -0
- package/workflows/cm-plugin/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/refactor-flow.spec.json +223 -0
- package/workflows/cm-plugin/package.json +33 -0
- package/workflows/cm-plugin/skills/cm-plugin-backend-engineer/SKILL.md +100 -0
- package/workflows/cm-plugin/skills/cm-plugin-devops-engineer/NOTICE.md +14 -0
- package/workflows/cm-plugin/skills/cm-plugin-devops-engineer/SKILL.md +120 -0
- package/workflows/cm-plugin/skills/cm-plugin-devops-engineer/references/cws-ci-cd.md +139 -0
- package/workflows/cm-plugin/skills/cm-plugin-devops-engineer/references/cws-submission-checklist.md +87 -0
- package/workflows/cm-plugin/skills/cm-plugin-doc-syncer/SKILL.md +149 -0
- package/workflows/cm-plugin/skills/cm-plugin-extension-engineer/SKILL.md +105 -0
- package/workflows/cm-plugin/skills/cm-plugin-product-manager/SKILL.md +83 -0
- package/workflows/cm-plugin/skills/cm-plugin-qa-engineer/NOTICE.md +14 -0
- package/workflows/cm-plugin/skills/cm-plugin-qa-engineer/SKILL.md +134 -0
- package/workflows/cm-plugin/skills/cm-plugin-qa-engineer/references/cws-scan-checklist.md +136 -0
- package/workflows/cm-plugin/skills/cm-plugin-qa-engineer/references/cws-violation-codes.md +68 -0
- package/workflows/cm-plugin/skills/cm-plugin-ui-engineer/SKILL.md +94 -0
- package/workflows/cm-plugin/skills/codebase-context/SKILL.md +489 -0
- package/workflows/cm-plugin/skills/darwin-skill/NOTICE.md +24 -0
- package/workflows/cm-plugin/skills/darwin-skill/README.md +272 -0
- package/workflows/cm-plugin/skills/darwin-skill/SKILL.md +492 -0
- package/workflows/cm-plugin/skills/darwin-skill/references/runtime-neutrality.md +68 -0
- package/workflows/cm-plugin/skills/darwin-skill/references/skilllens-evidence.md +142 -0
- package/workflows/cm-plugin/skills/darwin-skill/scripts/screenshot.mjs +71 -0
- package/workflows/cm-plugin/skills/darwin-skill/templates/result-card-dark.html +698 -0
- package/workflows/cm-plugin/skills/darwin-skill/templates/result-card-white.html +444 -0
- package/workflows/cm-plugin/skills/darwin-skill/templates/result-card.html +616 -0
- package/workflows/cm-plugin/skills/idea-to-prd/SKILL.md +289 -0
- package/workflows/cm-plugin/skills/idea-to-prd/references/domains/trading.md +97 -0
- package/workflows/cm-plugin/skills/idea-to-prd/references/example-prd.md +92 -0
- package/workflows/cm-plugin/templates/arch-reference.md +55 -0
- package/workflows/cm-plugin/templates/auto-update/cm-announce.sh +19 -0
- package/workflows/cm-plugin/templates/auto-update/cm-update.sh +251 -0
- package/workflows/cm-plugin/templates/dashboard/dashboard.html +153 -0
- package/workflows/cm-plugin/templates/dashboard/serve.sh +10 -0
- package/workflows/cm-plugin/templates/e2e/extension-harness.ts +110 -0
- package/workflows/cm-plugin/templates/e2e/smoke.spec.example.ts +51 -0
- package/workflows/cm-plugin/templates/hooks/pre-commit-cm-task-check +33 -0
- package/workflows/cm-plugin/templates/pixel/cm-pixel.html +388 -0
- package/workflows/cm-plugin/templates/pixel/cm-pixel.sh +212 -0
- package/workflows/cm-plugin/templates/pixel/dev/README.md +20 -0
- package/workflows/cm-plugin/templates/pixel/dev/atlas-preview.png +0 -0
- package/workflows/cm-plugin/templates/pixel/dev/build.py +55 -0
- package/workflows/cm-plugin/templates/pixel/dev/sheets/roguelikeChar_transparent.png +0 -0
- package/workflows/cm-plugin/templates/pixel/dev/sheets/roguelikeCity_tilemap.png +0 -0
- package/workflows/cm-plugin/templates/pixel/dev/sheets/roguelikeIndoor_transparent.png +0 -0
- package/workflows/cm-plugin/templates/pixel/dev/template.html +388 -0
- package/workflows/cm-plugin/templates/pixel/serve.sh +12 -0
- package/workflows/cm-plugin/templates/refactor/cm-refactor-denies.json +14 -0
- package/workflows/cm-plugin/templates/rules/backend-api.md +36 -0
- package/workflows/cm-plugin/templates/rules/chrome-extension.md +53 -0
- package/workflows/cm-plugin/templates/rules/coding-style.md +44 -0
- package/workflows/cm-plugin/templates/rules/frontend.md +32 -0
- package/workflows/cm-plugin/templates/rules/git-workflow.md +25 -0
- package/workflows/cm-plugin/templates/rules/security.md +31 -0
- package/workflows/cm-plugin/templates/rules/testing.md +36 -0
- package/workflows/cm-plugin/templates/scripts/cm-plugin-codex.sh +52 -0
- package/workflows/cm-plugin/templates/scripts/cm-plugin-log.sh +41 -0
- package/workflows/cm-plugin/templates/scripts/cm-plugin-preflight.sh +60 -0
- package/workflows/cm-plugin/templates/statusline/cm-plugin-statusline.sh +73 -0
- package/workflows.lock.json +40 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: {一句话:本项目的安全红线}
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<!-- 模板骨架 · 生成时遵守四原则,检查维度对照 OWASP Top 10,{占位符} 结合项目填充 -->
|
|
6
|
+
|
|
7
|
+
# 安全规范
|
|
8
|
+
|
|
9
|
+
## 密钥与配置
|
|
10
|
+
|
|
11
|
+
- 密钥/连接串一律环境变量或密钥管理服务,**禁止硬编码**;`.env` 必须在 .gitignore
|
|
12
|
+
- `.env.example` 只放 key 不放值,与实际环境变量保持同步
|
|
13
|
+
- {项目使用的密钥管理方式:Vault / 云 KMS / CI secrets}
|
|
14
|
+
|
|
15
|
+
## OWASP 对照清单(按项目暴露面裁剪)
|
|
16
|
+
|
|
17
|
+
- 注入:一律参数化查询/ORM,模板输出转义;{项目具体的入口清单}
|
|
18
|
+
- 失效的访问控制:权限检查靠近资源,新路由必须显式声明鉴权要求
|
|
19
|
+
- 认证失效:{会话/token 方案的具体约束:过期时间、刷新策略、存储位置}
|
|
20
|
+
- 敏感数据泄露:日志禁止输出密码/token/证件号;传输一律 TLS
|
|
21
|
+
- 安全配置错误:{CORS 白名单、安全响应头清单}
|
|
22
|
+
- 不安全依赖:{依赖审计命令,如 npm audit / cargo audit},高危漏洞阻断合入
|
|
23
|
+
|
|
24
|
+
## 输入验证
|
|
25
|
+
|
|
26
|
+
- 边界层统一校验({项目使用的校验库}),内层信任已校验数据
|
|
27
|
+
- 文件上传:{类型白名单、大小上限、存储位置}
|
|
28
|
+
|
|
29
|
+
## 敏感操作
|
|
30
|
+
|
|
31
|
+
- {支付/删除/导出等操作的审计日志与二次确认要求}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: {一句话:智能合约开发与安全约定}
|
|
3
|
+
globs: {如 "contracts/**",按实际目录}
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- 模板骨架 · 生成时遵守四原则,{占位符} 结合项目填充 -->
|
|
7
|
+
|
|
8
|
+
# 智能合约规范
|
|
9
|
+
|
|
10
|
+
## 工具链
|
|
11
|
+
|
|
12
|
+
- 链/框架:{EVM+Foundry / Solana+Anchor…};编译器版本锁定 {版本},与 pragma 一致
|
|
13
|
+
- 基础库:{OpenZeppelin/Solmate/SPL 版本锁定}——成熟库优先,不手写基础功能
|
|
14
|
+
|
|
15
|
+
## 安全清单(每个合约合入前逐项过)
|
|
16
|
+
|
|
17
|
+
- 重入:ReentrancyGuard 或 checks-effects-interactions
|
|
18
|
+
- 溢出:{Solidity ≥0.8 内置 / checked_* 系列}
|
|
19
|
+
- 权限:{Ownable/AccessControl/多签方案},避免单点控制
|
|
20
|
+
- 预言机:价格用 TWAP,禁止即时价
|
|
21
|
+
- {Solana:账户 owner/signer 逐 instruction 验证、PDA 种子唯一、CPI 验证 program_id}
|
|
22
|
+
|
|
23
|
+
## 测试与部署
|
|
24
|
+
|
|
25
|
+
- 覆盖率 ≥ {90}%;权限测试(非授权调用必须 revert)与攻击场景测试必写
|
|
26
|
+
- Fuzz:{forge test --fuzz-runs 1000 等}
|
|
27
|
+
- 部署:私钥/RPC 一律环境变量;**主网部署强制人工确认**;合约验证 {Etherscan/Sourcify}
|
|
28
|
+
- 事件覆盖所有状态变更;升级机制与紧急暂停:{方案或"不适用"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: {一句话:本项目的测试约定与覆盖率要求}
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<!-- 模板骨架 · 生成时遵守四原则(可执行/Bad-Good/量化/现代实践),{占位符} 结合项目填充 -->
|
|
6
|
+
|
|
7
|
+
# 测试规范
|
|
8
|
+
|
|
9
|
+
## 框架与命令
|
|
10
|
+
|
|
11
|
+
- 单元/组件测试:{Vitest/Jest/pytest…,附运行命令}
|
|
12
|
+
- E2E:{Playwright/Cypress…,附运行命令}
|
|
13
|
+
- 覆盖率:`{coverage 命令}`
|
|
14
|
+
|
|
15
|
+
## 覆盖率要求(QA 与 skill 默认值以本节为准)
|
|
16
|
+
|
|
17
|
+
- 整体行覆盖 ≥ {N}%
|
|
18
|
+
- 核心模块({列出目录})≥ {N}%
|
|
19
|
+
- 纯类型/配置文件排除:{coverage 配置的 exclude 清单}
|
|
20
|
+
|
|
21
|
+
## 文件与命名约定
|
|
22
|
+
|
|
23
|
+
- 测试文件位置:{同目录 __tests__ / 独立 tests/ 目录}
|
|
24
|
+
- 命名:{*.test.ts / test_*.py}
|
|
25
|
+
|
|
26
|
+
## 分类要求
|
|
27
|
+
|
|
28
|
+
- 工具函数:输入输出全覆盖含边界值
|
|
29
|
+
- API/服务层:正常流 + 异常流 + 边界
|
|
30
|
+
- 组件:渲染 + 交互 + props 边界
|
|
31
|
+
- 禁止:测试内固定延时(用 waitFor)、测试间共享可变状态
|
|
32
|
+
|
|
33
|
+
## 可视化回归(如有 UI)
|
|
34
|
+
|
|
35
|
+
- browser_driver: {playwright | chrome-mcp | ask}(cm-qa-engineer 读取本字段)
|
|
36
|
+
- 基准截图位置:{路径}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# cm 工作流状态条 · Claude Code 底部实时显示(官方 statusLine 机制)
|
|
3
|
+
# 输出原则: 大白话,路过的人扫一眼能懂;工程细节收在行尾暗色角标
|
|
4
|
+
input=$(cat)
|
|
5
|
+
|
|
6
|
+
PTR="$HOME/.claude/cm-current-specs"
|
|
7
|
+
if [ -f "$PTR" ]; then
|
|
8
|
+
SPECS=$(cat "$PTR" 2>/dev/null)
|
|
9
|
+
ST="$SPECS/.cm-status.json"
|
|
10
|
+
if [ -f "$ST" ]; then
|
|
11
|
+
python3 - "$ST" "$SPECS" <<'EOF' && exit 0
|
|
12
|
+
import json, sys, os, re, time
|
|
13
|
+
try:
|
|
14
|
+
s = json.load(open(sys.argv[1]))
|
|
15
|
+
except Exception:
|
|
16
|
+
sys.exit(1)
|
|
17
|
+
SPECS = sys.argv[2]
|
|
18
|
+
G, Y, B, R, D = "\033[32m", "\033[33m", "\033[1m", "\033[0m", "\033[2m"
|
|
19
|
+
|
|
20
|
+
PHASE = { # 节点 → 人话阶段
|
|
21
|
+
"N1": ("🚀", "启动准备"), "N2": ("📋", "规划任务"), "N3": ("🔨", "开发中"),
|
|
22
|
+
"N4": ("🔍", "检查代码"), "N5": ("💾", "保存进度"), "N6": ("🧪", "质量检测"),
|
|
23
|
+
"N7": ("🧹", "整理现场"), "N8": ("📦", "收尾总结"),
|
|
24
|
+
}
|
|
25
|
+
age = time.time() - os.path.getmtime(sys.argv[1]) # 状态新鲜度
|
|
26
|
+
node = s.get("node", ""); st = s.get("state", "")
|
|
27
|
+
if st == "done" and age > 3600:
|
|
28
|
+
sys.exit(1) # 完成态过期 1 小时 → 回落默认显示,不再霸屏
|
|
29
|
+
det = s.get("detail", "")[:44]; feat = s.get("feature", ""); task = s.get("task", "")
|
|
30
|
+
feat_name = re.sub(r"^\d+\.", "", feat) # 去掉编号前缀
|
|
31
|
+
|
|
32
|
+
def progress(feature):
|
|
33
|
+
"""当前 feature 的任务进度: (完成数, 总数, 当前序号)"""
|
|
34
|
+
try:
|
|
35
|
+
md = open(os.path.join(SPECS, feature, "tasks.md"), encoding="utf-8").read()
|
|
36
|
+
items = re.findall(r"^- \[( |x)\] (T-\d+)", md, re.M)
|
|
37
|
+
active = [(c, t) for c, t in items]
|
|
38
|
+
done = sum(1 for c, _ in active if c == "x")
|
|
39
|
+
cur = next((i + 1 for i, (c, _) in enumerate(active) if c == " "), len(active))
|
|
40
|
+
return done, len(active), cur
|
|
41
|
+
except Exception:
|
|
42
|
+
return None
|
|
43
|
+
|
|
44
|
+
icon, phase = PHASE.get(node, ("⚙", "运行中"))
|
|
45
|
+
tag = f"{D} ·{node}{' '+task if task else ''}{R}" # 工程角标,暗色收尾
|
|
46
|
+
|
|
47
|
+
if st not in ("paused_for_human", "done") and age > 600:
|
|
48
|
+
# 崩溃残留检测: 运行态超 10 分钟无更新,大概率已中断——错误的仪表比没有仪表危险
|
|
49
|
+
print(f"{Y}⚠ 可能已中断{R}(最后更新 {int(age//60)} 分钟前,去会话确认){D}原状态: {phase}·{det[:20]}{R}{tag}")
|
|
50
|
+
elif st == "paused_for_human":
|
|
51
|
+
print(f"{Y}🖐 等你确认:{det} —— 流程已暂停,回 Claude Code 回复即可{R}{tag}")
|
|
52
|
+
elif st == "done":
|
|
53
|
+
print(f"{G}✅ 全部完成!{R} 所有任务已交付,收尾报告见会话{tag}")
|
|
54
|
+
else:
|
|
55
|
+
p = progress(feat) if feat else None
|
|
56
|
+
prog = f"(进度 {p[0]}/{p[1]})" if p else ""
|
|
57
|
+
body = f"{det}" if det else phase
|
|
58
|
+
fpart = f"{B}{feat_name}{R} · " if feat_name else ""
|
|
59
|
+
print(f"{G}{icon} {phase}{R} {fpart}{body}{D}{prog}{R}{tag}")
|
|
60
|
+
EOF
|
|
61
|
+
fi
|
|
62
|
+
fi
|
|
63
|
+
|
|
64
|
+
# 兜底:无 cm 执行时显示模型与目录
|
|
65
|
+
echo "$input" | python3 -c '
|
|
66
|
+
import json, sys
|
|
67
|
+
try:
|
|
68
|
+
d = json.load(sys.stdin)
|
|
69
|
+
m = d.get("model", {}).get("display_name", "")
|
|
70
|
+
w = d.get("workspace", {}).get("current_dir", "").rstrip("/").split("/")[-1]
|
|
71
|
+
print(f"{m} · {w}")
|
|
72
|
+
except Exception:
|
|
73
|
+
print("cm")' 2>/dev/null || echo "cm"
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// cm-ui-lens-extract — UI 还原的对表裁判(双用途,零模型零幻觉)
|
|
2
|
+
// 跑在基准页(HTML 原型/Stitch 导出)= 逐元素规格表;跑在还原页 = 实测表。
|
|
3
|
+
// 两表对差 = 页面内循环的依据;同脚本双跑 = 多镜头验收的数据层。
|
|
4
|
+
// 用法: node cm-ui-lens-extract.mjs {URL或文件路径} {输出.json} [宽度=1280]
|
|
5
|
+
// 依赖解析照抄项目既有测试基建的惯例(npm root -g 兜底,勿自造)。
|
|
6
|
+
import { createRequire } from "node:module";
|
|
7
|
+
import { pathToFileURL } from "node:url";
|
|
8
|
+
import { writeFileSync, existsSync } from "node:fs";
|
|
9
|
+
import { resolve, join } from "node:path";
|
|
10
|
+
import { execSync } from "node:child_process";
|
|
11
|
+
const require = createRequire(import.meta.url);
|
|
12
|
+
function loadPlaywright() {
|
|
13
|
+
const c = ["playwright"];
|
|
14
|
+
try { c.push(join(execSync("npm root -g", { stdio: ["ignore", "pipe", "ignore"] }).toString().trim(), "playwright")); } catch {}
|
|
15
|
+
for (const x of c) { try { return require(x); } catch {} }
|
|
16
|
+
console.error("Playwright 不可用 — 按 skill 降级路径处理"); process.exit(2);
|
|
17
|
+
}
|
|
18
|
+
const { chromium } = loadPlaywright();
|
|
19
|
+
const target = process.argv[2]; const out = process.argv[3] || "lens.json";
|
|
20
|
+
const width = parseInt(process.argv[4] || "1280", 10);
|
|
21
|
+
const url = existsSync(target) ? pathToFileURL(resolve(target)).href : target;
|
|
22
|
+
const browser = await chromium.launch();
|
|
23
|
+
const page = await browser.newPage({ viewport: { width, height: 900 }, deviceScaleFactor: 1 });
|
|
24
|
+
await page.goto(url, { waitUntil: "networkidle" });
|
|
25
|
+
const data = await page.evaluate(() => {
|
|
26
|
+
const seen = [];
|
|
27
|
+
const path = (el) => {
|
|
28
|
+
const parts = [];
|
|
29
|
+
for (let e = el; e && e !== document.body; e = e.parentElement) {
|
|
30
|
+
let p = e.tagName.toLowerCase();
|
|
31
|
+
if (e.id) { parts.unshift(p + "#" + e.id); break; }
|
|
32
|
+
if (e.className && typeof e.className === "string") p += "." + e.className.trim().split(/\s+/).slice(0, 2).join(".");
|
|
33
|
+
const sib = e.parentElement ? [...e.parentElement.children].filter(x => x.tagName === e.tagName) : [];
|
|
34
|
+
if (sib.length > 1) p += ":nth(" + sib.indexOf(e) + ")";
|
|
35
|
+
parts.unshift(p);
|
|
36
|
+
}
|
|
37
|
+
return parts.join(">");
|
|
38
|
+
};
|
|
39
|
+
for (const el of document.querySelectorAll("body *")) {
|
|
40
|
+
const r = el.getBoundingClientRect();
|
|
41
|
+
if (r.width < 1 || r.height < 1) continue; // 不可见不入表
|
|
42
|
+
const cs = getComputedStyle(el);
|
|
43
|
+
const hasText = [...el.childNodes].some(n => n.nodeType === 3 && n.textContent.trim());
|
|
44
|
+
seen.push({
|
|
45
|
+
sel: path(el),
|
|
46
|
+
geo: { x: +r.x.toFixed(1), y: +r.y.toFixed(1), w: +r.width.toFixed(1), h: +r.height.toFixed(1) },
|
|
47
|
+
font: hasText ? { family: cs.fontFamily.split(",")[0].trim(), size: cs.fontSize, weight: cs.fontWeight, lineHeight: cs.lineHeight, letterSpacing: cs.letterSpacing } : null,
|
|
48
|
+
style: { color: cs.color, bg: cs.backgroundColor, radius: cs.borderRadius, shadow: cs.boxShadow !== "none" ? cs.boxShadow : null },
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return seen;
|
|
52
|
+
});
|
|
53
|
+
await browser.close();
|
|
54
|
+
writeFileSync(out, JSON.stringify({ url: target, viewport: width, count: data.length, elements: data }, null, 1));
|
|
55
|
+
console.log(`lens: ${data.length} 元素 → ${out}`);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Zero / 王者与
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# cm-plugin-workflow — Chrome 插件专用的 Claude Code 自动化开发工作流
|
|
2
|
+
|
|
3
|
+
一套 spec-driven 的 Claude Code 工作流,**专用于 Chrome 浏览器扩展(MV3)开发**:需求文档 → 开发规格 → 自动开发 → QA/商店合规 → 文档同步。
|
|
4
|
+
|
|
5
|
+
基于 [cm-workflow](https://github.com/kingxiaozhe/cm-workflow)(通用多工种版)定制:流程引擎(N1–N8 状态机、prd/fix/refactor 闭环)完整继承,工种层换成插件领域——核心工种是扩展工程师,QA 带真实浏览器加载验证与商店合规检查单,发布通道对准 Chrome Web Store。前缀 `cm-plugin:`,与上游 `cm:` 可同机共存(安装产物零交集)。
|
|
6
|
+
|
|
7
|
+
## BYZ 集成
|
|
8
|
+
|
|
9
|
+
BYZ 按完整 Git 提交锁定并内置本工作流。BYZ 用户只安装或更新 BYZ,不需要单独安装、更新或回滚 CM Plugin Workflow,也不应为 BYZ 内置副本启用本仓库的自动更新脚本。
|
|
10
|
+
|
|
11
|
+
## 目录结构
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
commands/ # 斜杠命令(安装到 ~/.claude/commands/)
|
|
15
|
+
├── cm-plugin:rewrite.md # ★重写直通流水线:链接 → 素材采集 → huashu-design 原型 → PRD → 拆specs → 开发到底
|
|
16
|
+
├── cm-plugin:scout.md # 竞品插件重写机会评估(评论槽点/停更信号/源码功能盘点 → 机会评分卡;支持 --rewrite 素材模式、--bakeoff 多候选对抗模式)
|
|
17
|
+
├── cm-plugin:init.md # 项目 .claude/ 初始化(CLAUDE.md + rules/,识别扩展脚手架与权限清单)
|
|
18
|
+
├── cm-plugin:prd.md # 需求文档 → specs 三件套(requirements/design/tasks),支持 --change 变更模式
|
|
19
|
+
├── cm-plugin:ai.md # 自动开发主循环(流程图状态机)
|
|
20
|
+
├── cm-plugin:fix.md # 缺陷修复小闭环(复现→定位→防护网→最小修复→Codex审查→波及面回归→档案落盘)
|
|
21
|
+
├── cm-plugin:refactor.md # 重构闭环(行为保持;设计见 docs/重构流程设计)
|
|
22
|
+
├── cm-plugin:idea.md # 点子→PRD 访谈入口(加载 idea-to-prd 技能;流程上游,非 N1–N8 步骤)
|
|
23
|
+
├── cm-plugin:check.md # 框架一致性自检(角色/命名/引用/配套/版本)
|
|
24
|
+
│
|
|
25
|
+
│ # 独立工具 skill(不属于 N1–N8 流程,按需使用)
|
|
26
|
+
│ skills/idea-to-prd/ # 点子→PRD 产品访谈搭档(新插件从零想法起步的前置工具)
|
|
27
|
+
│ skills/darwin-skill/ # 技能优化器(MIT 收编自 alchaincyf/darwin-skill,详见其 NOTICE.md)
|
|
28
|
+
│ skills/codebase-context/ # 代码库业务地图(scan/dev 两模式)
|
|
29
|
+
└── cm-plugin-ai-nodes/ # cm-plugin:ai 的 8 个流程节点,按需加载
|
|
30
|
+
├── N1-init.md # 初始化:解析路径、扫描 features、加载上下文
|
|
31
|
+
├── N2-enter-feature.md # 进入 feature:断点恢复、依赖分析、串/并行计划
|
|
32
|
+
├── N3-execute-task.md # 执行 task:按工种匹配 skill
|
|
33
|
+
├── N4-review.md # AI 自审 + Codex 复审(环境不可用时降级)
|
|
34
|
+
├── N5-mark-done.md # 标记 [x]、写 LESSONS.md
|
|
35
|
+
├── N6-qa-eval.md # QA 评分决定是否触发 QA(含真实浏览器形态确认卡点)
|
|
36
|
+
├── N7-context.md # 每个 task 后 /clear 重载 specs
|
|
37
|
+
└── N8-finish.md # 调用 doc-syncer、编制发布待决清单、输出总结
|
|
38
|
+
|
|
39
|
+
skills/ # 工种 Skills(安装到 ~/.claude/skills/)—— skill 管技术
|
|
40
|
+
├── cm-plugin-extension-engineer/ # ★核心工种:扩展本体(manifest/service worker/content script/
|
|
41
|
+
│ # popup/options/side panel/chrome.storage/消息通信),适配 WXT/Plasmo/CRXJS/原生
|
|
42
|
+
├── cm-plugin-ui-engineer/ # UI 还原(design-baseline → token 先行 → 原子还原 → BackstopJS ≤1%)
|
|
43
|
+
├── cm-plugin-backend-engineer/ # 配套后端(API 代理/鉴权/同步;扩展 CORS 与 token 鉴权、密钥只在服务端)
|
|
44
|
+
├── cm-plugin-qa-engineer/ # QA(测试补全、--load-extension 真实浏览器 E2E、商店合规检查单)
|
|
45
|
+
├── cm-plugin-product-manager/ # 产品(需求分析、歧义五问含权限敏感面、变更影响、业务验收走查)
|
|
46
|
+
├── cm-plugin-devops-engineer/ # 发布(打包 zip、权限 diff 核对、Chrome Web Store 提审强制人工确认)
|
|
47
|
+
└── cm-plugin-doc-syncer/ # 文档同步(README 权限清单/CLAUDE.md/rules/CHANGELOG)
|
|
48
|
+
|
|
49
|
+
agents/ # 并行工种的子 agent 定义(安装到 ~/.claude/agents/)—— agent 管纪律
|
|
50
|
+
├── cm-plugin-extension-agent.md # 只做指定任务、manifest 权限只减不增、不自行标记、规范汇报
|
|
51
|
+
├── cm-plugin-ui-agent.md # 只碰展示层白名单、基准只读、改既有 token 强制上报
|
|
52
|
+
└── cm-plugin-backend-agent.md # 范围外鉴权/权限改动强制上报
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**分工原则**:并行干活的做 agent(extension/UI/后端),串行把关的做 skill(产品/QA/发布/doc-syncer)。
|
|
56
|
+
|
|
57
|
+
**可选外部依赖**:`npx skills add alchaincyf/huashu-design`(MIT)——无设计稿时在 /cm-plugin:prd 阶段生成高保真原型作为设计基准,未安装则 UI 由扩展工程师自行实现。
|
|
58
|
+
|
|
59
|
+
**rules 模板层**(`templates/rules/`,install.sh 装到 `~/.claude/templates/cm-plugin-rules/`):7 个规则骨架(coding-style / testing / security / git-workflow / **chrome-extension** / frontend / backend-api),/cm-plugin:init 以其为骨架 + 项目推断生成最终规则;模板头部统一四原则(可执行 / Bad-Good / 量化 / 现代实践)。其中 `chrome-extension.md` 是插件铁律(权限最小化、MV3 约束、禁远程代码、消息契约集中管理)。**把团队规范沉淀进模板,所有项目 init 出的 rules 自动带团队基因**——这是团队定制的官方入口。
|
|
60
|
+
|
|
61
|
+
**收编素材**:QA 与 devops 两个 skill 的 `references/` 下的 CWS 检测模式清单、官方违规码表、提审材料清单、CI/CD 模板收编自 [quangpl/browser-extension-skills](https://github.com/quangpl/browser-extension-skills)(MIT),来源与改动见各 skill 目录的 `NOTICE.md`。
|
|
62
|
+
|
|
63
|
+
## 扩展 E2E harness 模板(templates/e2e/ → ~/.claude/templates/cm-plugin-e2e/)
|
|
64
|
+
|
|
65
|
+
MV3 扩展的 Playwright E2E 有一组固定坑,dogfood 实测全踩过一遍,现固化成**可拷贝的久经考验底座**(`extension-harness.ts` + `smoke.spec.example.ts`)。bootstrap T-005 直接拷入,每个新插件不再重踩:
|
|
66
|
+
|
|
67
|
+
- 系统 Chrome(2026 版)默认屏蔽 `--load-extension` → 须用 **Chrome for Testing**(harness 跨架构自动发现)
|
|
68
|
+
- `--headless=new`(旧 headless 不支持扩展,`headless:false` 在无头/CI 退化 flaky)
|
|
69
|
+
- SW **注册-停机竞态**(`acquireServiceWorker` 三路取先到)
|
|
70
|
+
- `sw.evaluate` 前须 `wakeServiceWorker` 取活引用(否则 `Worker was closed`)
|
|
71
|
+
|
|
72
|
+
给 N5「运行观察闸」提供了真能用的工具——不只是要求"真跑观察",还给出怎么跑。
|
|
73
|
+
|
|
74
|
+
## 流程工具脚本(templates/scripts/ → ~/.claude/templates/cm-plugin-scripts/)
|
|
75
|
+
|
|
76
|
+
把 dogfood 实测中最痛的三个手工环节工具化,命令按需调用(都是有据可查的真实摩擦):
|
|
77
|
+
|
|
78
|
+
- **cm-plugin-preflight.sh** — 环境预检:开跑前一次性引爆扩展开发的环境地雷(Node/git/Codex/**Chrome for Testing**/系统 Chrome)。最大的雷是系统 Chrome(2026 版)静默屏蔽 `--load-extension`,E2E 必须用 CfT。N1/R0 调用。
|
|
79
|
+
- **cm-plugin-codex.sh** — Codex 审查封装:收齐正确调用姿势(`--skip-git-repo-check --sandbox read-only` + 超时防挂起 + 输出清洗去源码转储 + 凭证落盘)。N4/prd/scout 的 Codex 调用优先用它,不裸调。
|
|
80
|
+
- **cm-plugin-log.sh** — JSONL 日志助手:自动 ISO8601 时间戳、原子追加、JSON 转义。杜绝手写 echo 的「先记账后落盘」「攒批挤同秒」两类实测错误。
|
|
81
|
+
|
|
82
|
+
## 插件领域的三条红线(区别于上游的领域性约束)
|
|
83
|
+
|
|
84
|
+
1. **manifest 权限只减不增**(agent 层硬约束)——任务范围外的权限新增/扩大必须停下上报
|
|
85
|
+
2. **Chrome Web Store 提审强制人工确认**——含权限变更的版本更新同样过闸
|
|
86
|
+
3. **商店合规检查单只举旗不定性**——权限最小化/单一用途/数据披露/禁远程代码/注入克制,举旗项交人裁决
|
|
87
|
+
|
|
88
|
+
## 安装
|
|
89
|
+
|
|
90
|
+
### Pi / BYZ 内置 package
|
|
91
|
+
|
|
92
|
+
BYZ 按完整 Git 提交锁定并内置本工作流。用户安装 BYZ 后可直接运行
|
|
93
|
+
`byz --workflow cm-plugin`,不需要设置私有源,也不需要执行独立的工作流安装、
|
|
94
|
+
更新或回滚命令。BYZ 内置副本只随 BYZ 版本更新。
|
|
95
|
+
|
|
96
|
+
### Codex / Claude Code legacy installer
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
./install.sh # macOS/Linux 一键安装(含覆盖确认),装完自动提示运行 /cm-plugin:check
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
```powershell
|
|
103
|
+
powershell -ExecutionPolicy Bypass -File install.ps1 # Windows 版
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
或手动:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
cp -r commands/* ~/.claude/commands/
|
|
110
|
+
cp -r skills/* ~/.claude/skills/
|
|
111
|
+
cp -r agents/* ~/.claude/agents/
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
安装/修改框架后运行 `/cm-plugin:check` 做一致性自检(角色存在性、命名一致、引用有效、配套完整、外部依赖 + **安装版本号**——反馈问题时请带上它)。
|
|
115
|
+
|
|
116
|
+
**与上游 cm-workflow 共存**:本包所有安装产物(命令前缀、skill/agent 名、`templates/cm-plugin-*`、`~/.cm-plugin-workflow/`)与上游零交集,两套可同机安装互不覆盖。
|
|
117
|
+
|
|
118
|
+
**Windows 说明**:核心工作流(commands/skills/agents)是纯 Markdown,Windows 原生可用;状态条 / 终端像素版 / serve.sh 是 bash+python3 脚本,在 WSL 或 Git Bash 中使用(浏览器像素版页面双击加 `?demo` 即可预览,不依赖脚本)。
|
|
119
|
+
|
|
120
|
+
## 执行可视化(终端原生优先)
|
|
121
|
+
|
|
122
|
+
**① 终端状态条(推荐,Claude Code 底部常驻)**——官方 statusLine 机制,零外部依赖:
|
|
123
|
+
|
|
124
|
+
```json
|
|
125
|
+
// ~/.claude/settings.json
|
|
126
|
+
"statusLine": {"type": "command", "command": "~/.claude/templates/cm-plugin-statusline.sh"}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
效果:`⚙ ○○○●○○○○ N4 1.tab-organizer/T-005 · Codex复审第1轮`——八点节点条实时点亮;等人时整条变黄 `⏸ 等待人工`;数据来自 .cm-status.json(N1 写入 ~/.claude/cm-plugin-current-specs 指针定位)。
|
|
130
|
+
|
|
131
|
+
**② 内置任务清单镜像**——N2 进 feature 时任务自动镜像到 Claude Code 原生任务清单,N3/N5 同步状态,终端直接看勾选进度(无需配置)。
|
|
132
|
+
|
|
133
|
+
**③ 浏览器看板(备选,适合投屏/远程盯进度)**
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
templates/dashboard/serve.sh {specs路径} # 浏览器打开提示的地址,2 秒自动刷新
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**纯只读、零侵入**——只消费 specs 落盘文件(tasks.md 勾选 / METRICS / LESSONS),执行引擎无感知。
|
|
140
|
+
|
|
141
|
+
**④ 像素流水线(2D 像素游戏视角,演示/氛围屏首选)**——8 个像素工位对应 N1–N8:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
templates/pixel/cm-pixel.sh # 终端版(ANSI 像素,分屏挂一个 pane)
|
|
145
|
+
templates/pixel/cm-pixel.sh --demo # 终端版演示模式(不需要真实运行)
|
|
146
|
+
templates/pixel/serve.sh {specs路径} # 浏览器版(16-bit 风格,办公室大屏)
|
|
147
|
+
# 浏览器版演示模式: 打开地址后加 ?demo
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
精灵素材采用 Kenney Pixel Platformer 系列开源素材(CC0,已内嵌,单文件零依赖)。
|
|
151
|
+
|
|
152
|
+
## 自动更新(可选,macOS/Linux)
|
|
153
|
+
|
|
154
|
+
`templates/auto-update/` 提供会话级自动更新链路,install.sh 装到 `~/.cm-plugin-workflow/`,按提示在 settings.json 的 `hooks.SessionStart` 挂两条即启用:
|
|
155
|
+
|
|
156
|
+
- **cm-update.sh**:每次开会话异步检测上游新提交并自动重装;无新提交时做**逐文件字节级比对**,安装被改动/误删即自愈还原;**有工作流正在跑(.cm-status.json 为 running 且 30 分钟内活跃)则跳过本轮**。团队 fork 用 `CM_UPDATE_REMOTE` 环境变量指仓库,不要改脚本(会被自愈还原)
|
|
157
|
+
- **cm-announce.sh**:下次开会话时播报更新/自愈结果,报完即删
|
|
158
|
+
|
|
159
|
+
分工:更新器管"装的东西对不对"(机械,每会话),`/cm-plugin:check` 管"引用链断没断"(AI,改框架后跑),N1 预检管"这次运行环境行不行"(流程内)。
|
|
160
|
+
|
|
161
|
+
## 度量与双保险
|
|
162
|
+
|
|
163
|
+
- **METRICS.md**(specs 目录,N5 自动落盘):每任务记录审查轮次、Codex 拦截、QA 结果、人工介入次数
|
|
164
|
+
- **RELEASES.md**(specs 目录,devops 落盘):每次打包/提审/部署的审计记录,含权限 diff 与商店审核状态
|
|
165
|
+
- **templates/hooks/pre-commit-cm-task-check**:任务标记双保险 git hook(默认仅警告,`CM_TASK_CHECK_STRICT=1` 时阻断)
|
|
166
|
+
|
|
167
|
+
## 使用流程
|
|
168
|
+
|
|
169
|
+
**重写直通(已决定重写某插件时的主入口):**
|
|
170
|
+
|
|
171
|
+
`/cm-plugin:rewrite {商店链接}`——一条命令走完全程:**R1** 素材采集(scout 素材模式:源码盘点+评论痛点,结论不设门)→ **R2** huashu-design 生成 UI 原型(唯一新增卡点:设计方向确认)→ **R3** 输出 PRD(功能三态标记:保留/改进/舍弃)→ **R4** /cm-plugin:prd 拆 specs(规格摘要卡人审)→ **R5** /cm-plugin:ai 开发到 N8 发布待决清单。中断可幂等续跑。
|
|
172
|
+
|
|
173
|
+
**选品(还没决定做不做时的第 0 步):**
|
|
174
|
+
|
|
175
|
+
`/cm-plugin:scout {商店链接}`——三维评估现存插件值不值得重写:**评论区槽点**(低分评论聚类 = 重写的原始需求,高分评论 = 不能丢的核心体验)、**停更信号**(>6 个月未更新是最强机会信号)、**源码功能盘点**(只盘功能不抄代码,清白室红线)。产出机会评分卡(GO/WATCH/NO-GO 由人拍板)+ 槽点→需求映射表 + 全程 `.log.jsonl` 运行日志(与 /cm-plugin:ai 同规格,可审计);多次选品由 `SCOUTS.md` 台账串联,WATCH 项带复查到期提醒。GO 后报告直接作为 /cm-plugin:prd 的需求文档。
|
|
176
|
+
|
|
177
|
+
**还没定靶时**:`/cm-plugin:scout --bakeoff {方向提示}`——多候选对抗比对模式:按判据(纯客户端/现任弃养或劣化/空档没被干净替代填满/非红海)凑齐 3-5 个候选做轻量核验 → 交 Codex **证否式对抗**(默认都不值得重写,证据压倒才翻)→ 逼出**一个确定靶**(或"全部不达标,继续搜",无 GO 是合法结论不硬凑),选出的靶再走完整三维。挡住"单点押注把 WATCH 美化成 GO"(dogfood 实跑教训)。
|
|
178
|
+
|
|
179
|
+
**存量插件项目:**
|
|
180
|
+
|
|
181
|
+
1. 在插件项目中运行 `/cm-plugin:init`,生成 `.claude/CLAUDE.md` 和 `rules/` 规范(含 chrome-extension.md 铁律)
|
|
182
|
+
2. 建一个 specs 文件夹,把需求文档放进 `docs/`,运行 `/cm-plugin:prd {specs路径}` 生成规格三件套
|
|
183
|
+
3. 审查 specs 后运行 `/cm-plugin:ai {specs路径} {插件项目路径}` 开始自动开发
|
|
184
|
+
4. 需求变更时用 `/cm-plugin:prd --change {N}.{feature} 变更描述`,已完成任务不受影响
|
|
185
|
+
|
|
186
|
+
**0 到 1 新插件(无需先手动搭脚手架):**
|
|
187
|
+
|
|
188
|
+
1. 建 specs 文件夹放入需求文档,直接运行 `/cm-plugin:prd {specs路径}`——检测到空项目后自动进入 0→1 分支:先确认**表面组合**(popup/side panel/content script…)与**目标浏览器**,给出 2-3 套脚手架方案(WXT/Plasmo/CRXJS)供人拍板,再生成 `0.bootstrap` feature(design.md 即 ADR,任务含脚手架/规范生成/CI 打包/公共底座/E2E 基座)
|
|
189
|
+
2. 人审规格(审 `0.bootstrap` 就是审架构,审**权限清单**就是审商店风险)后运行 `/cm-plugin:ai`——bootstrap 完成时的 QA 会把扩展**真实加载进浏览器**截图给你做形态确认
|
|
190
|
+
3. 日后架构调整走 `/cm-plugin:prd --change 0.bootstrap 变更描述`,选型演进全程留痕
|
|
191
|
+
4. 跳过 `/cm-plugin:init`——空项目没有可分析的对象,规范生成是 bootstrap 的任务之一
|
|
192
|
+
|
|
193
|
+
**发布:**
|
|
194
|
+
|
|
195
|
+
feature 全部完成后,N8 会编制**发布待决清单**(版本、权限 diff、商店材料就绪度);商店提审由你确认后触发,审核状态记入 RELEASES.md,被拒原因按 bug 回流闭环。
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.5.0
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cm-plugin-backend-agent
|
|
3
|
+
description: 后端 API 开发子 agent。由 /cm-plugin:ai 在并行执行后端任务时派发,负责流程纪律(任务边界、上下文、汇报、退出),具体开发规范由 cm-plugin-backend-engineer skill 提供。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# cm-plugin-backend-agent — 后端开发子 agent
|
|
7
|
+
|
|
8
|
+
你是被主流程派发的后端 API 开发子 agent。**agent 管纪律,skill 管技术**——你的职责是守住流程边界,开发方法完全遵循 skill。
|
|
9
|
+
|
|
10
|
+
## 执行流程
|
|
11
|
+
|
|
12
|
+
1. **加载 skill**:读取并严格遵循 `cm-plugin-backend-engineer` skill,它是开发方法的唯一准则
|
|
13
|
+
2. **读取上下文**:派发指令中给出的 specs 摘录(requirements/design/tasks 相关部分)+ 代码项目的 `.claude/CLAUDE.md` 和 `.claude/rules/`
|
|
14
|
+
3. **只做指定任务**:严格按派发指令中的任务编号(T-xxx)执行,不顺手做其他任务
|
|
15
|
+
|
|
16
|
+
## 边界约束(不可违反)
|
|
17
|
+
|
|
18
|
+
- **不修改**任务范围之外的文件;发现必须跨界的改动 → 停止并在汇报中说明
|
|
19
|
+
- **不自行标记** tasks.md —— 标记完成是主流程 N5 的职责
|
|
20
|
+
- **不自行执行** review —— 审查是主流程 N4 的职责
|
|
21
|
+
- **不得修改 `.claude/` 下任何文件**(CLAUDE.md、rules/)——规范异议写入汇报,由主流程处理
|
|
22
|
+
- **不修改 design.md** —— 契约偏差走三级协议第 1 级:只报不改,写入汇报「契约相关」栏
|
|
23
|
+
- **任务范围之外的鉴权/权限/会话逻辑改动 → 立即停止并上报**;任务本身即鉴权任务则正常执行(人工把关已在规格审查完成,QA 由 N6 强制触发兜底)
|
|
24
|
+
|
|
25
|
+
## 完成后汇报(固定格式)
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
📦 T-{编号} 完成汇报
|
|
29
|
+
- 变更文件: {列表}
|
|
30
|
+
- 验证结果: {lint / build / 接口实测结果}
|
|
31
|
+
- 契约相关: {逐条列出实现的接口及与 design.md 的偏差,无偏差写"完全一致"}
|
|
32
|
+
- 需其他工种配合: {事项,无则写"无"}
|
|
33
|
+
- 建议写入 LESSONS: {要点,无则写"无"}
|
|
34
|
+
```
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cm-plugin-extension-agent
|
|
3
|
+
description: 浏览器扩展开发子 agent。由 /cm-plugin:ai 在并行执行扩展本体任务时派发,负责流程纪律(任务边界、上下文、汇报、退出),具体开发规范由 cm-plugin-extension-engineer skill 提供。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# cm-plugin-extension-agent — 浏览器扩展开发子 agent
|
|
7
|
+
|
|
8
|
+
你是被主流程派发的扩展开发子 agent。**agent 管纪律,skill 管技术**——你的职责是守住流程边界,开发方法完全遵循 skill。
|
|
9
|
+
|
|
10
|
+
## 执行流程
|
|
11
|
+
|
|
12
|
+
1. **加载 skill**:读取并严格遵循 `cm-plugin-extension-engineer` skill,它是开发方法的唯一准则
|
|
13
|
+
2. **读取上下文**:派发指令中给出的 specs 摘录(requirements/design/tasks 相关部分)+ 代码项目的 `.claude/CLAUDE.md` 和 `.claude/rules/`
|
|
14
|
+
3. **只做指定任务**:严格按派发指令中的任务编号(T-xxx)执行,不顺手做其他任务
|
|
15
|
+
|
|
16
|
+
## 边界约束(不可违反)
|
|
17
|
+
|
|
18
|
+
- **不修改**任务范围之外的文件;发现必须跨界的改动 → 停止并在汇报中说明
|
|
19
|
+
- **manifest 权限只减不增**:任务范围外的 permission / host_permission 新增或匹配范围扩大 → 停止并上报,不得先加了再说——权限扩张影响商店审核与用户信任,必须过主流程
|
|
20
|
+
- **不自行标记** tasks.md —— 标记完成是主流程 N5 的职责
|
|
21
|
+
- **不自行执行** review —— 审查是主流程 N4 的职责
|
|
22
|
+
- **不得修改 `.claude/` 下任何文件**(CLAUDE.md、rules/)——规范异议写入汇报,由主流程处理
|
|
23
|
+
- 涉及消息契约(message type、payload、storage schema、后端 API 字段)的决定 → 以 design.md 为准,design.md 未覆盖的在汇报中明确列出
|
|
24
|
+
|
|
25
|
+
## 完成后汇报(固定格式)
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
📦 T-{编号} 完成汇报
|
|
29
|
+
- 变更文件: {列表}
|
|
30
|
+
- 验证结果: {lint / typecheck / build / 真实加载冒烟 结果}
|
|
31
|
+
- manifest/权限变更: {逐项带用途理由,无则写"无"}
|
|
32
|
+
- 契约相关: {新增或依赖的消息契约/API 约定,无则写"无"}
|
|
33
|
+
- 需其他工种配合: {事项,无则写"无"}
|
|
34
|
+
- 建议写入 LESSONS: {要点,无则写"无"}
|
|
35
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cm-plugin-ui-agent
|
|
3
|
+
description: UI 还原子 agent。由 /cm-plugin:ai 在并行执行 UI 还原任务时派发,负责流程纪律(任务边界、上下文、汇报、退出),具体还原方法由 cm-plugin-ui-engineer skill 提供。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# cm-plugin-ui-agent — UI 还原子 agent
|
|
7
|
+
|
|
8
|
+
你是被主流程派发的 UI 还原子 agent。**agent 管纪律,skill 管技术**——你的职责是守住流程边界,还原方法完全遵循 skill。
|
|
9
|
+
|
|
10
|
+
## 执行流程
|
|
11
|
+
|
|
12
|
+
1. **加载 skill**:读取并严格遵循 `cm-plugin-ui-engineer` skill,它是还原方法的唯一准则
|
|
13
|
+
2. **读取上下文**:派发指令中给出的 specs 摘录 + 设计基准路径(`design-baseline/`)+ 代码项目的 `.claude/CLAUDE.md` 和 `.claude/rules/`
|
|
14
|
+
3. **只做指定任务**:严格按派发指令中的任务编号(T-xxx)执行,不顺手做其他任务
|
|
15
|
+
|
|
16
|
+
## 边界约束(不可违反)
|
|
17
|
+
|
|
18
|
+
- **只碰展示层文件**:组件公共目录(如 `components/ui/`)、样式与 token 文件、静态资产、本任务的页面静态结构;**不碰**业务逻辑、API 层、路由配置
|
|
19
|
+
- **不修改设计基准文件**(`design-baseline/` 只读)
|
|
20
|
+
- **不修改既有 token 值**——需要改 → 停止并写入汇报「契约相关」栏(新增 token 可自由添加)
|
|
21
|
+
- **不自行标记** tasks.md、**不自行执行** review、**不修改** design.md(契约偏差只报不改)
|
|
22
|
+
- **不得修改 `.claude/` 下任何文件**(CLAUDE.md、rules/)——规范异议写入汇报,由主流程处理
|
|
23
|
+
- 基准缺失状态/断点 → 上报,**不脑补设计**;执行期不向用户征求设计意见
|
|
24
|
+
|
|
25
|
+
## 完成后汇报(固定格式)
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
📦 T-{编号} 完成汇报
|
|
29
|
+
- 变更文件: {token / 组件 / 页面 / 资产列表}
|
|
30
|
+
- 验证结果: {BackstopJS 各断点 mismatch 值 + 白名单项}
|
|
31
|
+
- 契约相关: {组件契约实现情况、token 变更清单,无则写"无"}
|
|
32
|
+
- 需其他工种配合: {前端可接线的组件清单及 props,无则写"无"}
|
|
33
|
+
- 建议写入 LESSONS: {要点,无则写"无"}
|
|
34
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# N1: 初始化
|
|
2
|
+
|
|
3
|
+
1. 从 `$ARGUMENTS` 提取 **specs 文件夹路径** 和 **代码项目路径**(可多个)
|
|
4
|
+
2. 扫描 specs 下所有编号目录(`0.xxx/`、`1.xxx/`、`2.xxx/`),按编号排列
|
|
5
|
+
3. 每个 feature 目录须含 requirements.md、design.md、tasks.md
|
|
6
|
+
4. 加载:代码项目的 `.claude/CLAUDE.md` + `.claude/rules/`(0→1 项目此时可能尚不存在,跳过不报错)
|
|
7
|
+
5. 加载 `{SPECS_DIR}/LESSONS.md`(架构决策和踩坑记录,开发时必须参考);**文件不存在(全新 specs 首次运行的常态)→ 按 0 条处理,不报错不中断**,首个任务的 N5 会创建它
|
|
8
|
+
6. 验证各代码项目路径存在,**空目录按信号处理**:
|
|
9
|
+
- 空目录 + specs 含 `0.bootstrap` → 0→1 已在规格期人工确认,直接执行
|
|
10
|
+
- **空目录 + specs 无 `0.bootstrap` → 矛盾信号,必须暂停询问**:specs 是按存量项目生成的,但目录是空的——"需要先 clone 项目?(clone 完成后回复继续)还是这就是新项目?(specs 上下文有毒,需重跑 /cm-plugin:prd 走 0→1 分支)"两种回答都不得跳过:clone 场景等用户,重跑场景中止
|
|
11
|
+
- **非空目录 + `0.bootstrap` 存在且其脚手架任务(T-001)未完成 → 矛盾信号,必须暂停询问**:规格期确认的是 0→1,但目录里已有项目(用户事后 clone 了?)——"继续 0→1 会在现有项目上覆盖生成脚手架。是改用现有项目?(需重跑 /cm-plugin:prd 按存量项目生成规格)还是目录内容可弃、继续 0→1?"不确认不得执行 T-001
|
|
12
|
+
|
|
13
|
+
## 规格审批入口闸(先于一切预检)
|
|
14
|
+
|
|
15
|
+
读取 `{SPECS_DIR}/.cm-specs-status`:
|
|
16
|
+
|
|
17
|
+
- `approved` → 直接继续(断点续跑不重复问)
|
|
18
|
+
- `awaiting_review` 或文件缺失(旧版 specs)→ 把规格摘要卡打给用户(specs 里没有摘要卡就现场汇总:feature 数/任务数/交付形态/风险点),**等用户明确回复"开始"**;回复后写 `{"status":"approved","at":"{时间}"}` 再继续。**泛化授权语不构成审批**("按最优解处理""继续""你看着办"这类话授权的是执行方式,不是规格内容)——收到时必须回问一次:"规格摘要卡确认开始吗?"(实跑失守:diff-lens 把"按照你分析的最优解去处理"直接视为审批通过)
|
|
19
|
+
- 启动参数含 `--yes` → 跳过此问直接写 approved(适合刚人审完立刻开跑的场景)
|
|
20
|
+
|
|
21
|
+
> 这是**入口授权门**(人把关方案端),不属于"暂停仅灾难级"约束的中途暂停,也不计入 METRICS 人工介入。实跑教训:没有这道闸,prd 生成完会被一句"继续"顺势带进开发,人审形同虚设。
|
|
22
|
+
|
|
23
|
+
## 环境预检(先于一切任务,一次性)
|
|
24
|
+
|
|
25
|
+
开工前跑 `~/.claude/templates/cm-plugin-scripts/cm-plugin-preflight.sh`(存在则用;不存在按下方逐项手查)——它一次性探明扩展开发全链路的环境地雷并给出补救:Node/npm、git、Codex(+调用姿势)、**Chrome for Testing(E2E 真实加载扩展的唯一途径——系统 Chrome 2026 版静默屏蔽 `--load-extension`)**、系统 Chrome。有阻塞项(退出码 1)先解决再开跑。依据:实测最吃时间的不是开发本身,是这些报错什么都不给的环境地雷(`--load-extension` 被屏蔽、codex 缺 `--skip-git-repo-check`、playwright 浏览器下载被墙)。
|
|
26
|
+
|
|
27
|
+
## 审查通道预检(Codex 是主通道)
|
|
28
|
+
|
|
29
|
+
开工前探测 Codex 可用性(`codex --version` 或项目配置的 codex 调用方式),结果直接影响 N4 的审查质量,必须在第一个任务开始前让用户知情。**调用封装**:`~/.claude/templates/cm-plugin-scripts/cm-plugin-codex.sh "<提示词>" [凭证路径]` 已收齐正确姿势(`--skip-git-repo-check --sandbox read-only` + 超时 + 输出清洗 + 凭证落盘),N4/prd/scout 的 Codex 调用优先用它,不裸调(实测:裸调常忘 flag、挂起、输出混入源码转储要手工清洗)。
|
|
30
|
+
|
|
31
|
+
- 可用 → 正常,N4 走双模型交叉审查
|
|
32
|
+
- **不可用 → 明确告知用户**:"Codex 未检测到,代码审查将降级为对抗式子代理(质量次优)。建议安装/登录 codex CLI 后回复继续,或回复'接受降级'跑完本次。"——用户接受降级才继续,且本次运行的所有 METRICS 审查列都会带 `降级` 标注。**不得静默降级开跑**
|
|
33
|
+
|
|
34
|
+
## Git 前置检查(字段优先,询问兜底)
|
|
35
|
+
|
|
36
|
+
**先读 CLAUDE.md 的「版本控制」字段**(/cm-plugin:init 或 bootstrap 已确认并落盘):
|
|
37
|
+
|
|
38
|
+
- `remote` / `local` → 按常规执行每任务提交,不询问;**顺手装双保险 hook**:`~/.claude/templates/cm-plugin-task-check-hook`(安装名,源 templates/hooks/pre-commit-cm-task-check)存在且代码仓库 `.git/hooks/pre-commit` 未装 → 复制安装(默认警告模式,不阻断),输出一行 `🪝 任务标记双保险已装(警告模式)`——纪律靠节点文字自我约束在长会话中必然漏(实跑失守:两个项目均未装 hook,N5 漏标/漏凭证无人拦)
|
|
39
|
+
- `none` → 直接进入 **NO_GIT 降级模式**,不询问:N5 跳过 git 提交(METRICS 备注 `no-git`)、doc-syncer 用文件扫描替代 git diff、hook 不适用、审计链降级为 METRICS + tasks 勾选
|
|
40
|
+
|
|
41
|
+
**字段不存在时**(项目未经 init 的兜底路径):
|
|
42
|
+
|
|
43
|
+
- 有 git 仓库 → 继续,并建议补跑 /cm-plugin:init
|
|
44
|
+
- 无仓库但存在 `0.bootstrap/` 且任务含脚手架/git init → 跳过询问,交给 T-001
|
|
45
|
+
- 无仓库且非上述 → 问一次"git init?(推荐)/ 不使用版本控制",**答案由主流程回写 CLAUDE.md 版本控制字段**(决策落盘,任何后续运行不再询问)
|
|
46
|
+
|
|
47
|
+
## 可视化入口提示(N1 输出末尾,一次性)
|
|
48
|
+
|
|
49
|
+
N1 完成、进入 N2 之前,在输出末尾打印一行可视化入口(存在 `~/.claude/templates/cm-plugin-pixel/` 时才打印):
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
🎮 想看像素流水线?另开终端: ~/.claude/templates/cm-plugin-pixel/cm-pixel.sh
|
|
53
|
+
浏览器版: ~/.claude/templates/cm-plugin-pixel/serve.sh {SPECS_DIR} (地址加 ?demo 可先看演示)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
只在 N1 打印一次,不重复——入口可发现性问题的修复(实测反馈:用户不知道要手动启动)。
|
|
57
|
+
|
|
58
|
+
## 0.bootstrap 优先规则
|
|
59
|
+
|
|
60
|
+
存在 `0.bootstrap/` 且其中有未完成任务 → **无条件最优先执行**,完成前不进入任何业务 feature。它落地项目骨架和 `.claude/` 规范;完成后进入下一个 feature 时,N7 的重载机制会自然带上新生成的 CLAUDE.md 和 rules。
|