Add Opera cache cleaner extension baseline

This commit is contained in:
ToxicCrzay270
2026-05-15 00:41:37 +02:00
commit fe17014aff
23 changed files with 1541 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
# 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
```
## Commands
Use these commands as the source of truth from the repository root:
```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.