Skip to content

Latest commit

 

History

History
97 lines (73 loc) · 2.72 KB

CONTRIBUTING.md

File metadata and controls

97 lines (73 loc) · 2.72 KB

Contributing Guidelines

Thank you for your interest in contributing to our project! This guide will help you understand our development process and how you can participate effectively.

Getting Started

  1. Fork the repository and clone it locally
  2. Set up your development environment following the instructions in our README
  3. Create a new branch for your work: git checkout -b feature/your-feature-name

Code Standards

General Guidelines

  • Keep your code clean, readable, and well-documented
  • Write meaningful commit messages following conventional commits format
  • Add tests for new features
  • Update documentation when necessary
  • Follow the principle of single responsibility

Language-Specific Guidelines

Python

  • Follow PEP 8 style guide
  • Use type hints for function parameters and return values
  • Use docstrings for functions and classes
  • Maximum line length: 88 characters
  • Use black for code formatting
  • Run pylint for code quality checks

JavaScript/TypeScript

  • Follow ESLint configuration
  • Use TypeScript for new features when possible
  • Follow functional programming principles
  • Use async/await instead of raw promises
  • Maximum line length: 80 characters

Java

  • Follow Google Java Style Guide
  • Use Maven for dependency management
  • Write JavaDoc for public methods
  • Maximum line length: 100 characters
  • Use meaningful exception handling

Pull Request Process

  1. Before Submitting

    • Ensure all tests pass
    • Run linting tools
    • Update documentation if needed
    • Verify your branch is up to date with main
  2. Submission

    • Fill out the pull request template completely
    • Link any related issues
    • Provide clear description of changes
    • Add screenshots for UI changes
  3. Review Process

    • Address reviewer comments promptly
    • Keep discussions constructive
    • Update your PR based on feedback
    • Request re-review when ready

Testing Guidelines

  • Write unit tests for new functionality
  • Maintain minimum 80% code coverage
  • Include integration tests when appropriate
  • Test edge cases and error conditions
  • Document test scenarios

Documentation

  • Keep README up to date
  • Document API changes
  • Update inline documentation
  • Add examples for new features
  • Use clear, concise language

Communication

  • Use issue tracker for bug reports and feature requests
  • Join our community chat for discussions
  • Be respectful and inclusive in all interactions
  • Ask questions in the appropriate channels

License

By contributing, you agree that your contributions will be licensed under the project's license (Apache License 2.0).

Questions?

If you have questions, feel free to:

  • Open an issue
  • Contact the maintainers

Thank you for contributing to our project!