diff --git a/README.md b/README.md index 21d2bde..c58646e 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,21 @@ # Context Extractor +Status: active. + Capture console logs, network activity, JS errors, and clean markdown content from a webpage, formatted as an AI-ready prompt. Ships three ways from one shared core: [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) -**AI-ready page context** — console, network, errors, and clean markdown for agents and debugging. +Captures console, network, errors, and clean markdown for agents and debugging. -> Public mirror: [github.com/Gitilia/context-extractor](https://github.com/Gitilia/context-extractor) +Public mirror: [github.com/Gitilia/context-extractor](https://github.com/Gitilia/context-extractor). -- **`extension/`** — a browser extension (Manifest V3) for interactive use. -- **`automation/`** — a Python package for scripted/headless use with +- `extension/`: browser extension (Manifest V3) for interactive use. +- `automation/`: Python package for scripted/headless use with Playwright or [Camoufox](https://camoufox.com). -- **`automation-js/`** — a Node/TS twin of `automation/` for Playwright +- `automation-js/`: Node/TS twin of `automation/` for Playwright (`playwright-core`) or [camoufox-js](https://www.npmjs.com/package/camoufox-js) automation that's already JS, so it can `import` the session directly instead of shelling out to Python. @@ -42,7 +44,7 @@ context-extractor/ ``` `extension/core/dom.js` and `extension/core/prompt.js` are the single source -of truth for DOM/markdown/prompt logic — the extension loads them directly as +of truth for DOM/markdown/prompt logic, the extension loads them directly as content-script files, and **both** automation packages read the exact same files (via symlinks) and run them with `page.evaluate()`. There's only one place to fix a markdown-formatting bug, and the Python/JS test suites both @@ -54,7 +56,7 @@ so a regression can't silently diverge between the two. The extension (`extension/manifest.json`), the Python package (`automation/pyproject.toml`), and the Node package (`automation-js/package.json`) share **one product version** and are bumped -together — they ship the same `core/*.js`, so a version like `1.4.0` means +together, they ship the same `core/*.js`, so a version like `1.4.0` means the same extraction behavior in all three. ## Use from another Cursor project @@ -82,7 +84,7 @@ pytest -q ## 1. Browser extension (Chrome and Brave) Brave is Chromium under the hood and loads unpacked Manifest V3 extensions -exactly like Chrome does — there is no separate "Brave build." Same steps in +exactly like Chrome does, there is no separate "Brave build." Same steps in both: 1. Go to `chrome://extensions` (or `brave://extensions`). @@ -100,7 +102,7 @@ element), and **Copy** to put a ready-to-paste prompt on the clipboard. The original console/fetch/XHR patcher was injected as an inline `