Thank you for considering contributing to WebStats! We welcome contributions from everyone. Here's how you can help.
By participating in this project, you agree to abide by our Code of Conduct. Please be respectful and constructive in all interactions.
- Search existing issues - Check if the bug has already been reported
- Create a new issue - Include:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Environment details (Node.js version, OS, etc.)
- Screenshots if applicable
- Check existing suggestions - Look for similar feature requests
- Create a feature request - Include:
- Clear description of the feature
- Use cases and benefits
- Potential implementation approaches
- Any relevant examples
- Fix typos and grammatical errors
- Clarify confusing sections
- Add examples and tutorials
- Improve API documentation
# Fork the repository
# Clone your fork
git clone https://github.com/YOUR_USERNAME/webstats.git
cd webstats
# Install dependencies
pnpm install
# Create a new branch
git checkout -b feature/your-feature-name- Create a feature branch from
main - Make your changes following code standards
- Test your changes thoroughly
- Commit your changes with clear commit messages
- Push to your fork and create a pull request
- Follow existing code style and patterns
- Write clear, descriptive commit messages
- Include tests for new functionality
- Update documentation as needed
- Keep pull requests focused on a single issue/feature
- Use strict TypeScript settings
- Include JSDoc for exported functions
- Follow established naming conventions
- Handle errors appropriately
- Maintain terminal-core aesthetic
- Ensure responsive design
- Follow accessibility best practices
- Keep user experience intuitive
- Test manually since no automated tests exist yet
- Verify data generation and display
- Check cross-browser compatibility
- Test on different screen sizes
- Ensure your PR description clearly describes the problem and solution
- Include any relevant issue numbers
- Follow the template provided
- Make sure all tests pass (manual verification for now)
- Request review from maintainers
## Summary
- Brief description of changes
- Related issues (if any)
## Changes Made
- List of changes
- New features or fixes
## Testing
- How changes were tested
- Test results
- Node.js (v18+)
- pnpm package manager
- Git
- Text editor or IDE
# Install dependencies
pnpm install
# Start development servers
pnpm dev
# Build the project
pnpm build
# Run monitoring locally
node apps/runner/dist/index.js- Automated testing implementation
- Additional monitoring protocols (TCP, DNS, SSL)
- Advanced alerting systems
- Mobile app development
- Internationalization support
- Dashboard customization
- Advanced analytics
- Multi-location monitoring
- Integration with notification services
- API for external integrations
- Use present tense ("Add feature" not "Added feature")
- Use imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit first line to 72 characters
- Reference issues and pull requests after a blank line
- Use PascalCase for classes and interfaces
- Use camelCase for variables and functions
- Use UPPER_SNAKE_CASE for constants
- Include type annotations where beneficial
- Use Markdown for documentation
- Keep sentences short and clear
- Use active voice
- Include code examples where helpful
- Check the documentation first
- Search existing issues
- Create a new issue for help requests
- GitHub Discussions (when available)
- Issue comments for specific topics
- Email for sensitive matters
Contributors will be recognized in:
- Release notes
- Contributors list
- README acknowledgment
- GitHub contributors graph
Thank you for contributing to WebStats! Your efforts help make this project better for everyone.