Universal super app (Web + Electron) with plugin architecture and integrated Conda for effortless AI development.
A modern, extensible desktop application built with Electron and React that provides a plugin-based ecosystem for running mini-applications. Designed with AI development in mind, featuring a secure sandbox environment and comprehensive plugin management system.
Plugin Manager interface showing Counter Plugin and Todo Plugin running in sandboxed windows
- Cross-Platform Desktop App - Built with Electron for Windows, macOS, and Linux
- Modern Web Technologies - React 19, TypeScript, Vite, and Ant Design
- Dual Runtime - Works as both web application and desktop app
- Dark/Light Theme - Comprehensive theming system with user preferences
- Secure Sandbox Environment - Isolated plugin execution with controlled permissions
- Plugin Manager - Install, manage, and configure plugins with ease
- Developer Console - Built-in debugging and development tools
- Plugin Marketplace - Discover and install community plugins
- Hot Reload - Development-friendly plugin loading and testing
- Permission-Based Access - Granular control over plugin capabilities
- Content Security Policy - Strict security policies for plugin isolation
- Sandboxed Execution - Plugins run in isolated environments
- Verified Plugins - Plugin verification and trust system
- SQLite Database - Local data storage with Prisma ORM
- User Management - Multi-user support with preferences
- Plugin Storage API - Persistent storage for plugin data
- Settings Management - Centralized configuration system
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Electron Main Process โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Plugin Manager โ Security Manager โ Database Service โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ React Frontend App โ
โ Dashboard โ Marketplace โ Plugin Manager โ Settings โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Plugin Sandbox Layer โ
โ Isolated Plugin Instances with Controlled API โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Data & Storage Layer โ
โ Prisma ORM + SQLite + Plugin Storage โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- React 19 - Modern React with hooks and concurrent features
- TypeScript 5 - Type-safe development
- Vite 7 - Fast build tool and development server
- Ant Design 5 - Professional UI component library
- Zustand - Lightweight state management
- React Router - Client-side routing
- Electron 38 - Cross-platform desktop framework
- Node.js - Server-side JavaScript runtime
- Express - Web application framework
- Prisma - Modern database toolkit and ORM
- SQLite - Embedded database
- Vite - Build tool with HMR support
- Electron Builder - Application packaging
- Vitest - Unit testing framework
- ESLint - Code linting and formatting
- Tailwind CSS - Utility-first CSS framework
- Node.js 18+
- npm or yarn
- Git
-
Clone the repository
git clone <repository-url> cd electron-conda
-
Install dependencies
npm install
-
Set up the database
npm run db:generate npm run db:push npm run db:seed
-
Start development server
npm run dev
The application will start with:
- Main app running on
http://localhost:5173
- Electron desktop app launching automatically
- Hot reload enabled for development
Development Mode:
npm run dev # Start both web and electron in development
npm run client:dev # Start only the web version
npm run electron:dev # Start only the electron version
Production Build:
npm run build # Build for production
npm run electron:build # Build electron app
Database Operations:
npm run db:studio # Open Prisma Studio
npm run db:seed # Seed database with sample data
- Create a new plugin directory in
/plugins/
- Add a
package.json
with plugin manifest - Develop your plugin using HTML, CSS, and JavaScript
- Use the Plugin API for storage, notifications, and more
- Test in the Developer Console
Example plugin structure:
plugins/my-plugin/
โโโ package.json # Plugin manifest
โโโ index.html # Entry point
โโโ script.js # Plugin logic
โโโ styles.css # Plugin styles
โโโ icon.svg # Plugin icon
- Storage API - Persistent key-value storage
- Notifications API - System notifications
- Network API - HTTP requests (with permissions)
- Filesystem API - Limited file operations
- Window API - Window management and configuration
- Counter Plugin - Simple counter with persistent storage
- Todo Plugin - Task management with React and modern UI
{
"permissions": [
"storage", // Access to plugin storage
"notifications", // Show system notifications
"network", // Make HTTP requests
"filesystem" // Limited file system access
]
}
npm test # Run all tests
npm run test:ui # Run tests with UI
npm run test:unit # Run unit tests only
npm run test:integration # Run integration tests
Comprehensive documentation is available in the .trae/documents/
directory:
- Technical Architecture - System design and architecture
- Plugin Development Guide - Complete plugin development reference
- Plugin API Reference - API documentation
- Plugin Examples - Sample plugins and templates
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Conda Integration - Seamless Python environment management
- AI/ML Plugin Templates - Pre-built templates for AI development
- Plugin Store - Online marketplace for plugin distribution
- Cloud Sync - Synchronize plugins and data across devices
- Plugin Analytics - Usage analytics and performance monitoring
- Advanced Security - Enhanced plugin sandboxing and verification
- Documentation - Check the
/docs
directory - Issues - Report bugs and request features via GitHub Issues
- Developer Console - Use the built-in debugging tools
- Community - Join our community discussions
Built with โค๏ธ for the developer community