130 lines
2.6 KiB
Markdown
130 lines
2.6 KiB
Markdown
# Contributing to Daily Notification Plugin
|
|
|
|
Thank you for your interest in contributing to the Daily Notification Plugin for Capacitor! This document provides guidelines and instructions for contributing.
|
|
|
|
## Development Setup
|
|
|
|
1. Fork the repository
|
|
2. Clone your fork:
|
|
|
|
```bash
|
|
git clone https://github.com/yourusername/capacitor-daily-notification.git
|
|
cd capacitor-daily-notification
|
|
```
|
|
|
|
3. Install dependencies:
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
4. Build the project:
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
## Development Guidelines
|
|
|
|
### Code Style
|
|
|
|
- Follow TypeScript best practices
|
|
- Use meaningful variable and function names
|
|
- Add JSDoc comments for public APIs
|
|
- Keep functions focused and single-purpose
|
|
- Maintain consistent indentation (2 spaces)
|
|
- Follow PEP 8 style guide for Python code
|
|
- Keep lines under 80 characters
|
|
|
|
### Testing
|
|
|
|
- Write unit tests for new features
|
|
- Update existing tests when modifying code
|
|
- Ensure all tests pass before submitting PR
|
|
- Add integration tests for complex features
|
|
- Test on both iOS and Android platforms
|
|
|
|
### Documentation
|
|
|
|
- Update README.md for significant changes
|
|
- Document new APIs in the code
|
|
- Update CHANGELOG.md for version changes
|
|
- Add examples for new features
|
|
- Keep documentation up to date
|
|
|
|
### Git Workflow
|
|
|
|
1. Create a feature branch:
|
|
|
|
```bash
|
|
git checkout -b feature/your-feature-name
|
|
```
|
|
|
|
2. Make your changes
|
|
3. Commit your changes:
|
|
|
|
```bash
|
|
git commit -m "feat: add your feature"
|
|
```
|
|
|
|
4. Push to your fork:
|
|
|
|
```bash
|
|
git push origin feature/your-feature-name
|
|
```
|
|
|
|
5. Create a Pull Request
|
|
|
|
### Commit Messages
|
|
|
|
Follow conventional commits format:
|
|
|
|
- `feat:` for new features
|
|
- `fix:` for bug fixes
|
|
- `docs:` for documentation changes
|
|
- `style:` for code style changes
|
|
- `refactor:` for code refactoring
|
|
- `test:` for adding tests
|
|
- `chore:` for maintenance tasks
|
|
|
|
Example:
|
|
|
|
```
|
|
feat: add timezone support for notifications
|
|
```
|
|
|
|
## Pull Request Process
|
|
|
|
1. Update the README.md with details of changes if needed
|
|
2. Update the CHANGELOG.md with a note describing your changes
|
|
3. Ensure all tests pass
|
|
4. Request review from maintainers
|
|
|
|
## Code Review Guidelines
|
|
|
|
- Review code for:
|
|
- Functionality
|
|
- Test coverage
|
|
- Documentation
|
|
- Code style
|
|
- Performance
|
|
- Security
|
|
|
|
## Release Process
|
|
|
|
1. Update version in package.json
|
|
2. Update CHANGELOG.md
|
|
3. Create a release tag
|
|
4. Build and test release
|
|
5. Publish to npm
|
|
|
|
## Support
|
|
|
|
- Open issues for bugs
|
|
- Use discussions for feature requests
|
|
- Join the community chat for questions
|
|
|
|
## License
|
|
|
|
By contributing, you agree that your contributions will be licensed under the project's MIT License.
|