Skip to content

Latest commit

 

History

History
66 lines (46 loc) · 1.55 KB

File metadata and controls

66 lines (46 loc) · 1.55 KB

Contributing

Contributions are welcome!

If you'd like to add new exported APIs, please open an issue describing your proposal first. Discussing API changes ahead of time makes pull request review much smoother.

Setup

  1. Fork the repository
  2. Clone your fork:
git clone git@github.com:your_github_username/sets.git
cd sets
git remote add upstream https://github.com/kkhmel/sets.git
git fetch upstream

Making Changes

  1. Create a new branch for your changes:
git checkout main
git fetch upstream
git rebase upstream/main
git checkout -b feature/amazing-feature
  1. Make your changes.

  2. Run tests and linters locally:

make lint
make test
make cover # 100% code coverage is required
  1. Commit your changes with a descriptive message:
git commit -m 'Add amazing feature'
  1. Push to your fork:
git push origin feature/amazing-feature
  1. Open a Pull Request via the GitHub UI.

Quality Requirements

Your pull request will be automatically tested by GitHub Actions, which verify:

  • Compatibility: Code must work on Go 1.23 and latest stable version
  • Dependencies: No external dependencies allowed (stdlib only)
  • Linting: Code must pass golangci-lint checks
  • Tests: All tests must pass (including race detector)
  • Coverage: 100% code coverage is required