Skip to content

Latest commit

 

History

History
80 lines (53 loc) · 1.94 KB

File metadata and controls

80 lines (53 loc) · 1.94 KB

Contributing to Constava

Contributions of all kinds are welcome: bug reports, documentation improvements, feature requests, and code changes.

Please read the guidelines below to make the contribution process smooth for everyone.


How to Contribute

Reporting Bugs

If you find a bug, please open an issue and include:

  • A clear and descriptive title
  • Steps to reproduce the issue
  • Expected and actual behavior
  • Your environment (OS, Python version, Constava version)

If possible, include a minimal example or traceback.

Suggesting Enhancements

Feature requests and improvements are welcome.
When opening an issue, try to explain:

  • The problem you are trying to solve
  • Why the current behavior is insufficient
  • Any alternative solutions you have considered

Development Setup

  1. Fork the repository and clone your fork.

  2. Create a virtual environment.

  3. Install dependencies:

    pip install -r requirements.txt
    pip install -e .
  4. Run the test suite to ensure everything works:

    constava test

Making Changes

  1. Create a new branch for your changes.
  2. Keep commits focused and atomic.
  3. Write or update tests when changing behavior.
  4. Update documentation if your change affects public APIs or CLI usage.

Code Style

  1. Follow standard Python conventions (PEP 8).
  2. Keep code readable and well-documented.
  3. Avoid unnecessary complexity; clarity beats cleverness.

Testing

All changes should pass the test suite before submission:

constava test

Pull requests that break tests will not be merged.

Submitting a Pull Request

  1. Open a pull request against the default branch.
  2. Clearly describe what the PR does and why it is needed.
  3. Link related issues where applicable.
  4. Be prepared to revise your PR based on review feedback.

Code of Conduct

This project follows a Code of Conduct. By participating, you are expected to uphold it in all interactions.