# Contributing

We welcome bug fixes, features, documentation, [donations](https://buymeacoffee.com/glasshoundcomputing), translations, and contributions that might make 
Wallypub a more helpful tool. 

## Opportunities 
Check the [OPPORTUNITIES](./OPPORTUNITIES.md) for contributions that would be immediately 
welcomed. 

## Bug Reports 

If you have found a bug, please [open a new issue](https://codeberg.org/fausty/wallypub/issues/new).

Describe the issue and attach the `debug.log` file which can be found in your `~/.local/share/Wallypub/` directory.

## Fixing Bugs & Adding Features 

Please fork wallypub and work off the `main` branch. 

## Commits 

Commits should adhere to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) specification. 

## Tests

While this does not seem to be standard practice across Python repos, it is preferred that unit tests live next to the file they are testing. 
For example `img/color.py` has its test living in the same folder under `img/color_test.py`. More intense tests can live in a dedicated `tests` folder
like regular Python tests files. 

## Use of Generative AI
This project does not allow contributions generated by large language models (LLMs). This includes but is not limited to tools like Cursor, ChatGPT, and Claude.
The [Gentoo policy](https://wiki.gentoo.org/wiki/Project:Council/AI_policy) appropriately lays out the concerns and rationale, but we will further add that generative AI
robs developers of the opportunity to learn and diminishes the comraderie of open-source development. While AI tools can be used to find information
and answer questions, we encourage perusing the [existing documentation](). Additionally, the maintainers of
this project would rather answer an earnest question from a new eager participant for the 10th time than have a chatbot provide
a response that looks correct but is subtly wrong.
