# Reporting Bugs and Contributing ## Reporting Bugs To report bugs and other issues, please file a [GitHub issue](https://github.com/jefflester/minitrino/issues). Issues should: - Contain any relevant log messages (if the bug relates to a command, running with the `-v` flag will make debugging easier) - Describe what the expected outcome is - Describe the proposed code fix (optional) ## Contributing Contributors have two options: 1. Fork the repository, then make a PR to merge your changes 1. If you have been added as a repository contributor, you can go with the method above or you can create a feature branch, then submit a PR for that feature branch when it is ready to be merged. In either case, please provide a comprehensive description of your changes with the PR. PRs will never be merged directly to `master`; they are merged into a release branch. To learn more about PR and release workflows, visit the [GitHub workflows overview](../dev/github-workflows). ### Development Environment Setup After forking or cloning the repository: 1. Run `make install` or `./install/src/install.sh` to set up the development environment 1. Dependencies are managed in `pyproject.toml` 1. Run `make pre-commit` to lint changes before committing All dependency updates are managed through Dependabot, which creates automated pull requests. Contributors should not manually update dependency versions unless addressing a specific security vulnerability or bug. ### Testing Requirements If your contribution modifies or adds modules to the library, you must add [library tests](../dev/cli-and-library-tests.md#library-tests) for all affected modules. If your contribution modifies the CLI, you must add [CLI tests](../dev/cli-and-library-tests.md#cli-tests) to ensure your changes work.