Welcome to the comprehensive documentation for Floorp Browser. This documentation is created for developers and contributors to the Floorp project.
- Project Overview - Overall architecture and design philosophy of Floorp
- Directory Structure - Detailed explanation of project directory organization
- Technology Stack - Technologies and frameworks used
- Build System - Build pipeline and processing flow
- Development Environment Setup - How to set up the development environment
- Development Workflow - Daily development workflow
- Debugging & Testing - Debugging and testing methods
- Coding Standards - Code style and conventions
- Main Application - Main browser functionality
- Settings Application - Settings and preferences UI
- New Tab - New tab page
- Other Applications - Notes, welcome screen, etc.
- Solid-XUL - SolidJS and XUL integration
- Skin System - Theming and styling
- User Scripts - User script execution engine
- Shared Libraries - Common libraries and utilities
- Nora-Inject - Rust-based code injection system
- WebAssembly Integration - WASM module configuration and usage
- Performance Optimization - Rust-powered optimizations
- Gecko Integration - Integration with Firefox engine
- Patch System - Firefox patch application
- XUL and WebExtensions - UI extensions and browser APIs
- Build and Release - Production builds
- Installers - Platform-specific installers
- Distribution and Updates - Distribution methods and auto-updates
- Security Considerations - Security design and measures
- Code Injection Safety - Safe code injection implementation
- Update Mechanism - Secure update system
- Contribution Guide - How to contribute to the project
- Code Review - Code review process
- Issues and PRs - Issue and pull request management
-
Development Environment Setup
# Install Deno curl -fsSL https://deno.land/install.sh | sh # Clone repository git clone <repository-url> cd floorp # Install dependencies deno install
-
Start Development Server
# Start in development mode (hot reload enabled) deno task dev -
Build
# Build for production deno task build
Recommended technical knowledge for participating in Floorp development:
- TypeScript/JavaScript - Application development
- SolidJS - Reactive UI framework
- Rust - Performance-critical components (optional)
- Firefox/Gecko - Basic browser engine knowledge
- Deno - Runtime and build tools
If you need help:
- Discord: Official Discord Server
- GitHub Issues: Bug reports and feature requests
- GitHub Discussions: General questions and discussions
This project is licensed under the Mozilla Public License 2.0.
Note: This documentation is continuously updated. Please refer to individual section documents for the latest information.