Manifest V3 browser extension for remote script injection.
- Install dependencies:
bun install- Setup environment variables:
# Follow .env.example to create .env file with:
# CHROME_PATH= # overrides path to chromium-based browsers
# FIREFOX_PATH= # overrides path to the firefox browser
EXTENSION_MESSAGING_IDENTIFIER= # specifies messaging prefix for events- Start development:
bun dev├── entrypoints/
│ ├── popup/ # Next.js application pages and routes
│ │ ├── components/ # Reusable UI components
│ │ ├── screens/ # Components for different "pages"
│ │ ├── styles/ # Styling
│ │ ├── app.tsx # Main app
│ │ ├── index.html # WXT popup entrypoint
│ │ └── main.tsx # Solid.JS entrypoint
│ ├── background.ts # Event bridge
│ ├── content.ts # Sandboxed content script
│ └── main-world-injector.ts # Main world, registered content script
├── lib/
│ ├── interfaces/ # Well, interfaces
│ ├── messaging/ # Anything pertinent to events
│ ├── repo.ts # Provides a repository to work with script registries
│ └── storage.ts # Local extension storage using WXTs apis
└── wxt.config.ts # WXT + manifest.json config
-
Framework & Runtime
-
Styling & Design
-
Development Tools
bun run dev- Start development buildbun run build- Build production bundlebun run lint- Run Biome linterbun run lint:fix- Fix linting issues with Biomebun run commit- Interactive commit with conventional commit standards
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes using conventional commits (
bun run commit) - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project strives to be REUSE compliant.
Generally:
- Documentation is licensed under CC-BY-NC-SA-4.0
- Code is licensed under AGPL-3.0-or-later
- Config files are under CC0-1.0
Nibblet: manifest V3 browser extension for remote script injection.
Copyright (C) 2025 [email protected]
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
