{"id":29042442,"url":"https://github.com/flaviodelgrosso/reactronite","last_synced_at":"2025-06-26T15:32:04.413Z","repository":{"id":195219757,"uuid":"692489740","full_name":"flaviodelgrosso/reactronite","owner":"flaviodelgrosso","description":"A modern, feature-rich Electron kit for building cross-platform desktop applications ✨ 🚀","archived":false,"fork":false,"pushed_at":"2025-06-17T22:43:52.000Z","size":10641,"stargazers_count":37,"open_issues_count":1,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-17T23:31:08.821Z","etag":null,"topics":["boilerplate","chromium","desktop-app","electron","electron-forge","react","starter-kit","template","vitejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flaviodelgrosso.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-09-16T16:30:00.000Z","updated_at":"2025-06-17T22:43:56.000Z","dependencies_parsed_at":"2024-05-29T08:43:33.769Z","dependency_job_id":"3ed307b6-b0da-4bad-96b0-85b2aca74b60","html_url":"https://github.com/flaviodelgrosso/reactronite","commit_stats":null,"previous_names":["flaviodelgrosso/electron-forge-react-vite-boilerplate","flaviodelgrosso/reactronite"],"tags_count":6,"template":true,"template_full_name":null,"purl":"pkg:github/flaviodelgrosso/reactronite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaviodelgrosso%2Freactronite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaviodelgrosso%2Freactronite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaviodelgrosso%2Freactronite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaviodelgrosso%2Freactronite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flaviodelgrosso","download_url":"https://codeload.github.com/flaviodelgrosso/reactronite/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaviodelgrosso%2Freactronite/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262094193,"owners_count":23257908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate","chromium","desktop-app","electron","electron-forge","react","starter-kit","template","vitejs"],"created_at":"2025-06-26T15:30:50.995Z","updated_at":"2025-06-26T15:32:04.402Z","avatar_url":"https://github.com/flaviodelgrosso.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚛ Reactronite ⚛\n\n\u003cdiv align=\"center\"\u003e\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=flat\u0026logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n[![React](https://img.shields.io/badge/React-20232A?style=flat\u0026logo=react\u0026logoColor=61DAFB)](https://reactjs.org/)\n[![Electron](https://img.shields.io/badge/Electron-191970?style=flat\u0026logo=Electron\u0026logoColor=white)](https://electronjs.org/)\n[![Vite](https://img.shields.io/badge/Vite-646CFF?style=flat\u0026logo=vite\u0026logoColor=white)](https://vitejs.dev/)\n\n**A modern, feature-rich Electron kit for building cross-platform desktop applications with React and Vite**\n\n[Features](#-features) • [Quick Start](#-quick-start) • [Configuration](#-configuration) • [Contributing](#-contributing)\n\n\u003c/div\u003e\n\n![Windows Screenshot](./screenshots/window-win.png)\n![macOS Screenshot](./screenshots/window-mac.png)\n\n---\n\n## 🎯 Overview\n\nThe **Reactronite** is your ultimate starting point for creating modern, performant desktop applications. This carefully crafted template combines the power of Electron with the speed of Vite, the flexibility of React, and the safety of TypeScript to deliver an exceptional development experience.\n\n### Why This Kit?\n\n- 🏗️ **Production-Ready Architecture** - Clean, scalable project structure with separation of concerns\n- ⚡ **Lightning Fast Development** - Hot Module Replacement (HMR) with Vite for instant feedback\n- 🎨 **Native Desktop Experience** - Custom titlebar and native-feeling UI components\n- 🛡️ **Type Safety First** - Full TypeScript support with strict type checking\n- 🔧 **Developer Experience** - Pre-configured linting, formatting, and git hooks\n- 📦 **Zero Configuration** - Ready to code out of the box with sensible defaults\n\n## ✨ Features\n\n### 🎨 **User Interface \u0026 Experience**\n\n- **Custom Titlebar** - Native-looking titlebar with integrated window controls\n- **Responsive Design** - Adaptive layouts that work across different screen sizes\n- **Modern Styling** - TailwindCSS v4 styling system with theme support\n- **Cross-Platform Consistency** - Unified experience across Windows, macOS, and Linux\n\n### 🔧 **Development Tools**\n\n- **Hot Module Replacement** - Instant updates during development\n- **TypeScript Integration** - Full type safety with excellent IntelliSense support\n- **Code Quality Tools** - Integrated ESLint and [neostandard](https://github.com/neostandard/neostandard) for linting\n- **Git Hooks** - Automated code quality checks with Husky\n- **Path Mapping** - Clean imports with TypeScript path resolution\n\n### 🏗️ **Architecture \u0026 Security**\n\n- **Secure IPC Communication** - Safe main-renderer process communication\n- **Context Isolation** - Properly isolated preload scripts\n- **Window State Management** - Remembers window size, position, and state\n- **Auto-updater Ready** - Built with Electron Forge for easy distribution\n\n### 📦 **Build \u0026 Distribution**\n\n- **Multi-Platform Building** - Build for Windows, macOS, and Linux from any platform\n- **Optimized Bundles** - Tree-shaking and code splitting for smaller app sizes\n- **Auto-Packaging** - One-command building and packaging\n- **Distribution Ready** - Pre-configured makers for various package formats\n\n## 🚀 Quick Start\n\n### Prerequisites\n\nMake sure you have the following installed:\n\n- **Node.js** (LTS or higher)\n- **pnpm** (v10 or higher) - This project uses pnpm as the package manager\n\n### Installation\n\n1. **Clone the repository**\n\n   ```bash\n   git clone https://github.com/flaviodelgrosso/reactronite.git\n   cd reactronite\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   pnpm install\n   ```\n\n3. **Start development**\n\n   ```bash\n   pnpm dev\n   ```\n\nThat's it! Your application will launch in development mode with hot reloading enabled.\n\n### Available Scripts\n\n| Command | Description |\n|---------|-------------|\n| `pnpm dev` | Start the app in development mode with hot reloading |\n| `pnpm package` | Package the app for the current platform |\n| `pnpm make` | Create distributable packages for the current platform |\n| `pnpm publish` | Publish the app (configure publishers in forge.config.ts) |\n\n## 📁 Project Structure\n\n```txt\n├── src/\n│   ├── main.ts              # Main Electron process\n│   ├── preload.ts           # Preload script for secure IPC\n│   ├── app/                  # React application\n│   │   ├── App.tsx          # Main app component\n│   │   ├── components/      # Reusable UI components\n│   │   ├── screens/         # Application screens/pages\n│   ├── menu/                # Application menu configuration\n│   ├── ipc/                 # IPC handlers and channels\n│   └── @types/              # TypeScript declarations\n├── config/                  # Vite configuration files\n├── assets/                  # Static assets (icons, fonts, images)\n```\n\n## 🔧 Configuration\n\n### Customizing the Build\n\nThe project uses Electron Forge for building and packaging. You can customize the build process by modifying:\n\n- **`forge.config.ts`** - Main Forge configuration\n- **`config/vite.*.config.ts`** - Vite configurations for different processes\n- **`package.json`** - Scripts and metadata\n\n### Adding New Features\n\nThe boilerplate is designed to be easily extensible:\n\n1. **New UI Components** - Add to `src/app/components/`\n2. **New Screens** - Add to `src/app/screens/`\n3. **IPC Channels** - Define in `src/channels/` and handle in `src/ipc/`\n4. **Styling** - Use TailwindCSS classes in your components or create custom styles in `src/app/styles/`\n\n## 🤝 Contributing\n\nWe love contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details on:\n\n- 📋 Code of Conduct\n- 🐛 Bug Reports\n- 💡 Feature Requests\n- 🔧 Development Setup\n- 📝 Pull Request Process\n\n## 📄 License\n\nThis project is licensed under the [MIT License](./LICENSE) - feel free to use it for your own projects!\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**[⭐ Star this repo](https://github.com/flaviodelgrosso/reactronite)** if you found it helpful!\n\nMade with ❤️ by [Flavio Del Grosso](https://github.com/flaviodelgrosso)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflaviodelgrosso%2Freactronite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflaviodelgrosso%2Freactronite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflaviodelgrosso%2Freactronite/lists"}