First off, thank you for considering contributing to Local Browse Insights! It's people like you that make open-source software such a great community.
This extension is built on an absolute commitment to user privacy. Under no circumstances will any PR be accepted if it introduces:
- Telemetry or analytics (Google Analytics, Mixpanel, Sentry, etc.)
- External network requests to third-party APIs (unless strictly opt-in and explicitly required for a core feature)
- Remote script execution or
eval() - Exfiltration of user browsing history, settings, or rulesets
All processing, storage, and analysis must remain 100% on-device.
- Framework: Plasmo
- UI: React 18 & Vanilla CSS
- Database: Dexie.js (IndexedDB)
- Package Manager: Bun
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/local-web-analytics-extension.git cd local-web-analytics-extension - Install dependencies using Bun:
bun install
- Run the development server:
bun run dev
- Load the unpacked extension in Chrome from
build/chrome-mv3-dev.
- Create a new branch from
main(git checkout -b feature/amazing-feature). - Make your changes. Ensure your code follows the existing style and is strictly typed with TypeScript.
- Verify your changes don't introduce security vulnerabilities or violate the CSP.
- Run formatting and linting:
bun run lint bun x tsc --noEmit
- Commit your changes using Conventional Commits:
feat(dashboard): add new chart viewfix(tracking): resolve idle timeout bugdocs(readme): fix typo
- Push to your branch and open a Pull Request against the
mainbranch.
Please open an issue on GitHub using the provided issue templates. Make sure to check if a similar issue already exists before opening a new one!