{"id":16065220,"url":"https://github.com/shipkit-io/electron-bones","last_synced_at":"2025-03-16T08:32:14.863Z","repository":{"id":214928720,"uuid":"737699853","full_name":"shipkit-io/electron-bones","owner":"shipkit-io","description":"An opinionated boilerplate for Electron featuring Shadcn/ui, Typescript, and Tailwind. Based on Electron React Boilerplate.","archived":false,"fork":false,"pushed_at":"2025-01-28T13:55:01.000Z","size":53455,"stargazers_count":23,"open_issues_count":8,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-30T13:22:47.075Z","etag":null,"topics":["electron","javascript","linux","macos","react","shadcn","tailwindcss","typescript","windows"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shipkit-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"lacymorrow","patreon":"lacymorrow","open_collective":"crossover","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://www.buymeacoffee.com/lm"}},"created_at":"2024-01-01T06:13:51.000Z","updated_at":"2025-01-28T13:28:49.000Z","dependencies_parsed_at":"2025-02-07T23:36:33.611Z","dependency_job_id":null,"html_url":"https://github.com/shipkit-io/electron-bones","commit_stats":{"total_commits":1024,"total_committers":163,"mean_commits":6.282208588957055,"dds":0.783203125,"last_synced_commit":"deea775edc189f53c92d768482e848fbfa719d2f"},"previous_names":["lacymorrow/electron-shadcn-boilerplate","lacymorrow/electron-hotplate","shipkit-io/electron-bones"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shipkit-io%2Felectron-bones","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shipkit-io%2Felectron-bones/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shipkit-io%2Felectron-bones/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shipkit-io%2Felectron-bones/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shipkit-io","download_url":"https://codeload.github.com/shipkit-io/electron-bones/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243806070,"owners_count":20350775,"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":["electron","javascript","linux","macos","react","shadcn","tailwindcss","typescript","windows"],"created_at":"2024-10-09T05:11:59.080Z","updated_at":"2025-03-16T08:32:14.857Z","avatar_url":"https://github.com/shipkit-io.png","language":"TypeScript","funding_links":["https://github.com/sponsors/lacymorrow","https://patreon.com/lacymorrow","https://opencollective.com/crossover","https://www.buymeacoffee.com/lm"],"categories":["Boilerplates \u0026 Starters"],"sub_categories":[],"readme":"# Electron Bones 🔥\n\nA batteries-included Electron boilerplate with React, TypeScript, and more. Based on the [Electron React Boilerplate](https://github.com/electron-react-boilerplate/electron-react-boilerplate), this project includes a demo app showcasing basic functionality and inter-process communication between the main and renderer processes.\n\n\u003cdiv align=\"center\"\u003e\n\n[![Build Status][github-actions-status]][github-actions-url]\n[![Github Tag][github-tag-image]][github-tag-url]\n\n\u003c/div\u003e\n\n## ✨ Features\n\n- 🚀 React for the UI\n- 🖥️ Electron for cross-platform desktop app development\n- 📘 TypeScript for type-safe code\n- 🎨 TailwindCSS for styling\n- 🔌 Inter-process communication (IPC) between main and renderer processes\n- 🌍 Global context for state management\n- 🖼️ Multi-window support (main window and child window)\n- 🔔 App and System-wide Notifications\n- 🔄 Auto Updater\n- 💾 Built-in Store with electron-store\n- 🖱️ Context Menu\n- 🌙 Dark Mode\n- ❌ Error Handler\n- ⌨️ Keyboard Shortcut Manager\n- 📝 Logging\n- 🀱 Menu Bar for macOS, Windows, and Linux\n- 📂 Multi-Window\n- 🖥️ System Tray\n- 🎨 UI components from [Shadcn](https://ui.shadcn.com/)\n\n## 🚀 Getting Started\n\n1. Clone this repository\n\n   ```bash\n   git clone https://github.com/lacymorrow/electron-hotplate.git\n   ```\n\n2. Go into the repository\n\n   ```bash\n   cd electron-hotplate\n   ```\n\n3. Install dependencies\n\n   ```bash\n   npm install\n   ```\n\n4. Start the development server\n\n   ```bash\n   npm run start\n   ```\n\n## 📁 Project Structure\n\n- `src/main`: Contains the main process code\n- `src/renderer`: Contains the renderer process code (React components)\n- `src/config`: Contains configuration files\n- `src/utils`: Contains utility functions\n\n## 📜 Available Scripts\n\n- `npm run start`: Start the app in development mode\n- `npm run package`: Build the app for production\n- `npm run lint`: Run the linter\n- `npm run test`: Run tests\n\n## Production\n\n### Auto Update\n\nAfter publishing your first version, you can enable auto-update by uncommenting the `update` function contents in `src/main/auto-update.ts`.\n\n## Built With\n\n- [Electron](https://electronjs.org/)\n- [React](https://reactjs.org/)\n- [React Router](https://reacttraining.com/react-router/)\n- [Tailwind CSS](https://tailwindcss.com/)\n- [Shadcn](https://ui.shadcn.com/)\n- [TypeScript](https://www.typescriptlang.org/)\n\n## Development\n\n### Tailwind CSS\n\nWe use Tailwind CSS for styling. See the [Tailwind CSS docs](https://tailwindcss.com/docs) for more information.\n\nSome Tailwind plugins have been added for convenience:\n\n- [Tailwind Animate](https://github.com/jamiebuilds/tailwindcss-animate) - `tailwindcss-animate`\n- [Tailwind Container Queries](https://github.com/tailwindlabs/tailwindcss-container-queries) - `@tailwindcss/container-queries`\n- Child selectors to target immediate children like `child:w-xl`\n- Don't forget group selectors too: `group` (Parent) `group-hover:bg-gray-100` (Child)\n\n### Shadcn\n\nShadcn is a UI component library for React. See the [Shadcn docs](https://ui.shadcn.com/) for more information.\nUse `npx shadcn@latest add button ...` to add a component to your project.\n\n_Current installation command (to update all ui components):_\n\n```sh\nnpx shadcn@latest add button checkbox dropdown-menu form input menubar radio-group scroll-area select separator sonner switch textarea\n```\n\n_To list components with updates: `npx shadcn@latest diff`_\n\nBased on the [Electron React Boilerplate](https://github.com/electron-react-boilerplate/electron-react-boilerplate), this boilerplate adds UI components from [Shadcn](https://ui.shadcn.com/), styling with [Tailwind CSS](https://tailwindcss.com/), persistance with [electron-store](https://github.com/sindresorhus/electron-store), and a structured [React](https://react.dev/) context that promotes a data flow from the top down: Main process -\u003e Renderer process.\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![Build Status][github-actions-status]][github-actions-url]\n[![Github Tag][github-tag-image]][github-tag-url]\n\n\u003c/div\u003e\n\n## Features\n\n- 💬 App and System-wide Notifications\n- 🏃‍♂️ Auto Updater\n- 📦 Built-in Store\n- 🖱️ Context Menu\n- 🌙 Dark Mode\n- ❌ Error Handler\n- ⌨️ Keyboard Shortcut Manager\n- 📝 Logging\n- 🀱 Menu Bar for macOS, Windows, and Linux\n- 📂 Multi-Window\n- 🖥️ System Tray\n\n## Getting Started\n\n```bash\n\n# Clone this repository\ngit clone https://github.com/lacymorrow/electron-hotplate.git\n\n# Go into the repository\ncd electron-hotplate\n\n# Install dependencies\nyarn\n\n# Run the app\nyarn start\n```\n\n## Production\n\n### Auto Update\n\nAfter publishing your first version, you can enable auto-update by uncommenting the `update` function contents in `src/main/auto-update.ts`.\n\n## BuiltWith\n\n- [Electron](https://electronjs.org/)\n- [React](https://reactjs.org/)\n- [React Router](https://reacttraining.com/react-router/)\n- [Tailwind CSS](https://tailwindcss.com/)\n- [Shadcn](https://ui.shadcn.com/)\n- [TypeScript](https://www.typescriptlang.org/)\n\n## Development\n\n### Tailwind CSS\n\nWe use Tailwind CSS for styling. See the [Tailwind CSS docs](https://tailwindcss.com/docs) for more information.\n\nSome Tailwind plugins have been added for convenience:\n\n- [Tailwind Animate](https://github.com/jamiebuilds/tailwindcss-animate) - `tailwindcss-animate`\n- [Tailwind Container Queries](https://github.com/tailwindlabs/tailwindcss-container-queries) - `@tailwindcss/container-queries`\n- Child selectors to target immediate children like `child:w-xl`\n- Don't forget group selectors too: `group` (Parent) `group-hover:bg-gray-100` (Child)\n\n### Shadcn\n\nShadcn is a UI component library for React. See the [Shadcn docs](https://ui.shadcn.com/) for more information.\nUse `npx shadcn-ui@latest add accordion ...` to add a component to your project.\n\n_Current installation command (to update all ui components):_\n\n```sh\nnpx shadcn-ui@latest add button checkbox dropdown-menu form input menubar radio-group scroll-area select separator sonner switch textarea\n```\n\n_To list components with updates: `npx shadcn-ui@latest diff`_\n\n### Build for production\n\n```sh\nnpm run package\n```\n\n#### Important Notes\n\n- The `src/main/auto-update.ts` file is where the auto-updater is configured. Uncomment the `update` function to enable auto-update after publishing your first version.\n- The app icon will **ALWAYS** be the default Electron icon in development. You will need to build the app with `npm run package` to get a new icon.\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n### Electron-React-Boilerplate\n\nSee the Electron React Boilerplate [docs and guides here](https://electron-react-boilerplate.js.org/docs/installation)\n\n#### Tutorials\n\n- Creating multiple windows: \u003chttps://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/623#issuecomment-1382717291\u003e\n\n## 📄 License\n\nThis project is licensed under the CC-BY-NC-SA-4.0 License.\n\n[github-actions-status]: https://github.com/lacymorrow/electron-shadcn-boilerplate/workflows/Build/badge.svg\n[github-actions-url]: https://github.com/lacymorrow/electron-shadcn-boilerplate/actions\n[github-tag-image]: https://img.shields.io/github/tag/electron-react-boilerplate/electron-react-boilerplate.svg?label=version\n[github-tag-url]: https://github.com/lacymorrow/electron-shadcn-boilerplate/releases/latest\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshipkit-io%2Felectron-bones","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshipkit-io%2Felectron-bones","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshipkit-io%2Felectron-bones/lists"}