Thank you for your interest in contributing to Template Electron! This document provides guidelines and instructions for contributing.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/template-electron.git
- Create a new branch:
git checkout -b feature/your-feature-name
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
Before submitting a pull request:
-
Type check your code:
npx tsc --noEmit
-
Build the project:
npm run build
-
Test the Electron app:
npm run electron:build
We follow conventional commit messages:
feat:- New featurefix:- Bug fixdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoringtest:- Adding or updating testschore:- Maintenance tasks
Example:
feat: add dark mode support
fix: resolve window positioning issue
docs: update installation instructions
- Update the README.md with details of changes if applicable
- Ensure all CI checks pass
- Update documentation for any new features
- Request review from maintainers
- Clear description of changes
- Reference any related issues
- All CI/CD checks must pass
- Code must be properly typed (TypeScript)
Currently, this template doesn't include a testing framework. When adding tests:
- Choose an appropriate testing framework (Jest, Vitest, etc.)
- Add tests for new features
- Ensure existing functionality isn't broken
npm run buildnpm run electron:build:win # Windows
npm run electron:build:mac # macOS
npm run electron:build:linux # LinuxReleases are automated through GitHub Actions:
- Update version in
package.json - Create and push a tag:
git tag v1.0.0 git push origin v1.0.0
- GitHub Actions will automatically build and create a release
When reporting bugs, please include:
- Clear description of the issue
- Steps to reproduce
- Expected behavior
- Actual behavior
- Screenshots if applicable
- Environment details (OS, Node version, etc.)
We welcome feature requests! Please:
- Check if the feature already exists
- Clearly describe the feature
- Explain the use case
- Consider implementation details
- Open an issue for bugs or questions
- Check existing issues before creating new ones
- Be respectful and constructive
By contributing, you agree that your contributions will be licensed under the MIT License.