Skip to content

Latest commit

 

History

History
116 lines (76 loc) · 4.24 KB

CONTRIBUTING.md

File metadata and controls

116 lines (76 loc) · 4.24 KB

Contributing to Stock Risk Analyzer

First off, thank you for considering contributing to Stock Risk Analyzer! It's people like you that make Stock Risk Analyzer such a great tool.

Code of Conduct

This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.

How Can I Contribute?

Reporting Bugs

This section guides you through submitting a bug report. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.

Before Submitting A Bug Report:

  • Check the issues to see if the bug has already been reported
  • Perform a cursory search to see if the problem has already been solved

How Do I Submit A (Good) Bug Report?

Bugs are tracked as GitHub issues. Create an issue and provide the following information:

  • Use a clear and descriptive title
  • Describe the exact steps to reproduce the problem
  • Provide specific examples to demonstrate the steps
  • Describe the behavior you observed after following the steps
  • Explain which behavior you expected to see instead and why
  • Include screenshots and animated GIFs if possible
  • Include your environment details (OS, Python version, package versions)

Suggesting Enhancements

This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality.

Before Submitting An Enhancement Suggestion:

  • Check if there's already a package which provides that enhancement
  • Check the issues for similar suggestions

How Do I Submit A (Good) Enhancement Suggestion?

Enhancement suggestions are tracked as GitHub issues. Create an issue and provide the following information:

  • Use a clear and descriptive title
  • Provide a step-by-step description of the suggested enhancement
  • Provide specific examples to demonstrate the steps
  • Describe the current behavior and explain the behavior you expected to see instead
  • Explain why this enhancement would be useful
  • List some other applications where this enhancement exists

Pull Requests

  1. Fork the repo and create your branch from main
  2. If you've added code that should be tested, add tests
  3. If you've changed APIs, update the documentation
  4. Ensure the test suite passes
  5. Make sure your code lints
  6. Issue that pull request!

Code Style

  • Follow PEP 8 guidelines
  • Use Black for code formatting
  • Write docstrings for all public methods and classes
  • Add type hints where possible

Testing

  • Write unit tests for all new code
  • Use pytest for testing
  • Maintain test coverage above 80%

Documentation

  • Update the README.md if needed
  • Add docstrings to new functions and classes
  • Update API documentation for new endpoints
  • Include examples in the documentation

Git Commit Messages

  • Use the present tense ("Add feature" not "Added feature")
  • Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally after the first line

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

By contributing, you agree that your contributions will be licensed under the MIT License.

Additional Notes

Issue and Pull Request Labels

  • bug: Something isn't working
  • enhancement: New feature or request
  • documentation: Improvements or additions to documentation
  • good first issue: Good for newcomers
  • help wanted: Extra attention is needed
  • question: Further information is requested

Where to Find More Information

Recognition

Contributors will be added to the CONTRIBUTORS.md file and mentioned in release notes.

Questions?

Feel free to contact the project maintainers.