Thank you for your interest in contributing to Kala! This document provides guidelines and instructions for contributing.
-
Fork and clone the repository
git clone https://github.com/yourusername/kala.git cd kala -
Install dependencies
npm install
-
Start development
npm run dev
-
Load extension in browser
- Navigate to
chrome://extensions - Enable "Developer mode"
- Click "Load unpacked"
- Select the
dist/directory
- Navigate to
src/
├── background/ # Service Worker (Manifest V3)
├── content/ # Content Scripts
├── popup/ # React UI Components
└── shared/ # Shared utilities and types
- TypeScript: Strict mode enabled, full type safety
- Formatting: ESLint + Prettier
- Comments: JSDoc-style comments for all public APIs
- Naming: Clear, descriptive names following TypeScript conventions
# Run unit tests
npm test
# Run with coverage
npm test -- --coverage- Create a feature branch from
main - Make your changes with clear, descriptive commits
- Write or update tests as needed
- Ensure all tests pass
- Update documentation if needed
- Submit PR with clear description of changes
- Event processing: <2ms overhead
- Frame rate: Maintain 60 FPS
- Memory: <50MB baseline
- All security-related code must have JSDoc comments
- No sensitive data in logs (use Logger utility)
- Follow privacy-first principles
- Test against known trackers (BioCatch, BehavioSec, TypingDNA)
Open an issue for questions or discussions about contributions.