Thank you for your interest in contributing to Capfox! This document provides guidelines and instructions for contributing.
- Fork the repository and clone it locally
- Install Go 1.21+
- Install dependencies:
make deps
- Build the project:
make build
- Run tests:
make test
feature/β new featuresfix/β bug fixesdocs/β documentation updatesrefactor/β code refactoring
- Create a new branch from
main - Make your changes
- Run linting and tests:
make fmt vet lint test - Commit with clear messages
- Push and open a Pull Request
Use clear, descriptive commit messages:
Add support for per-IP rate limiting
- Implement token bucket algorithm
- Add cleanup routine for stale entries
- Add configuration options
- Follow standard Go conventions
- Run
make fmtbefore committing - Run
make lintto check for issues - Write tests for new functionality
# Run all tests
make test
# Run tests with coverage
make test-coverage
# Run specific package tests
go test -v ./internal/monitor/...- Update documentation if needed
- Add tests for new features
- Ensure all tests pass
- Update CHANGELOG if applicable
- Request review from maintainers
When reporting issues, please include:
- Go version (
go version) - OS and architecture
- Steps to reproduce
- Expected vs actual behavior
- Relevant logs or error messages
- Be respectful and inclusive
- Focus on constructive feedback
- Help others learn and grow
Open an issue with the question label or start a discussion.
Thank you for contributing! π¦