This guide will help you set up the Botnadzor Extension development environment on your local machine.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.
Prerequisites
Before you begin, ensure you have the following installed:- Node.js 24 or higher - Download from nodejs.org
- The exact version is specified in
.tool-versions, but any version ≥ 24.0 will work
- The exact version is specified in
- pnpm 10 or higher - Install with
npm install -g pnpmor follow the pnpm installation guide- The exact version is specified in
package.json→packageManager, but any version ≥ 10.0 will work
- The exact version is specified in
Installation
Clone the repository and install dependencies:Development Commands
Running in Development Mode
Start the extension in development mode with hot reload:- Automatically launch a clean browser instance
- Open a test page on VK.com
- Enable live reload when you make changes
- Output build files to the
dist/directory
dist/ directory into your main browser if desired.
Building for Production
Build optimized production bundles:dist/ directory and can be manually loaded into your browser.
Creating Distribution Packages
Package the extension into distributable ZIP files:Code Quality
Linting and Type Checking
Run all code quality checks:- ESLint - JavaScript/TypeScript linting
- Prettier - Code formatting
- TypeScript - Type checking
- knip - Unused code detection
- cspell - Spell checking
- pnpm dedupe - Dependency deduplication check
Individual Linters
You can run specific linters separately:Auto-fixing Issues
Automatically fix certain types of issues:pnpm fix:eslint- Auto-fix ESLint issuespnpm fix:prettier- Format code with Prettierpnpm fix:knip- Remove unused files and exportspnpm fix:pnpm-dedupe- Deduplicate dependencies
Testing
Run unit tests:System tests are not yet configured. Running
pnpm test or pnpm test:system will display a message indicating this.CI/CD
The project uses GitHub Actions for continuous integration. CI runs on:- All pull requests
- New commits to the
mainbranch
- build - Builds the extension for both Chrome and Firefox
- lint and test - Runs all linters and unit tests
pnpm lint locally before pushing will catch most issues that CI checks for.
Next Steps
Now that you have your development environment set up, learn about:- Architecture Overview - Understand the extension’s structure
- Contributing Guide - Learn how to contribute to the project