Plugin Development Overview
Plugins are the way to add new panels and functionalities to React Native DevTools through Rozenite. They allow you to extend the DevTools with custom debugging tools, performance monitors, and development utilities.
What are Plugins?
Plugins are packages that integrate seamlessly with Rozenite to add custom panels and functionality to React Native DevTools. They provide a powerful way to extend the development experience with tools tailored to your specific needs.
Key Characteristics
- Production Ready: Tested and optimized for real-world use
- Type Safe: Built with full TypeScript support
- Well Documented: Comprehensive guides and examples
- Actively Maintained: Regular updates and bug fixes
How Plugins Work
Architecture Overview
Plugins consist of two main parts:
- React Native Side: Code that runs in your React Native app
- DevTools Side: UI components that appear in the DevTools interface
Communication Flow
React Native App ←→ Plugin Bridge ←→ DevTools Interface
- Event-based Communication: Plugins use a type-safe event system
- Real-time Updates: Changes in your app are reflected immediately in DevTools
- Bidirectional: Both sending data to DevTools and receiving commands from it
Plugin Structure
A typical plugin has this structure:
my-plugin/
├── src/
│ └── hello-world.tsx # Your DevTools panels
├── react-native.ts # React Native entry point
├── rozenite.config.ts # Plugin configuration
├── vite.config.ts # Build configuration
├── package.json # Dependencies and scripts
└── tsconfig.json # TypeScript configuration
Plugin Capabilities
What You Can Build
- Custom Debugging Tools: Create specialized debugging panels
- Performance Monitors: Track app performance metrics
- State Inspectors: Visualize and manipulate app state
- Network Tools: Monitor and analyze network requests
- Storage Inspectors: View and edit local storage
- Custom Analytics: Build development-time analytics tools
Technical Features
- React Native API Access: Leverage React Native APIs and libraries
- Type Safety: Full TypeScript support with compile-time checking
- Hot Reloading: See changes instantly during development
- Production Builds: Optimized builds for distribution
Getting Started
Ready to create your first plugin? Check out the Plugin Development Guide for a complete walkthrough, or explore the Official Plugins to see examples of what's possible.
Contributing
Want to contribute to the plugin ecosystem? We welcome contributions to both our maintained plugins and community plugins. Check out our Plugin Development Guide to learn how to create plugins, or reach out to the community to discuss your ideas.