Contributing to Kat
Contributions to Kat are welcome and appreciated! This guide will help you get started with contributing to the project.
Getting Started
Prerequisites
- Go 1.15 or higher
- Git
- PostgreSQL (for testing)
Setting Up the Development Environment
# Clone the repository
git clone https://github.com/BolajiOlajide/kat.git
cd kat
# Install dependencies
go mod download
Development Workflow
- Fork the repository on GitHub
- Create your feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add some amazing feature'
- Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
Building Locally
To build Kat locally:
make build
This will create a binary in the current directory.
Running Tests
To run the tests:
make test
Make sure you have a PostgreSQL instance available for integration tests. You can configure the test database connection using environment variables.
Code Style
- Follow standard Go code formatting guidelines
- Run
go fmt ./...
before committing
Pull Request Process
- Update the README.md or documentation with details of changes if appropriate
- Update the version number in version files following Semantic Versioning
- Your PR will be reviewed by maintainers, who may request changes
- Once approved, your PR will be merged
Reporting Bugs
When reporting bugs, please include:
- A clear description of the issue
- Steps to reproduce
- Expected behavior
- Actual behavior
- Kat version and environment details
Feature Requests
Feature requests are welcome! Please provide:
- A clear description of the feature
- The problem it solves
- Any design ideas or considerations
Communication
- Use GitHub Issues for bug reports and feature requests
Releasing
Kat uses GoReleaser for building and publishing releases. Maintainers will handle the release process.
License
By contributing to Kat, you agree that your contributions will be licensed under the project’s Apache License 2.0.