tabwright 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/bin.js +4 -0
- package/dist/a11y-client.js +204 -0
- package/dist/agent-skills/tabwright/SKILL.md +119 -0
- package/dist/aria-snapshot.d.ts +262 -0
- package/dist/aria-snapshot.d.ts.map +1 -0
- package/dist/aria-snapshot.js +1256 -0
- package/dist/aria-snapshot.js.map +1 -0
- package/dist/aria-snapshot.test.d.ts +2 -0
- package/dist/aria-snapshot.test.d.ts.map +1 -0
- package/dist/aria-snapshot.test.js +270 -0
- package/dist/aria-snapshot.test.js.map +1 -0
- package/dist/aria-snapshot.unit.test.d.ts +2 -0
- package/dist/aria-snapshot.unit.test.d.ts.map +1 -0
- package/dist/aria-snapshot.unit.test.js +542 -0
- package/dist/aria-snapshot.unit.test.js.map +1 -0
- package/dist/assets/cursors/screen-studio/pointer-macos-tahoe-data-url.d.ts +5 -0
- package/dist/assets/cursors/screen-studio/pointer-macos-tahoe-data-url.d.ts.map +1 -0
- package/dist/assets/cursors/screen-studio/pointer-macos-tahoe-data-url.js +5 -0
- package/dist/assets/cursors/screen-studio/pointer-macos-tahoe-data-url.js.map +1 -0
- package/dist/bippy.js +894 -0
- package/dist/browser-config.d.ts +13 -0
- package/dist/browser-config.d.ts.map +1 -0
- package/dist/browser-config.js +126 -0
- package/dist/browser-config.js.map +1 -0
- package/dist/browser-install.d.ts +16 -0
- package/dist/browser-install.d.ts.map +1 -0
- package/dist/browser-install.js +238 -0
- package/dist/browser-install.js.map +1 -0
- package/dist/browser-launch.d.ts +17 -0
- package/dist/browser-launch.d.ts.map +1 -0
- package/dist/browser-launch.js +44 -0
- package/dist/browser-launch.js.map +1 -0
- package/dist/builtin-capabilities.d.ts +28 -0
- package/dist/builtin-capabilities.d.ts.map +1 -0
- package/dist/builtin-capabilities.js +2673 -0
- package/dist/builtin-capabilities.js.map +1 -0
- package/dist/capability-agent-skill.d.ts +60 -0
- package/dist/capability-agent-skill.d.ts.map +1 -0
- package/dist/capability-agent-skill.js +225 -0
- package/dist/capability-agent-skill.js.map +1 -0
- package/dist/capability-auth-state.d.ts +34 -0
- package/dist/capability-auth-state.d.ts.map +1 -0
- package/dist/capability-auth-state.js +157 -0
- package/dist/capability-auth-state.js.map +1 -0
- package/dist/capability-auth.d.ts +36 -0
- package/dist/capability-auth.d.ts.map +1 -0
- package/dist/capability-auth.js +198 -0
- package/dist/capability-auth.js.map +1 -0
- package/dist/capability-cli-confirmation.test.d.ts +2 -0
- package/dist/capability-cli-confirmation.test.d.ts.map +1 -0
- package/dist/capability-cli-confirmation.test.js +79 -0
- package/dist/capability-cli-confirmation.test.js.map +1 -0
- package/dist/capability-options.d.ts +20 -0
- package/dist/capability-options.d.ts.map +1 -0
- package/dist/capability-options.js +31 -0
- package/dist/capability-options.js.map +1 -0
- package/dist/capability-options.test.d.ts +2 -0
- package/dist/capability-options.test.d.ts.map +1 -0
- package/dist/capability-options.test.js +81 -0
- package/dist/capability-options.test.js.map +1 -0
- package/dist/capability-package.d.ts +27 -0
- package/dist/capability-package.d.ts.map +1 -0
- package/dist/capability-package.js +444 -0
- package/dist/capability-package.js.map +1 -0
- package/dist/capability-package.test.d.ts +2 -0
- package/dist/capability-package.test.d.ts.map +1 -0
- package/dist/capability-package.test.js +179 -0
- package/dist/capability-package.test.js.map +1 -0
- package/dist/capability-registry.d.ts +262 -0
- package/dist/capability-registry.d.ts.map +1 -0
- package/dist/capability-registry.js +931 -0
- package/dist/capability-registry.js.map +1 -0
- package/dist/capability-registry.test.d.ts +2 -0
- package/dist/capability-registry.test.d.ts.map +1 -0
- package/dist/capability-registry.test.js +1683 -0
- package/dist/capability-registry.test.js.map +1 -0
- package/dist/capability-runner.d.ts +99 -0
- package/dist/capability-runner.d.ts.map +1 -0
- package/dist/capability-runner.js +608 -0
- package/dist/capability-runner.js.map +1 -0
- package/dist/capability-search-relevance.test.d.ts +2 -0
- package/dist/capability-search-relevance.test.d.ts.map +1 -0
- package/dist/capability-search-relevance.test.js +67 -0
- package/dist/capability-search-relevance.test.js.map +1 -0
- package/dist/capability-studio.d.ts +11 -0
- package/dist/capability-studio.d.ts.map +1 -0
- package/dist/capability-studio.js +593 -0
- package/dist/capability-studio.js.map +1 -0
- package/dist/capability-studio.test.d.ts +2 -0
- package/dist/capability-studio.test.d.ts.map +1 -0
- package/dist/capability-studio.test.js +41 -0
- package/dist/capability-studio.test.js.map +1 -0
- package/dist/cdp-log.d.ts +19 -0
- package/dist/cdp-log.d.ts.map +1 -0
- package/dist/cdp-log.js +83 -0
- package/dist/cdp-log.js.map +1 -0
- package/dist/cdp-log.test.d.ts +2 -0
- package/dist/cdp-log.test.d.ts.map +1 -0
- package/dist/cdp-log.test.js +109 -0
- package/dist/cdp-log.test.js.map +1 -0
- package/dist/cdp-relay.d.ts +19 -0
- package/dist/cdp-relay.d.ts.map +1 -0
- package/dist/cdp-relay.js +2375 -0
- package/dist/cdp-relay.js.map +1 -0
- package/dist/cdp-session.d.ts +37 -0
- package/dist/cdp-session.d.ts.map +1 -0
- package/dist/cdp-session.js +36 -0
- package/dist/cdp-session.js.map +1 -0
- package/dist/cdp-types.d.ts +65 -0
- package/dist/cdp-types.d.ts.map +1 -0
- package/dist/cdp-types.js +91 -0
- package/dist/cdp-types.js.map +1 -0
- package/dist/channel-owner-inspect.test.d.ts +2 -0
- package/dist/channel-owner-inspect.test.d.ts.map +1 -0
- package/dist/channel-owner-inspect.test.js +75 -0
- package/dist/channel-owner-inspect.test.js.map +1 -0
- package/dist/chrome-discovery.d.ts +65 -0
- package/dist/chrome-discovery.d.ts.map +1 -0
- package/dist/chrome-discovery.js +173 -0
- package/dist/chrome-discovery.js.map +1 -0
- package/dist/chrome-discovery.test.d.ts +2 -0
- package/dist/chrome-discovery.test.d.ts.map +1 -0
- package/dist/chrome-discovery.test.js +41 -0
- package/dist/chrome-discovery.test.js.map +1 -0
- package/dist/clean-html.d.ts +11 -0
- package/dist/clean-html.d.ts.map +1 -0
- package/dist/clean-html.js +106 -0
- package/dist/clean-html.js.map +1 -0
- package/dist/cli-help.test.d.ts +2 -0
- package/dist/cli-help.test.d.ts.map +1 -0
- package/dist/cli-help.test.js +98 -0
- package/dist/cli-help.test.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +2709 -0
- package/dist/cli.js.map +1 -0
- package/dist/cloud-client.d.ts +56 -0
- package/dist/cloud-client.d.ts.map +1 -0
- package/dist/cloud-client.js +127 -0
- package/dist/cloud-client.js.map +1 -0
- package/dist/create-logger.d.ts +9 -0
- package/dist/create-logger.d.ts.map +1 -0
- package/dist/create-logger.js +27 -0
- package/dist/create-logger.js.map +1 -0
- package/dist/debugger-api.md +458 -0
- package/dist/debugger-examples-types.d.ts +24 -0
- package/dist/debugger-examples-types.d.ts.map +1 -0
- package/dist/debugger-examples-types.js +2 -0
- package/dist/debugger-examples-types.js.map +1 -0
- package/dist/debugger-examples.d.ts +6 -0
- package/dist/debugger-examples.d.ts.map +1 -0
- package/dist/debugger-examples.js +53 -0
- package/dist/debugger-examples.js.map +1 -0
- package/dist/debugger.d.ts +381 -0
- package/dist/debugger.d.ts.map +1 -0
- package/dist/debugger.js +630 -0
- package/dist/debugger.js.map +1 -0
- package/dist/diff-utils.d.ts +20 -0
- package/dist/diff-utils.d.ts.map +1 -0
- package/dist/diff-utils.js +50 -0
- package/dist/diff-utils.js.map +1 -0
- package/dist/diff-utils.test.d.ts +2 -0
- package/dist/diff-utils.test.d.ts.map +1 -0
- package/dist/diff-utils.test.js +137 -0
- package/dist/diff-utils.test.js.map +1 -0
- package/dist/doctor.d.ts +44 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +246 -0
- package/dist/doctor.js.map +1 -0
- package/dist/doctor.test.d.ts +2 -0
- package/dist/doctor.test.d.ts.map +1 -0
- package/dist/doctor.test.js +208 -0
- package/dist/doctor.test.js.map +1 -0
- package/dist/editor-api.md +374 -0
- package/dist/editor-examples.d.ts +11 -0
- package/dist/editor-examples.d.ts.map +1 -0
- package/dist/editor-examples.js +124 -0
- package/dist/editor-examples.js.map +1 -0
- package/dist/editor.d.ts +203 -0
- package/dist/editor.d.ts.map +1 -0
- package/dist/editor.js +363 -0
- package/dist/editor.js.map +1 -0
- package/dist/env-compat.d.ts +2 -0
- package/dist/env-compat.d.ts.map +1 -0
- package/dist/env-compat.js +27 -0
- package/dist/env-compat.js.map +1 -0
- package/dist/executor.d.ts +229 -0
- package/dist/executor.d.ts.map +1 -0
- package/dist/executor.js +1465 -0
- package/dist/executor.js.map +1 -0
- package/dist/executor.unit.test.d.ts +2 -0
- package/dist/executor.unit.test.d.ts.map +1 -0
- package/dist/executor.unit.test.js +143 -0
- package/dist/executor.unit.test.js.map +1 -0
- package/dist/extension/_locales/en/messages.json +278 -0
- package/dist/extension/_locales/zh_CN/messages.json +256 -0
- package/dist/extension/assets/options-CYH96Lcx.css +1349 -0
- package/dist/extension/background.js +3994 -0
- package/dist/extension/icons/SolarCursorSquareBold.png +0 -0
- package/dist/extension/icons/icon-black-128.png +0 -0
- package/dist/extension/icons/icon-black-16.png +0 -0
- package/dist/extension/icons/icon-black-32.png +0 -0
- package/dist/extension/icons/icon-black-48.png +0 -0
- package/dist/extension/icons/icon-gray-128.png +0 -0
- package/dist/extension/icons/icon-gray-16.png +0 -0
- package/dist/extension/icons/icon-gray-32.png +0 -0
- package/dist/extension/icons/icon-gray-48.png +0 -0
- package/dist/extension/icons/icon-green-128.png +0 -0
- package/dist/extension/icons/icon-green-16.png +0 -0
- package/dist/extension/icons/icon-green-32.png +0 -0
- package/dist/extension/icons/icon-green-48.png +0 -0
- package/dist/extension/icons/tabwright-icon-black.png +0 -0
- package/dist/extension/icons/tabwright-icon-gray-disabled.png +0 -0
- package/dist/extension/icons/tabwright-icon-gray-disabled.svg +1 -0
- package/dist/extension/manifest.json +54 -0
- package/dist/extension/options.js +16145 -0
- package/dist/extension/rrweb-recorder.js +12952 -0
- package/dist/extension/src/options.html +165 -0
- package/dist/extension/src/prism-bash.min.js +1 -0
- package/dist/extension/src/prism.min.js +1 -0
- package/dist/extension/src/welcome.html +396 -0
- package/dist/extension-connection.test.d.ts +2 -0
- package/dist/extension-connection.test.d.ts.map +1 -0
- package/dist/extension-connection.test.js +708 -0
- package/dist/extension-connection.test.js.map +1 -0
- package/dist/extension-icon-warning.test.d.ts +2 -0
- package/dist/extension-icon-warning.test.d.ts.map +1 -0
- package/dist/extension-icon-warning.test.js +33 -0
- package/dist/extension-icon-warning.test.js.map +1 -0
- package/dist/ghost-browser.d.ts +62 -0
- package/dist/ghost-browser.d.ts.map +1 -0
- package/dist/ghost-browser.js +107 -0
- package/dist/ghost-browser.js.map +1 -0
- package/dist/ghost-cursor-client.js +374 -0
- package/dist/ghost-cursor-controller.d.ts +46 -0
- package/dist/ghost-cursor-controller.d.ts.map +1 -0
- package/dist/ghost-cursor-controller.js +98 -0
- package/dist/ghost-cursor-controller.js.map +1 -0
- package/dist/ghost-cursor.d.ts +27 -0
- package/dist/ghost-cursor.d.ts.map +1 -0
- package/dist/ghost-cursor.js +79 -0
- package/dist/ghost-cursor.js.map +1 -0
- package/dist/htmlrewrite.d.ts +8 -0
- package/dist/htmlrewrite.d.ts.map +1 -0
- package/dist/htmlrewrite.js +339 -0
- package/dist/htmlrewrite.js.map +1 -0
- package/dist/htmlrewrite.test.d.ts +2 -0
- package/dist/htmlrewrite.test.d.ts.map +1 -0
- package/dist/htmlrewrite.test.js +7975 -0
- package/dist/htmlrewrite.test.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/kill-port.d.ts +29 -0
- package/dist/kill-port.d.ts.map +1 -0
- package/dist/kill-port.js +190 -0
- package/dist/kill-port.js.map +1 -0
- package/dist/kitty-graphics.d.ts +22 -0
- package/dist/kitty-graphics.d.ts.map +1 -0
- package/dist/kitty-graphics.js +71 -0
- package/dist/kitty-graphics.js.map +1 -0
- package/dist/kitty-graphics.test.d.ts +2 -0
- package/dist/kitty-graphics.test.d.ts.map +1 -0
- package/dist/kitty-graphics.test.js +125 -0
- package/dist/kitty-graphics.test.js.map +1 -0
- package/dist/locator-selector.test.d.ts +2 -0
- package/dist/locator-selector.test.d.ts.map +1 -0
- package/dist/locator-selector.test.js +98 -0
- package/dist/locator-selector.test.js.map +1 -0
- package/dist/mcp-client.d.ts +20 -0
- package/dist/mcp-client.d.ts.map +1 -0
- package/dist/mcp-client.js +56 -0
- package/dist/mcp-client.js.map +1 -0
- package/dist/mcp.d.ts +6 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +511 -0
- package/dist/mcp.js.map +1 -0
- package/dist/on-mouse-action.test.d.ts +2 -0
- package/dist/on-mouse-action.test.d.ts.map +1 -0
- package/dist/on-mouse-action.test.js +180 -0
- package/dist/on-mouse-action.test.js.map +1 -0
- package/dist/options-page.test.d.ts +2 -0
- package/dist/options-page.test.d.ts.map +1 -0
- package/dist/options-page.test.js +773 -0
- package/dist/options-page.test.js.map +1 -0
- package/dist/package-paths.d.ts +4 -0
- package/dist/package-paths.d.ts.map +1 -0
- package/dist/package-paths.js +30 -0
- package/dist/package-paths.js.map +1 -0
- package/dist/page-markdown.d.ts +40 -0
- package/dist/page-markdown.d.ts.map +1 -0
- package/dist/page-markdown.js +181 -0
- package/dist/page-markdown.js.map +1 -0
- package/dist/performance-examples.d.ts +5 -0
- package/dist/performance-examples.d.ts.map +1 -0
- package/dist/performance-examples.js +112 -0
- package/dist/performance-examples.js.map +1 -0
- package/dist/performance-profiling.md +417 -0
- package/dist/playwright-import.d.ts +19 -0
- package/dist/playwright-import.d.ts.map +1 -0
- package/dist/playwright-import.js +40 -0
- package/dist/playwright-import.js.map +1 -0
- package/dist/popup-relocation.test.d.ts +7 -0
- package/dist/popup-relocation.test.d.ts.map +1 -0
- package/dist/popup-relocation.test.js +139 -0
- package/dist/popup-relocation.test.js.map +1 -0
- package/dist/product-paths.d.ts +9 -0
- package/dist/product-paths.d.ts.map +1 -0
- package/dist/product-paths.js +24 -0
- package/dist/product-paths.js.map +1 -0
- package/dist/product-paths.test.d.ts +2 -0
- package/dist/product-paths.test.d.ts.map +1 -0
- package/dist/product-paths.test.js +39 -0
- package/dist/product-paths.test.js.map +1 -0
- package/dist/prompt.md +1004 -0
- package/dist/protocol.d.ts +248 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +59 -0
- package/dist/protocol.js.map +1 -0
- package/dist/protocol.test.d.ts +2 -0
- package/dist/protocol.test.d.ts.map +1 -0
- package/dist/protocol.test.js +31 -0
- package/dist/protocol.test.js.map +1 -0
- package/dist/react-source.d.ts +57 -0
- package/dist/react-source.d.ts.map +1 -0
- package/dist/react-source.js +254 -0
- package/dist/react-source.js.map +1 -0
- package/dist/readability.js +1674 -0
- package/dist/relay-client.d.ts +104 -0
- package/dist/relay-client.d.ts.map +1 -0
- package/dist/relay-client.js +426 -0
- package/dist/relay-client.js.map +1 -0
- package/dist/relay-client.test.d.ts +2 -0
- package/dist/relay-client.test.d.ts.map +1 -0
- package/dist/relay-client.test.js +305 -0
- package/dist/relay-client.test.js.map +1 -0
- package/dist/relay-core.test.d.ts +2 -0
- package/dist/relay-core.test.d.ts.map +1 -0
- package/dist/relay-core.test.js +1427 -0
- package/dist/relay-core.test.js.map +1 -0
- package/dist/relay-navigation.test.d.ts +2 -0
- package/dist/relay-navigation.test.d.ts.map +1 -0
- package/dist/relay-navigation.test.js +661 -0
- package/dist/relay-navigation.test.js.map +1 -0
- package/dist/relay-session.test.d.ts +2 -0
- package/dist/relay-session.test.d.ts.map +1 -0
- package/dist/relay-session.test.js +1121 -0
- package/dist/relay-session.test.js.map +1 -0
- package/dist/relay-state.d.ts +178 -0
- package/dist/relay-state.d.ts.map +1 -0
- package/dist/relay-state.js +346 -0
- package/dist/relay-state.js.map +1 -0
- package/dist/relay-state.test.d.ts +2 -0
- package/dist/relay-state.test.d.ts.map +1 -0
- package/dist/relay-state.test.js +594 -0
- package/dist/relay-state.test.js.map +1 -0
- package/dist/replay-ai-index.d.ts +99 -0
- package/dist/replay-ai-index.d.ts.map +1 -0
- package/dist/replay-ai-index.js +677 -0
- package/dist/replay-ai-index.js.map +1 -0
- package/dist/replay-ai-index.test.d.ts +2 -0
- package/dist/replay-ai-index.test.d.ts.map +1 -0
- package/dist/replay-ai-index.test.js +255 -0
- package/dist/replay-ai-index.test.js.map +1 -0
- package/dist/replay-cli.test.d.ts +2 -0
- package/dist/replay-cli.test.d.ts.map +1 -0
- package/dist/replay-cli.test.js +275 -0
- package/dist/replay-cli.test.js.map +1 -0
- package/dist/replay-eval.d.ts +44 -0
- package/dist/replay-eval.d.ts.map +1 -0
- package/dist/replay-eval.js +902 -0
- package/dist/replay-eval.js.map +1 -0
- package/dist/replay-handoff.d.ts +29 -0
- package/dist/replay-handoff.d.ts.map +1 -0
- package/dist/replay-handoff.js +83 -0
- package/dist/replay-handoff.js.map +1 -0
- package/dist/replay-handoff.test.d.ts +2 -0
- package/dist/replay-handoff.test.d.ts.map +1 -0
- package/dist/replay-handoff.test.js +123 -0
- package/dist/replay-handoff.test.js.map +1 -0
- package/dist/replay-workflow-compiler.d.ts +44 -0
- package/dist/replay-workflow-compiler.d.ts.map +1 -0
- package/dist/replay-workflow-compiler.js +601 -0
- package/dist/replay-workflow-compiler.js.map +1 -0
- package/dist/replay-workflow-compiler.test.d.ts +2 -0
- package/dist/replay-workflow-compiler.test.d.ts.map +1 -0
- package/dist/replay-workflow-compiler.test.js +223 -0
- package/dist/replay-workflow-compiler.test.js.map +1 -0
- package/dist/rrweb-recording-relay.d.ts +56 -0
- package/dist/rrweb-recording-relay.d.ts.map +1 -0
- package/dist/rrweb-recording-relay.js +299 -0
- package/dist/rrweb-recording-relay.js.map +1 -0
- package/dist/rrweb-recording-relay.test.d.ts +2 -0
- package/dist/rrweb-recording-relay.test.d.ts.map +1 -0
- package/dist/rrweb-recording-relay.test.js +85 -0
- package/dist/rrweb-recording-relay.test.js.map +1 -0
- package/dist/rrweb-recording.d.ts +104 -0
- package/dist/rrweb-recording.d.ts.map +1 -0
- package/dist/rrweb-recording.js +180 -0
- package/dist/rrweb-recording.js.map +1 -0
- package/dist/scoped-fs.d.ts +95 -0
- package/dist/scoped-fs.d.ts.map +1 -0
- package/dist/scoped-fs.js +358 -0
- package/dist/scoped-fs.js.map +1 -0
- package/dist/scoped-fs.test.d.ts +5 -0
- package/dist/scoped-fs.test.d.ts.map +1 -0
- package/dist/scoped-fs.test.js +73 -0
- package/dist/scoped-fs.test.js.map +1 -0
- package/dist/selector-generator.js +7378 -0
- package/dist/skill-stub.test.d.ts +2 -0
- package/dist/skill-stub.test.d.ts.map +1 -0
- package/dist/skill-stub.test.js +22 -0
- package/dist/skill-stub.test.js.map +1 -0
- package/dist/snapshot-tools.test.d.ts +2 -0
- package/dist/snapshot-tools.test.d.ts.map +1 -0
- package/dist/snapshot-tools.test.js +856 -0
- package/dist/snapshot-tools.test.js.map +1 -0
- package/dist/start-relay-server.d.ts +6 -0
- package/dist/start-relay-server.d.ts.map +1 -0
- package/dist/start-relay-server.js +57 -0
- package/dist/start-relay-server.js.map +1 -0
- package/dist/styles-api.md +124 -0
- package/dist/styles-examples.d.ts +8 -0
- package/dist/styles-examples.d.ts.map +1 -0
- package/dist/styles-examples.js +64 -0
- package/dist/styles-examples.js.map +1 -0
- package/dist/styles.d.ts +27 -0
- package/dist/styles.d.ts.map +1 -0
- package/dist/styles.js +231 -0
- package/dist/styles.js.map +1 -0
- package/dist/tabwright-agent-skill.d.ts +30 -0
- package/dist/tabwright-agent-skill.d.ts.map +1 -0
- package/dist/tabwright-agent-skill.js +74 -0
- package/dist/tabwright-agent-skill.js.map +1 -0
- package/dist/tabwright-agent-skill.test.d.ts +2 -0
- package/dist/tabwright-agent-skill.test.d.ts.map +1 -0
- package/dist/tabwright-agent-skill.test.js +51 -0
- package/dist/tabwright-agent-skill.test.js.map +1 -0
- package/dist/test-declarations.d.ts +13 -0
- package/dist/test-declarations.d.ts.map +1 -0
- package/dist/test-declarations.js +2 -0
- package/dist/test-declarations.js.map +1 -0
- package/dist/test-utils.d.ts +69 -0
- package/dist/test-utils.d.ts.map +1 -0
- package/dist/test-utils.js +448 -0
- package/dist/test-utils.js.map +1 -0
- package/dist/test-utils.test.d.ts +2 -0
- package/dist/test-utils.test.d.ts.map +1 -0
- package/dist/test-utils.test.js +55 -0
- package/dist/test-utils.test.js.map +1 -0
- package/dist/utils.d.ts +26 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +60 -0
- package/dist/utils.js.map +1 -0
- package/dist/wait-for-page-load.d.ts +16 -0
- package/dist/wait-for-page-load.d.ts.map +1 -0
- package/dist/wait-for-page-load.js +146 -0
- package/dist/wait-for-page-load.js.map +1 -0
- package/dist/workflow-capability.d.ts +72 -0
- package/dist/workflow-capability.d.ts.map +1 -0
- package/dist/workflow-capability.js +316 -0
- package/dist/workflow-capability.js.map +1 -0
- package/dist/workflow-script-flow.test.d.ts +2 -0
- package/dist/workflow-script-flow.test.d.ts.map +1 -0
- package/dist/workflow-script-flow.test.js +285 -0
- package/dist/workflow-script-flow.test.js.map +1 -0
- package/package.json +80 -0
- package/src/__snapshots__/x.com.processed.html +1003 -0
- package/src/__snapshots__/x.com.processed.withStyles.html +2720 -0
- package/src/a11y-client.ts +241 -0
- package/src/agent-skills/conan-config/SKILL.md +141 -0
- package/src/agent-skills/conan-config/agents/openai.yaml +4 -0
- package/src/aria-snapshot.test.ts +311 -0
- package/src/aria-snapshot.ts +1681 -0
- package/src/aria-snapshot.unit.test.ts +615 -0
- package/src/aria-snapshots/github-interactive.txt +193 -0
- package/src/aria-snapshots/github-raw.txt +309 -0
- package/src/aria-snapshots/hackernews-interactive.txt +477 -0
- package/src/aria-snapshots/hackernews-raw.txt +428 -0
- package/src/aria-snapshots/prosemirror-interactive.txt +66 -0
- package/src/aria-snapshots/prosemirror-raw.txt +145 -0
- package/src/assets/aria-labels-hacker-news.png +0 -0
- package/src/assets/aria-labels-old-reddit.png +0 -0
- package/src/assets/cursors/screen-studio/pointer-macos-tahoe-data-url.ts +5 -0
- package/src/assets/cursors/screen-studio/pointer-macos-tahoe.svg +18 -0
- package/src/assets/x.com.html +32946 -0
- package/src/browser-config.ts +179 -0
- package/src/browser-install.ts +284 -0
- package/src/browser-launch.ts +75 -0
- package/src/builtin-capabilities.ts +2765 -0
- package/src/capability-agent-skill.ts +305 -0
- package/src/capability-auth-state.ts +197 -0
- package/src/capability-auth.ts +249 -0
- package/src/capability-cli-confirmation.test.ts +90 -0
- package/src/capability-options.test.ts +89 -0
- package/src/capability-options.ts +57 -0
- package/src/capability-package.test.ts +204 -0
- package/src/capability-package.ts +555 -0
- package/src/capability-registry.test.ts +1905 -0
- package/src/capability-registry.ts +1234 -0
- package/src/capability-runner.ts +801 -0
- package/src/capability-search-relevance.test.ts +73 -0
- package/src/capability-studio.test.ts +45 -0
- package/src/capability-studio.ts +641 -0
- package/src/cdp-log.test.ts +131 -0
- package/src/cdp-log.ts +112 -0
- package/src/cdp-relay.ts +2944 -0
- package/src/cdp-session.ts +77 -0
- package/src/cdp-types.ts +158 -0
- package/src/channel-owner-inspect.test.ts +94 -0
- package/src/chrome-discovery.test.ts +50 -0
- package/src/chrome-discovery.ts +220 -0
- package/src/clean-html.ts +141 -0
- package/src/cli-help.test.ts +123 -0
- package/src/cli.ts +3181 -0
- package/src/cloud-client.ts +179 -0
- package/src/create-logger.ts +38 -0
- package/src/debugger-examples-types.ts +16 -0
- package/src/debugger-examples.ts +66 -0
- package/src/debugger.ts +708 -0
- package/src/diff-utils.test.ts +152 -0
- package/src/diff-utils.ts +70 -0
- package/src/doctor.test.ts +244 -0
- package/src/doctor.ts +321 -0
- package/src/editor-examples.ts +158 -0
- package/src/editor.ts +426 -0
- package/src/env-compat.ts +28 -0
- package/src/executor.ts +1824 -0
- package/src/executor.unit.test.ts +168 -0
- package/src/extension-connection.test.ts +855 -0
- package/src/extension-icon-warning.test.ts +45 -0
- package/src/ghost-browser.ts +149 -0
- package/src/ghost-cursor-client.ts +494 -0
- package/src/ghost-cursor-controller.ts +129 -0
- package/src/ghost-cursor.ts +123 -0
- package/src/htmlrewrite.test.ts +8008 -0
- package/src/htmlrewrite.ts +390 -0
- package/src/index.ts +53 -0
- package/src/kill-port.ts +219 -0
- package/src/kitty-graphics.test.ts +139 -0
- package/src/kitty-graphics.ts +79 -0
- package/src/locator-selector.test.ts +119 -0
- package/src/mcp-client.ts +78 -0
- package/src/mcp.ts +629 -0
- package/src/on-mouse-action.test.ts +226 -0
- package/src/options-page.test.ts +839 -0
- package/src/package-paths.ts +38 -0
- package/src/page-markdown.ts +240 -0
- package/src/performance-examples.ts +186 -0
- package/src/playwright-import.ts +59 -0
- package/src/popup-relocation.test.ts +163 -0
- package/src/product-paths.test.ts +47 -0
- package/src/product-paths.ts +28 -0
- package/src/protocol.test.ts +52 -0
- package/src/protocol.ts +351 -0
- package/src/react-source.ts +379 -0
- package/src/relay-client.test.ts +375 -0
- package/src/relay-client.ts +572 -0
- package/src/relay-core.test.ts +1603 -0
- package/src/relay-navigation.test.ts +790 -0
- package/src/relay-session.test.ts +1375 -0
- package/src/relay-state.test.ts +729 -0
- package/src/relay-state.ts +561 -0
- package/src/replay-ai-index.test.ts +278 -0
- package/src/replay-ai-index.ts +872 -0
- package/src/replay-cli.test.ts +325 -0
- package/src/replay-eval.ts +1039 -0
- package/src/replay-handoff.test.ts +163 -0
- package/src/replay-handoff.ts +109 -0
- package/src/replay-workflow-compiler.test.ts +250 -0
- package/src/replay-workflow-compiler.ts +700 -0
- package/src/resource.md +409 -0
- package/src/rrweb-recording-relay.test.ts +99 -0
- package/src/rrweb-recording-relay.ts +400 -0
- package/src/rrweb-recording.ts +322 -0
- package/src/scoped-fs.test.ts +80 -0
- package/src/scoped-fs.ts +420 -0
- package/src/skill-stub.test.ts +24 -0
- package/src/skill.md +1413 -0
- package/src/snapshot-tools.test.ts +1017 -0
- package/src/snapshots/hacker-news-accessibility-full.md +81 -0
- package/src/snapshots/hacker-news-accessibility-interactive.md +43 -0
- package/src/snapshots/page-markdown-output.txt +16 -0
- package/src/snapshots/shadcn-ui-accessibility-full.md +201 -0
- package/src/snapshots/shadcn-ui-accessibility-interactive.md +109 -0
- package/src/start-relay-server.ts +69 -0
- package/src/styles-examples.ts +84 -0
- package/src/styles.ts +343 -0
- package/src/tabwright-agent-skill.test.ts +61 -0
- package/src/tabwright-agent-skill.ts +105 -0
- package/src/test-declarations.ts +13 -0
- package/src/test-utils.test.ts +70 -0
- package/src/test-utils.ts +566 -0
- package/src/utils.ts +78 -0
- package/src/wait-for-page-load.ts +198 -0
- package/src/workflow-capability.ts +417 -0
- package/src/workflow-script-flow.test.ts +388 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
- role=link[name="Skip to content"]
|
|
2
|
+
- banner:
|
|
3
|
+
- role=link[name="Homepage"]
|
|
4
|
+
- navigation "Global":
|
|
5
|
+
- list:
|
|
6
|
+
- listitem:
|
|
7
|
+
- role=button[name="Platform"]
|
|
8
|
+
- listitem:
|
|
9
|
+
- role=button[name="Solutions"]
|
|
10
|
+
- listitem:
|
|
11
|
+
- role=button[name="Resources"]
|
|
12
|
+
- listitem:
|
|
13
|
+
- role=button[name="Open Source"]
|
|
14
|
+
- listitem:
|
|
15
|
+
- role=button[name="Enterprise"]
|
|
16
|
+
- listitem:
|
|
17
|
+
- role=link[name="Pricing"] >> nth=0
|
|
18
|
+
- role=button[name="Search or jump to…"]
|
|
19
|
+
- role=link[name="Sign in"]
|
|
20
|
+
- role=link[name="Sign up"]
|
|
21
|
+
- main:
|
|
22
|
+
- region "The future of building happens together"
|
|
23
|
+
- form:
|
|
24
|
+
- labeltext:
|
|
25
|
+
- text: "Enter your email"
|
|
26
|
+
- textbox "Enter your email" [id="hero_user_email"]
|
|
27
|
+
- role=button[name="Sign up for GitHub"] >> nth=0
|
|
28
|
+
- role=link[name="Try GitHub Copilot"] >> nth=0
|
|
29
|
+
- role=button[name="Pause"]
|
|
30
|
+
- role=video
|
|
31
|
+
- role=tab[name="Code"]
|
|
32
|
+
- role=tab[name="Plan"]
|
|
33
|
+
- role=tab[name="Collaborate"]
|
|
34
|
+
- role=tab[name="Automate"]
|
|
35
|
+
- role=tab[name="Secure"]
|
|
36
|
+
- role=button[name="Pause animation"]
|
|
37
|
+
- role=button[name="Pause video"]
|
|
38
|
+
- role=video[name="无法播放媒体。"]
|
|
39
|
+
- role=link[name="Explore GitHub Copilot"]
|
|
40
|
+
- role=link[name="Read customer story"]
|
|
41
|
+
- role=link[name="Read industry report"]
|
|
42
|
+
- role=button[name="Automate your path to production"]
|
|
43
|
+
- role=link[name="Explore GitHub Actions"]
|
|
44
|
+
- role=button[name="Code instantly from anywhere"]
|
|
45
|
+
- role=button[name="Keep momentum on the go"]
|
|
46
|
+
- role=button[name="Shape your toolchain"]
|
|
47
|
+
- role=link[name="Explore GitHub Advanced Security"]
|
|
48
|
+
- role=link[name="Learn about GitHub Code Security"]
|
|
49
|
+
- role=link[name="Learn about Dependabot"]
|
|
50
|
+
- role=link[name="Learn about GitHub Secret Protection"]
|
|
51
|
+
- link "Footnote 1" [id="footnote-1-ref-0"]
|
|
52
|
+
- link "Footnote 1" [id="footnote-1-ref-1"]
|
|
53
|
+
- role=link[name="Explore GitHub Projects"]
|
|
54
|
+
- role=button[name="Keep track of your tasks"]
|
|
55
|
+
- role=link[name="Explore GitHub Issues"]
|
|
56
|
+
- role=button[name="Share ideas and ask questions"]
|
|
57
|
+
- role=button[name="Review code changes together"]
|
|
58
|
+
- role=button[name="Fund open source projects"]
|
|
59
|
+
- role=tab[name="By industry"]
|
|
60
|
+
- role=tab[name="By size"]
|
|
61
|
+
- role=tab[name="By use case"]
|
|
62
|
+
- role=link[name="Technology Figma streamlines development and strengthens security Read customer story"]
|
|
63
|
+
- role=link[name="Automotive Mercedes-Benz standardizes source code and automates onboarding Read customer story"]
|
|
64
|
+
- role=link[name="Financial services Mercado Libre cuts coding time by 50% Read customer story"]
|
|
65
|
+
- role=link[name="Explore customer stories"]
|
|
66
|
+
- role=link[name="View all solutions"]
|
|
67
|
+
- form:
|
|
68
|
+
- labeltext:
|
|
69
|
+
- text: "Enter your email"
|
|
70
|
+
- textbox "Enter your email" [id="bottom_cta_section_user_email"]
|
|
71
|
+
- role=button[name="Sign up for GitHub"] >> nth=1
|
|
72
|
+
- role=link[name="Try GitHub Copilot"] >> nth=1
|
|
73
|
+
- list:
|
|
74
|
+
- listitem:
|
|
75
|
+
- role=link[name="Back to content GitHub internal customer data, 2025."]
|
|
76
|
+
- role=link[name="Back to top"]
|
|
77
|
+
- contentinfo:
|
|
78
|
+
- region "THE DEVELOPER NEWSLETTER":
|
|
79
|
+
- role=link[name="Go to GitHub homepage"]
|
|
80
|
+
- role=link[name="Subscribe"]
|
|
81
|
+
- navigation "PLATFORM":
|
|
82
|
+
- list:
|
|
83
|
+
- listitem:
|
|
84
|
+
- role=link[name="Features"]
|
|
85
|
+
- listitem:
|
|
86
|
+
- role=link[name="Enterprise"]
|
|
87
|
+
- listitem:
|
|
88
|
+
- role=link[name="Copilot"]
|
|
89
|
+
- listitem:
|
|
90
|
+
- role=link[name="AI"]
|
|
91
|
+
- listitem:
|
|
92
|
+
- role=link[name="Security"]
|
|
93
|
+
- listitem:
|
|
94
|
+
- role=link[name="Pricing"] >> nth=1
|
|
95
|
+
- listitem:
|
|
96
|
+
- role=link[name="Team"]
|
|
97
|
+
- listitem:
|
|
98
|
+
- role=link[name="Resources"]
|
|
99
|
+
- listitem:
|
|
100
|
+
- role=link[name="Roadmap"]
|
|
101
|
+
- listitem:
|
|
102
|
+
- role=link[name="Compare GitHub"]
|
|
103
|
+
- navigation "ECOSYSTEM":
|
|
104
|
+
- list:
|
|
105
|
+
- listitem:
|
|
106
|
+
- role=link[name="Developer API"]
|
|
107
|
+
- listitem:
|
|
108
|
+
- role=link[name="Partners"]
|
|
109
|
+
- listitem:
|
|
110
|
+
- role=link[name="Education"]
|
|
111
|
+
- listitem:
|
|
112
|
+
- role=link[name="GitHub CLI"]
|
|
113
|
+
- listitem:
|
|
114
|
+
- role=link[name="GitHub Desktop"]
|
|
115
|
+
- listitem:
|
|
116
|
+
- role=link[name="GitHub Mobile"]
|
|
117
|
+
- listitem:
|
|
118
|
+
- role=link[name="GitHub Marketplace"]
|
|
119
|
+
- listitem:
|
|
120
|
+
- role=link[name="MCP Registry"]
|
|
121
|
+
- navigation "SUPPORT":
|
|
122
|
+
- list:
|
|
123
|
+
- listitem:
|
|
124
|
+
- role=link[name="Docs"]
|
|
125
|
+
- listitem:
|
|
126
|
+
- role=link[name="Community Forum"]
|
|
127
|
+
- listitem:
|
|
128
|
+
- role=link[name="Professional Services"]
|
|
129
|
+
- listitem:
|
|
130
|
+
- role=link[name="Premium Support"]
|
|
131
|
+
- listitem:
|
|
132
|
+
- role=link[name="Skills"]
|
|
133
|
+
- listitem:
|
|
134
|
+
- role=link[name="Status"]
|
|
135
|
+
- listitem:
|
|
136
|
+
- role=link[name="Contact GitHub"]
|
|
137
|
+
- listitem:
|
|
138
|
+
- role=link[name="What is Git?"]
|
|
139
|
+
- listitem:
|
|
140
|
+
- role=link[name="Sitemap"]
|
|
141
|
+
- navigation "COMPANY":
|
|
142
|
+
- list:
|
|
143
|
+
- listitem:
|
|
144
|
+
- role=link[name="About"]
|
|
145
|
+
- listitem:
|
|
146
|
+
- role=link[name="Why GitHub"]
|
|
147
|
+
- listitem:
|
|
148
|
+
- role=link[name="Customer Stories"]
|
|
149
|
+
- listitem:
|
|
150
|
+
- role=link[name="Blog"]
|
|
151
|
+
- listitem:
|
|
152
|
+
- role=link[name="The ReadME Project"]
|
|
153
|
+
- listitem:
|
|
154
|
+
- role=link[name="Careers"]
|
|
155
|
+
- listitem:
|
|
156
|
+
- role=link[name="Newsroom"]
|
|
157
|
+
- listitem:
|
|
158
|
+
- role=link[name="Inclusion"]
|
|
159
|
+
- listitem:
|
|
160
|
+
- role=link[name="Social Impact"]
|
|
161
|
+
- listitem:
|
|
162
|
+
- role=link[name="Shop"]
|
|
163
|
+
- navigation "Legal and Resource Links":
|
|
164
|
+
- list:
|
|
165
|
+
- listitem
|
|
166
|
+
- listitem:
|
|
167
|
+
- role=link[name="TERMS"]
|
|
168
|
+
- listitem:
|
|
169
|
+
- role=link[name="PRIVACY"]
|
|
170
|
+
- listitem:
|
|
171
|
+
- role=button[name="MANAGE COOKIES"]
|
|
172
|
+
- listitem:
|
|
173
|
+
- role=button[name="DO NOT SHARE MY PERSONAL INFORMATION"]
|
|
174
|
+
- navigation "GitHub's Social Media Links":
|
|
175
|
+
- list:
|
|
176
|
+
- listitem:
|
|
177
|
+
- role=link[name="GitHub on LinkedIn"]
|
|
178
|
+
- listitem:
|
|
179
|
+
- role=link[name="GitHub on Instagram"]
|
|
180
|
+
- listitem:
|
|
181
|
+
- role=link[name="GitHub on YouTube"]
|
|
182
|
+
- listitem:
|
|
183
|
+
- role=link[name="GitHub on X"]
|
|
184
|
+
- listitem:
|
|
185
|
+
- role=link[name="GitHub on TikTok"]
|
|
186
|
+
- listitem:
|
|
187
|
+
- role=link[name="GitHub on Twitch"]
|
|
188
|
+
- listitem:
|
|
189
|
+
- role=link[name="GitHub’s organization on GitHub"]
|
|
190
|
+
- "English - Select language" [data-testid="ActionMenu-button"]
|
|
191
|
+
- role=button[name="Pin element — click any element to copy inspection code for a tabwright -e call"]
|
|
192
|
+
- role=button[name="Start Tabwright demonstration recording"]
|
|
193
|
+
- role=button[name="Close Tabwright toolbar"]
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
- role=link[name="Skip to content"]
|
|
2
|
+
- banner:
|
|
3
|
+
- heading "Navigation Menu"
|
|
4
|
+
- role=link[name="Homepage"]
|
|
5
|
+
- navigation "Global":
|
|
6
|
+
- list:
|
|
7
|
+
- listitem:
|
|
8
|
+
- role=button[name="Platform"]
|
|
9
|
+
- listitem:
|
|
10
|
+
- role=button[name="Solutions"]
|
|
11
|
+
- listitem:
|
|
12
|
+
- role=button[name="Resources"]
|
|
13
|
+
- listitem:
|
|
14
|
+
- role=button[name="Open Source"]
|
|
15
|
+
- listitem:
|
|
16
|
+
- role=button[name="Enterprise"]
|
|
17
|
+
- listitem:
|
|
18
|
+
- role=link[name="Pricing"] >> nth=0
|
|
19
|
+
- role=button[name="Search or jump to…"]
|
|
20
|
+
- role=link[name="Sign in"]
|
|
21
|
+
- role=link[name="Sign up"]
|
|
22
|
+
- main:
|
|
23
|
+
- region:
|
|
24
|
+
- heading "The future of building happens together"
|
|
25
|
+
- paragraph:
|
|
26
|
+
- text: "Tools and trends evolve, but collaboration endures. With GitHub, developers, agents, and code come together on one platform."
|
|
27
|
+
- form:
|
|
28
|
+
- labeltext:
|
|
29
|
+
- text: "Enter your email"
|
|
30
|
+
- textbox "Enter your email" [id="hero_user_email"]
|
|
31
|
+
- role=button[name="Sign up for GitHub"] >> nth=0
|
|
32
|
+
- role=link[name="Try GitHub Copilot"] >> nth=0
|
|
33
|
+
- heading "GitHub features"
|
|
34
|
+
- role=button[name="Pause"]
|
|
35
|
+
- text: "A demonstration animation of a code editor using GitHub Copilot Chat, where the user requests GitHub Copilot to refactor duplicated logic and extract it into a reusable function for a given code snippet."
|
|
36
|
+
- role=video
|
|
37
|
+
- tablist:
|
|
38
|
+
- role=tab[name="Code"]
|
|
39
|
+
- role=tab[name="Plan"]
|
|
40
|
+
- role=tab[name="Collaborate"]
|
|
41
|
+
- role=tab[name="Automate"]
|
|
42
|
+
- role=tab[name="Secure"]
|
|
43
|
+
- paragraph:
|
|
44
|
+
- text: "Write, test, and fix code quickly with GitHub Copilot, from simple boilerplate to complex features."
|
|
45
|
+
- heading "GITHUB CUSTOMERS"
|
|
46
|
+
- image "American Airlines"
|
|
47
|
+
- image "Duolingo"
|
|
48
|
+
- image "Ernst and Young"
|
|
49
|
+
- image "Ford"
|
|
50
|
+
- image "InfoSys"
|
|
51
|
+
- image "Mercado Libre"
|
|
52
|
+
- image "Mercedes-Benz"
|
|
53
|
+
- image "Shopify"
|
|
54
|
+
- image "Philips"
|
|
55
|
+
- image "Société Générale"
|
|
56
|
+
- image "Spotify"
|
|
57
|
+
- image "Vodafone"
|
|
58
|
+
- role=button[name="Pause animation"]
|
|
59
|
+
- sectionheader:
|
|
60
|
+
- heading "Accelerate your entire workflow"
|
|
61
|
+
- paragraph:
|
|
62
|
+
- text: "From your first line of code to final deployment, GitHub provides AI and automation tools to help you build and ship better software faster."
|
|
63
|
+
- role=button[name="Pause video"]
|
|
64
|
+
- text: "A Copilot chat window with the 'Ask' mode enabled. The user switches from 'Ask' mode to 'Agent' mode from a dropdown menu, then sends the prompt 'Update the website to allow searching for running races by name.' Copilot analyzes the codebase, then explains the required edits for three files before generating them. Copilot then confirms completion and summarizes the implemented changes for the new functionality allowing users to search races by name and view paginated, filtered results."
|
|
65
|
+
- role=video[name="无法播放媒体。"]
|
|
66
|
+
- heading "Your AI partner everywhere. Copilot is ready to work with you at each step of the software development lifecycle."
|
|
67
|
+
- role=link[name="Explore GitHub Copilot"]
|
|
68
|
+
- image "Duolingo"
|
|
69
|
+
- paragraph:
|
|
70
|
+
- text: "Duolingo boosts developer speed by 25% with GitHub Copilot"
|
|
71
|
+
- role=link[name="Read customer story"]
|
|
72
|
+
- image "Gartner"
|
|
73
|
+
- paragraph:
|
|
74
|
+
- text: "2025 Gartner® Magic Quadrant™ for AI Code Assistants"
|
|
75
|
+
- role=link[name="Read industry report"]
|
|
76
|
+
- descriptionlist:
|
|
77
|
+
- term:
|
|
78
|
+
- role=button[name="Automate your path to production"]:
|
|
79
|
+
- heading "Automate your path to production"
|
|
80
|
+
- definition:
|
|
81
|
+
- paragraph:
|
|
82
|
+
- text: "Ship faster with secure, reliable CI/CD."
|
|
83
|
+
- role=link[name="Explore GitHub Actions"]
|
|
84
|
+
- term:
|
|
85
|
+
- role=button[name="Code instantly from anywhere"]:
|
|
86
|
+
- heading "Code instantly from anywhere"
|
|
87
|
+
- term:
|
|
88
|
+
- role=button[name="Keep momentum on the go"]:
|
|
89
|
+
- heading "Keep momentum on the go"
|
|
90
|
+
- term:
|
|
91
|
+
- role=button[name="Shape your toolchain"]:
|
|
92
|
+
- heading "Shape your toolchain"
|
|
93
|
+
- sectionheader:
|
|
94
|
+
- heading "Built-in application security where found means fixed"
|
|
95
|
+
- paragraph:
|
|
96
|
+
- text: "Use AI to find and fix vulnerabilities so your team can ship more secure software faster."
|
|
97
|
+
- heading "Apply fixes in seconds. Spend less time debugging and more time building features with Copilot Autofix."
|
|
98
|
+
- role=link[name="Explore GitHub Advanced Security"]
|
|
99
|
+
- image "Copilot Autofix identifies vulnerable code and provides an explanation, together with a secure code suggestion to remediate the vulnerability."
|
|
100
|
+
- paragraph:
|
|
101
|
+
- text: "Security debt, solved."
|
|
102
|
+
- text: "Leverage security campaigns and Copilot Autofix to reduce application vulnerabilities."
|
|
103
|
+
- role=link[name="Learn about GitHub Code Security"]
|
|
104
|
+
- image "A security campaign screen displays the campaign’s progress bar with 97% completed of 701 alerts. A total of 23 alerts are left with 13 in progress, and the campaign started 20 days ago. The status below shows that there are 7 days left in the campaign with a due date of November 15, 2024."
|
|
105
|
+
- paragraph:
|
|
106
|
+
- text: "Dependencies you can depend on."
|
|
107
|
+
- text: "Update vulnerable dependencies with supported fixes for breaking changes."
|
|
108
|
+
- role=link[name="Learn about Dependabot"]
|
|
109
|
+
- image "List of dependencies defined in a requirements .txt file."
|
|
110
|
+
- paragraph:
|
|
111
|
+
- text: "Your secrets, your business."
|
|
112
|
+
- text: "Detect, prevent, and remediate leaked secrets across your organization."
|
|
113
|
+
- role=link[name="Learn about GitHub Secret Protection"]
|
|
114
|
+
- image "GitHub push protection confirms and displays an active secret, and blocks the push."
|
|
115
|
+
- paragraph:
|
|
116
|
+
- text: "70% MTTR reduction"
|
|
117
|
+
- text: "with Copilot Autofix"
|
|
118
|
+
- superscript:
|
|
119
|
+
- link "Footnote 1" [id="footnote-1-ref-0"]
|
|
120
|
+
- paragraph:
|
|
121
|
+
- text: "8.3M secret leaks stopped"
|
|
122
|
+
- text: "in the past 12 months with push protection"
|
|
123
|
+
- superscript:
|
|
124
|
+
- link "Footnote 1" [id="footnote-1-ref-1"]
|
|
125
|
+
- sectionheader:
|
|
126
|
+
- heading "Work together, achieve more"
|
|
127
|
+
- paragraph:
|
|
128
|
+
- text: "From planning and discussion to code review, GitHub keeps your team’s conversation and context next to your code."
|
|
129
|
+
- image "A project management dashboard showing tasks for the ‘OctoArcade Invaders’ project, with tasks grouped under project phase categories like ‘Prototype,’ ‘Beta,’ and ‘Launch’ in a table layout. One of the columns displays sub-issue progress bars with percentages for each issue."
|
|
130
|
+
- heading "Plan with clarity. Organize everything from high-level roadmaps to everyday tasks."
|
|
131
|
+
- role=link[name="Explore GitHub Projects"]
|
|
132
|
+
- figure:
|
|
133
|
+
- blockquote:
|
|
134
|
+
- text: "It helps us onboard new software engineers and get them productive right away. We have all our source code, issues, and pull requests in one place... GitHub is a complete platform that frees us from menial tasks and enables us to do our best work."
|
|
135
|
+
- figcaption:
|
|
136
|
+
- text: "FABIAN FAULHABER"
|
|
137
|
+
- text: "Application manager at Mercedes-Benz"
|
|
138
|
+
- descriptionlist:
|
|
139
|
+
- term:
|
|
140
|
+
- role=button[name="Keep track of your tasks"]:
|
|
141
|
+
- heading "Keep track of your tasks"
|
|
142
|
+
- definition:
|
|
143
|
+
- paragraph:
|
|
144
|
+
- text: "Create issues and manage projects with tools that adapt to your code."
|
|
145
|
+
- role=link[name="Explore GitHub Issues"]
|
|
146
|
+
- term:
|
|
147
|
+
- role=button[name="Share ideas and ask questions"]:
|
|
148
|
+
- heading "Share ideas and ask questions"
|
|
149
|
+
- term:
|
|
150
|
+
- role=button[name="Review code changes together"]:
|
|
151
|
+
- heading "Review code changes together"
|
|
152
|
+
- term:
|
|
153
|
+
- role=button[name="Fund open source projects"]:
|
|
154
|
+
- heading "Fund open source projects"
|
|
155
|
+
- sectionheader:
|
|
156
|
+
- heading "From startups to enterprises, GitHub scales with teams of any size in any industry."
|
|
157
|
+
- tablist:
|
|
158
|
+
- role=tab[name="By industry"]
|
|
159
|
+
- role=tab[name="By size"]
|
|
160
|
+
- role=tab[name="By use case"]
|
|
161
|
+
- role=link[name="Technology Figma streamlines development and strengthens security Read customer story"]
|
|
162
|
+
- role=link[name="Automotive Mercedes-Benz standardizes source code and automates onboarding Read customer story"]
|
|
163
|
+
- role=link[name="Financial services Mercado Libre cuts coding time by 50% Read customer story"]
|
|
164
|
+
- role=link[name="Explore customer stories"]
|
|
165
|
+
- role=link[name="View all solutions"]
|
|
166
|
+
- heading "Millions of developers and businesses call GitHub home"
|
|
167
|
+
- paragraph:
|
|
168
|
+
- text: "Whether you’re scaling your development process or just learning how to code, GitHub is where you belong. Join the world’s most widely adopted developer platform to build the technologies that shape what’s next."
|
|
169
|
+
- form:
|
|
170
|
+
- labeltext:
|
|
171
|
+
- text: "Enter your email"
|
|
172
|
+
- textbox "Enter your email" [id="bottom_cta_section_user_email"]
|
|
173
|
+
- role=button[name="Sign up for GitHub"] >> nth=1
|
|
174
|
+
- role=link[name="Try GitHub Copilot"] >> nth=1
|
|
175
|
+
- heading "Footnotes"
|
|
176
|
+
- list:
|
|
177
|
+
- listitem:
|
|
178
|
+
- listmarker "1."
|
|
179
|
+
- text: "GitHub internal customer data, 2025."
|
|
180
|
+
- role=link[name="Back to content GitHub internal customer data, 2025."]
|
|
181
|
+
- role=link[name="Back to top"]
|
|
182
|
+
- contentinfo:
|
|
183
|
+
- heading "Site-wide Links"
|
|
184
|
+
- region:
|
|
185
|
+
- role=link[name="Go to GitHub homepage"]
|
|
186
|
+
- heading "THE DEVELOPER NEWSLETTER"
|
|
187
|
+
- paragraph:
|
|
188
|
+
- text: "Get tips, technical guides, and best practices. Twice a month. Right in your inbox."
|
|
189
|
+
- role=link[name="Subscribe"]
|
|
190
|
+
- navigation:
|
|
191
|
+
- heading "PLATFORM"
|
|
192
|
+
- list:
|
|
193
|
+
- listitem:
|
|
194
|
+
- role=link[name="Features"]
|
|
195
|
+
- listitem:
|
|
196
|
+
- role=link[name="Enterprise"]
|
|
197
|
+
- listitem:
|
|
198
|
+
- role=link[name="Copilot"]
|
|
199
|
+
- listitem:
|
|
200
|
+
- role=link[name="AI"]
|
|
201
|
+
- listitem:
|
|
202
|
+
- role=link[name="Security"]
|
|
203
|
+
- listitem:
|
|
204
|
+
- role=link[name="Pricing"] >> nth=1
|
|
205
|
+
- listitem:
|
|
206
|
+
- role=link[name="Team"]
|
|
207
|
+
- listitem:
|
|
208
|
+
- role=link[name="Resources"]
|
|
209
|
+
- listitem:
|
|
210
|
+
- role=link[name="Roadmap"]
|
|
211
|
+
- listitem:
|
|
212
|
+
- role=link[name="Compare GitHub"]
|
|
213
|
+
- navigation:
|
|
214
|
+
- heading "ECOSYSTEM"
|
|
215
|
+
- list:
|
|
216
|
+
- listitem:
|
|
217
|
+
- role=link[name="Developer API"]
|
|
218
|
+
- listitem:
|
|
219
|
+
- role=link[name="Partners"]
|
|
220
|
+
- listitem:
|
|
221
|
+
- role=link[name="Education"]
|
|
222
|
+
- listitem:
|
|
223
|
+
- role=link[name="GitHub CLI"]
|
|
224
|
+
- listitem:
|
|
225
|
+
- role=link[name="GitHub Desktop"]
|
|
226
|
+
- listitem:
|
|
227
|
+
- role=link[name="GitHub Mobile"]
|
|
228
|
+
- listitem:
|
|
229
|
+
- role=link[name="GitHub Marketplace"]
|
|
230
|
+
- listitem:
|
|
231
|
+
- role=link[name="MCP Registry"]
|
|
232
|
+
- navigation:
|
|
233
|
+
- heading "SUPPORT"
|
|
234
|
+
- list:
|
|
235
|
+
- listitem:
|
|
236
|
+
- role=link[name="Docs"]
|
|
237
|
+
- listitem:
|
|
238
|
+
- role=link[name="Community Forum"]
|
|
239
|
+
- listitem:
|
|
240
|
+
- role=link[name="Professional Services"]
|
|
241
|
+
- listitem:
|
|
242
|
+
- role=link[name="Premium Support"]
|
|
243
|
+
- listitem:
|
|
244
|
+
- role=link[name="Skills"]
|
|
245
|
+
- listitem:
|
|
246
|
+
- role=link[name="Status"]
|
|
247
|
+
- listitem:
|
|
248
|
+
- role=link[name="Contact GitHub"]
|
|
249
|
+
- listitem:
|
|
250
|
+
- role=link[name="What is Git?"]
|
|
251
|
+
- listitem:
|
|
252
|
+
- role=link[name="Sitemap"]
|
|
253
|
+
- navigation:
|
|
254
|
+
- heading "COMPANY"
|
|
255
|
+
- list:
|
|
256
|
+
- listitem:
|
|
257
|
+
- role=link[name="About"]
|
|
258
|
+
- listitem:
|
|
259
|
+
- role=link[name="Why GitHub"]
|
|
260
|
+
- listitem:
|
|
261
|
+
- role=link[name="Customer Stories"]
|
|
262
|
+
- listitem:
|
|
263
|
+
- role=link[name="Blog"]
|
|
264
|
+
- listitem:
|
|
265
|
+
- role=link[name="The ReadME Project"]
|
|
266
|
+
- listitem:
|
|
267
|
+
- role=link[name="Careers"]
|
|
268
|
+
- listitem:
|
|
269
|
+
- role=link[name="Newsroom"]
|
|
270
|
+
- listitem:
|
|
271
|
+
- role=link[name="Inclusion"]
|
|
272
|
+
- listitem:
|
|
273
|
+
- role=link[name="Social Impact"]
|
|
274
|
+
- listitem:
|
|
275
|
+
- role=link[name="Shop"]
|
|
276
|
+
- navigation "Legal and Resource Links":
|
|
277
|
+
- list:
|
|
278
|
+
- listitem:
|
|
279
|
+
- time:
|
|
280
|
+
- text: "© 2026 GITHUB, INC."
|
|
281
|
+
- listitem:
|
|
282
|
+
- role=link[name="TERMS"]
|
|
283
|
+
- listitem:
|
|
284
|
+
- role=link[name="PRIVACY"]
|
|
285
|
+
- listitem:
|
|
286
|
+
- role=button[name="MANAGE COOKIES"]
|
|
287
|
+
- listitem:
|
|
288
|
+
- role=button[name="DO NOT SHARE MY PERSONAL INFORMATION"]
|
|
289
|
+
- navigation "GitHub's Social Media Links":
|
|
290
|
+
- list:
|
|
291
|
+
- listitem:
|
|
292
|
+
- role=link[name="GitHub on LinkedIn"]
|
|
293
|
+
- listitem:
|
|
294
|
+
- role=link[name="GitHub on Instagram"]
|
|
295
|
+
- listitem:
|
|
296
|
+
- role=link[name="GitHub on YouTube"]
|
|
297
|
+
- listitem:
|
|
298
|
+
- role=link[name="GitHub on X"]
|
|
299
|
+
- listitem:
|
|
300
|
+
- role=link[name="GitHub on TikTok"]
|
|
301
|
+
- listitem:
|
|
302
|
+
- role=link[name="GitHub on Twitch"]
|
|
303
|
+
- listitem:
|
|
304
|
+
- role=link[name="GitHub’s organization on GitHub"]
|
|
305
|
+
- "English - Select language" [data-testid="ActionMenu-button"]
|
|
306
|
+
- toolbar "Tabwright tools":
|
|
307
|
+
- role=button[name="Pin element — click any element to copy inspection code for a tabwright -e call"]
|
|
308
|
+
- role=button[name="Start Tabwright demonstration recording"]
|
|
309
|
+
- role=button[name="Close Tabwright toolbar"]
|