Contributing

Thanks for contributing to Buffalo Wings. This project is hosted on Codeberg and uses a fork-and-pull-request workflow. Contributions to code, documentation, tests, examples, and release readiness are all welcome.

Ground Rules

  • Be respectful and constructive.

  • Keep changes focused and reasonably scoped.

  • Follow the repository Code of Conduct.

Where To Ask Questions Or Report Problems

Use the repository issue tracker for bug reports, feature requests, and questions.

Bug Reports

Please include:

  • what you expected to happen,

  • what actually happened,

  • steps to reproduce the problem,

  • environment details such as operating system and Python version,

  • and logs, tracebacks, or screenshots when they help explain the problem.

Suggestions Or Feature Requests

Please include:

  • the problem you are trying to solve,

  • why it matters,

  • a proposed solution or a small set of options,

  • and any important constraints such as API stability, performance, or dependencies.

Questions

If you are not sure whether something is a bug or a feature request, open an issue and describe what you are seeing.

Contribution Workflow Quickstart

This is the minimal workflow expected for most contributors. It assumes you are contributing through a fork on Codeberg and opening a pull request into the upstream main branch.

1. One-Time Setup

1.1. Fork The Repository On Codeberg

  • Open https://codeberg.org/BuffaloHerd/BuffaloWings.

  • Click Fork.

  • Choose your own account as the destination.

1.2. Clone Your Fork Locally

git clone https://codeberg.org/<your-username>/BuffaloWings.git
cd BuffaloWings

Add the upstream repository so you can stay in sync:

git remote add upstream https://codeberg.org/BuffaloHerd/BuffaloWings.git
git remote -v

If you are new to the repository itself, continue with Developer Onboarding.

2. Typical Pull Request Workflow

2.1. Sync Your Fork With Upstream

Before starting new work, update your local main branch:

git checkout main
git fetch upstream
git pull --ff-only upstream main
git push origin main

2.2. Create A Feature Branch

Do not work directly on main:

git checkout -b feature/<short-description>

Choose a branch name that briefly describes the work.

2.3. Make Changes And Run Checks

Add or update tests when behavior changes. Update docs and examples when public behavior changes.

Before opening a pull request, run the relevant checks locally. For substantial changes, start with:

./scripts/run_checks.sh

Use the contributor workflow docs for the more detailed day-to-day development loop:

2.4. Add A Towncrier Changelog Fragment

Most pull requests should include one changelog fragment under newsfragments/. See the Towncrier Workflow for Pull Requests for details.

2.5. Push Your Branch And Open A Pull Request

Push your branch to your fork:

git push -u origin feature/short-description

Then open a pull request on Codeberg with:

  • base repository: BuffaloHerd/BuffaloWings,

  • base branch: main,

  • head repository: your fork,

  • and compare branch: your feature branch.

Style / Quality Expectations

  • Keep public APIs stable unless you are intentionally changing them.

  • Update docstrings and documentation when public behavior changes.

  • Add or update tests when behavior changes.

  • Keep the repository checks passing.

Licensing

By contributing, you agree that your contributions will be licensed under the repository license.