# Codex Project Notes ## Project `Opera Cache Cleaner` is an Opera-compatible Chromium extension for clearing only the browser cache from a toolbar popup. It supports immediate cleanup and an optional timer. Repository: ```text Toxic/Opera-Extensions ``` Gitea URL: ```text https://git.wilkensxl.de/Toxic/Opera-Extensions.git ``` Repository owner and name are derived from this target remote, not from the Codex repository kit remote. ## Commands Use these commands as the source of truth from this extension directory: ```text Syntax check background: node --check background.js Syntax check popup: node --check popup/popup.js Build package: mkdir -p dist && zip -r dist/opera-cache-cleaner-extension.zip manifest.json background.js popup icons -x "*.DS_Store" ``` No install, lint, test, README generation, or dependency audit command exists. The project has no package manifest and no vendored dependencies. ## Stack ```text Manifest V3 Chromium extension using plain HTML, CSS, and JavaScript. ``` Package manager or build tool: ```text None. ``` ## Build Artifacts Release artifacts are produced in: ```text dist/ ``` Expected file: ```text opera-cache-cleaner-extension.zip ``` ## Security Rules - Keep the extension limited to `browsingData`, `storage`, and `alarms` permissions unless a feature explicitly requires more. - The extension must clear only cache data through `chrome.browsingData.remove(..., { cache: true })`. - Do not request cookie, history, downloads, tabs, or host permissions without a documented user request. - Do not add external network calls. - Do not commit secrets, tokens, `.env` files, certificates, or private keys. ## Release Rules Before a release: 1. run the syntax checks, 2. review `docs/security-review.md`, 3. update `CHANGELOG.md`, 4. build `dist/opera-cache-cleaner-extension.zip`, 5. load the unpacked extension in Opera for a manual smoke test, 6. create a tag and release only when the user explicitly asks for it.