Thank you for your interest in contributing to Pingup! This document provides guidelines for contributing to this project.
By participating in this project, you agree to maintain a respectful and inclusive environment for everyone.
- Check if the bug has already been reported
- Use the bug report template
- Include steps to reproduce, expected behavior, and environment details
- Check the existing issues and discussions
- Use the feature request template
- Provide clear use cases and rationale
Use the following conventions:
feat/XXX-description- New featuresfix/XXX-description- Bug fixesspec/XXX-description- Feature specificationstest/XXX-description- Test implementationshotfix/XXX-description- Critical production fixes
Where XXX is the GitHub issue number.
- All tests must pass
- Linting must pass with no errors
- Tests are required for new features
- Follow the existing code style
- Update documentation when applicable
- Use the PR template
master
β
βββ> spec/XXX (Create specification)
β β
β βββ> Review & Approve
β
βββ> feat/XXX (Implement feature)
β β
β βββ> Code Review
β
βββ> test/XXX (Write tests)
β β
β βββ> Run Tests ββ> All Pass?
β β β
β No Yes
β β β
β v v
β Fix Tests Merge to master
β
βββ> Delete branch after merge
# Clone the repository
git clone https://github.com/Xflofoxx/pingup.git
cd pingup
# Install dependencies
cd server && bun install
cd ../agent && bun install
# Run migrations
cd server && bun run migrate
# Start development server
bun run dev
# Run tests
bun test
# Run linter
bun run lintAll new features must include tests. Run tests with:
# Server tests
cd server && bun test
# Agent tests
cd agent && bun test
# With coverage
cd server && bun run test:coverageThe project uses ESLint. Run linting with:
# Server
cd server && bun run lint
# Agent
cd agent && bun run lint
# Auto-fix
cd server && bun run lint:fixWhen making changes, add entries to the CHANGELOG.md under the [Unreleased] section:
## [Unreleased]
### Added
- New feature description (#issue)
### Changed
- Change description (#issue)
### Fixed
- Bug fix description (#issue)Use the following prefixes:
- Added - New features
- Changed - Existing functionality modifications
- Deprecated - Soon-to-be removed features
- Removed - Removed features
- Fixed - Bug fixes
- Security - Security improvements
Use clear, descriptive commit messages:
feat: add new featurefix: resolve issue with...docs: update documentationtest: add tests for...refactor: simplify...
- All PRs require at least one review
- Address feedback promptly
- Ensure all checks pass before merging
By contributing to Pingup, you agree that your contributions will be licensed under the MIT License.