Thank you for your interest in contributing to the Botnadzor Extension! This guide will help you get started with contributing to the project.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/botnadzor/extension/llms.txt
Use this file to discover all available pages before exploring further.
Getting Help
If you have questions about the project or need assistance:- Visit botnadzor.org/docs for general information about Botnadzor
- Use the Telegram bot @botnadzor_org_bot if the website is unavailable
- Check existing GitHub issues for similar questions or problems
Ways to Contribute
Reporting Issues
If you find a bug or want to suggest an improvement:- Check if an issue already exists
- If not, create a new issue with:
- A clear, descriptive title
- Detailed description of the problem or suggestion
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Browser version and extension version
Contributing Code
Fork and clone the repository
Fork the botnadzor/extension repository and clone it to your local machine.
Set up your development environment
Install the required dependencies:
- Node.js 24 (or any version ≥ 24.0)
- pnpm 10 (or any version ≥ 10.0)
Make your changes
Make your code changes following the code conventions.Test your changes locally:The development server will automatically launch a clean browser instance and open a VK test page.
Run tests and linting
Before submitting your changes, ensure all checks pass:You can automatically fix many issues with:
Commit your changes
Write clear, descriptive commit messages that explain the “why” behind your changes.
Code Review Process
Once you submit a pull request:-
Automated checks will run via GitHub Actions:
- Build verification (Chrome and Firefox)
- All linters (ESLint, Prettier, TypeScript, knip, cspell, pnpm dedupe)
- Unit tests
-
Manual review by maintainers who will:
- Review your code for quality and adherence to conventions
- Test functionality in both Chrome and Firefox
- Provide feedback or request changes
- Iteration: Address any feedback and push additional commits
-
Merge: Once approved, your PR will be merged into the
mainbranch
Development Workflow
Local Development
The extension supports hot reloading during development:dist/ directory and can be manually loaded into your browser if needed.
Building for Production
Available Scripts
See the complete list of scripts in Testing.Architecture Overview
The Botnadzor Extension is built with:- WXT - Modern web extension framework
- React 19 - UI framework with React Compiler
- TypeScript - Type safety
- TailwindCSS - Styling
- Shadcn UI / Radix UI - UI components
- Zod - Schema validation
- Dexie - IndexedDB wrapper
- ORPC - Type-safe RPC
- Lucide - Icons
Entry Points
The extension has three main entry points:- Background (service worker) - Registers services, manages data and configuration
- Content script - Modifies DOM on VK pages through the insertion system
- Popup - Extension menu with settings, announcements, and statistics
@webext-core/proxy-service.
For detailed architecture information, see AGENTS.md.