feat: add cross-browser extension with AI reading assistant

- Create Pi Reader browser extension for Chrome/Firefox
- Chrome uses Side Panel API, Firefox uses Sidebar Action API
- Supports both browsers with separate manifests and unified codebase
- Built with mini-lit components and Tailwind CSS v4
- Features model selection dialog with Ollama support
- Hot reload development server watches both browser builds
- Add useDefineForClassFields: false to fix LitElement reactivity
This commit is contained in:
Mario Zechner 2025-10-01 04:33:56 +02:00
parent c1185c7b95
commit b67c10dfb1
33 changed files with 4453 additions and 1202 deletions

View file

@ -0,0 +1,32 @@
{
"name": "@mariozechner/pi-reader-extension",
"version": "0.5.43",
"private": true,
"description": "Browser extension that uses @mariozechner/pi-ai to assist with reading web pages",
"type": "module",
"main": "dist/background.js",
"scripts": {
"clean": "rm -rf dist-chrome dist-firefox",
"build:chrome": "node ./scripts/build.mjs && tailwindcss -i ./src/app.css -o ./dist-chrome/app.css --minify",
"build:firefox": "node ./scripts/build.mjs --firefox && tailwindcss -i ./src/app.css -o ./dist-firefox/app.css --minify",
"build": "npm run build:chrome && npm run build:firefox",
"dev": "concurrently \"node ./scripts/build.mjs --watch\" \"node ./scripts/build.mjs --firefox --watch\" \"tailwindcss -i ./src/app.css -o ./dist-chrome/app.css --watch\" \"tailwindcss -i ./src/app.css -o ./dist-firefox/app.css --watch\" \"node ./scripts/dev-server.mjs\"",
"typecheck": "tsc --noEmit",
"check": "npm run typecheck"
},
"dependencies": {
"@mariozechner/mini-lit": "^0.1.4",
"@mariozechner/pi-ai": "^0.5.43",
"lit": "^3.3.1",
"lucide": "^0.544.0",
"ollama": "^0.6.0"
},
"devDependencies": {
"@tailwindcss/cli": "^4.0.0-beta.14",
"@types/chrome": "^0.1.16",
"@types/webextension-polyfill": "^0.12.4",
"concurrently": "^9.2.1",
"esbuild": "^0.25.10",
"ws": "^8.18.0"
}
}