We are thrilled that you're interested in contributing to BetterBahn! Every contribution, no matter how small, is valuable and greatly appreciated. These guidelines will help you understand the process.
This project and everyone participating in it is governed by our Code of Conduct. Please take a moment to read it. We expect all contributors to adhere to this code to ensure an open and welcoming environment.
There are many ways to contribute to the project. We welcome every form of support!
If you find a bug, we kindly ask you to proceed as follows:
- Search existing issues: Check under Issues to see if the bug has already been reported.
- Gather information: To help us fix the bug quickly, we need as much information as possible.
- The version of BetterBahn you are using.
- Your operating system and its version.
- A clear and concise description of the bug.
- Steps to reproduce the bug.
- What you expected to happen versus what actually happened.
- Any relevant error messages or screenshots.
- Create a new issue: If the bug hasn't been reported yet, create a new issue using our Bug Report Template.
Do you have an idea for a new feature or an enhancement?
- Search existing issues: Check if your idea has already been suggested under Issues.
- Create a new issue: Describe your idea in as much detail as possible using our Feature Request Template. Explain the problem your idea solves and why it would be useful for the project.
Code contributions are the heart of an open-source project. Here is the basic workflow for submitting a Pull Request (PR):
- Find or create an issue: Every PR should relate to an existing issue. If one doesn't exist, create one and briefly discuss the planned change with the maintainers.
- Fork the repository: Click the "Fork" button in the top-right corner of the project's GitHub page.
- Clone your fork locally:
git clone [https://github.com/YOUR-USERNAME/](https://github.com/YOUR-USERNAME/)betterbahn.git
- Create a new branch: Choose a descriptive name for your branch (e.g.,
feature/new-login-featureorfix/calculation-bug).git checkout -b feature/descriptive-name
- Make your changes: Implement your feature or fix the bug.
- Add tests: If you are adding a new feature, please include corresponding unit or integration tests.
- Run the tests (Not implemented yet!): Ensure that all tests pass successfully.
# Example command, adapt it for your project pnpm test
- Commit your changes: Write a clear and concise commit message (see Style Guides).
git add . git commit -m "feat: Add new login feature (closes #123)"
- Push your changes to your fork:
git push origin feature/descriptive-name
- Open a Pull Request: Go to your fork on GitHub and click "Compare & pull request".
- Choose the
mainbranch of the original project as the base branch. - Give your PR a descriptive title and a detailed description of your changes. Reference the related issue (e.g., "Closes #123").
- Choose the
- Wait for the review: The project maintainers will review your code and may leave feedback or request changes.
We follow the Conventional Commits specification. This helps us automate changelog generation and keeps the project history readable.
Each commit message should consist of a type, an optional scope, and a description:
<type>(<scope>): <description>
- feat: A new feature.
- fix: A bug fix.
- docs: Changes to the documentation.
- style: Code formatting, missing semicolons, etc. (no change in code logic).
- refactor: Code changes that neither fix a bug nor add a feature.
- test: Adding or correcting tests.
- chore: Changes to the build process or auxiliary tools.
Example: feat(auth): Implement OAuth2 authentication
Thank you for your contribution!