Developer Guide Introduction
Comprehensive guide for developers working on BetterSEQTA-Plus
Welcome to BetterSEQTA-Plus Development
This developer guide provides comprehensive documentation for contributing to BetterSEQTA-Plus, understanding its architecture, and extending its functionality.
What is BetterSEQTA-Plus?
BetterSEQTA-Plus is a browser extension that enhances SEQTA Learn with:
- Frontend: JavaScript/TypeScript with modern web APIs
- Framework: Browser Extension APIs (Chrome, Firefox, Safari)
- Styling: CSS with custom theme system
- Build: Webpack/Vite for bundling
Architecture Overview
BetterSEQTA-Plus follows a browser extension architecture:
Technology Stack
Core Technologies
- JavaScript/TypeScript: Main programming language
- Browser Extension APIs: Chrome, Firefox, Safari APIs
- CSS: Styling and theming
- HTML: UI templates
Build Tools
- Webpack/Vite: Module bundling
- TypeScript: Type checking
- ESLint: Code linting
- Prettier: Code formatting
Project Structure
Key Concepts
Content Scripts
Content scripts run in the context of web pages:
Background Scripts
Background scripts handle extension logic:
Message Passing
Communication between scripts:
Development Workflow
Getting Started
- Clone Repository
- Install Dependencies
- Build Extension
- Load in Browser
- Chrome:
chrome://extensions/→ Load unpacked - Firefox:
about:debugging→ Load Temporary Add-on
- Chrome:
Development Commands
npm run dev: Watch mode for developmentnpm run build: Build for productionnpm run lint: Lint codenpm run typecheck: TypeScript type checking
Contributing
Before You Start
- Check existing issues and PRs
- Discuss major changes in issues first
- Follow the code style guide
- Write tests for new features
Pull Request Process
- Fork the repository
- Create a feature branch
- Make your changes
- Write/update tests
- Update documentation
- Submit PR with description
Documentation
- User Guide: How to use BetterSEQTA-Plus
- Developer Guide: This guide
- API Reference: Extension APIs and utilities
- Architecture Docs: System design and patterns
Getting Help
- GitHub Issues: Report bugs and request features
- Discord: Join the community Discord
- Documentation: Read the docs
- Code Comments: Check inline documentation
Next Steps
Continue reading to learn about:
- Development Setup - Detailed setup instructions
- Architecture - System architecture
- Content Scripts - Page enhancement
- Background Scripts - Extension logic
- Adding Features - How to add new features