Contributing

Contributions to Neuroslice are welcome! This page provides guidelines for contributing to the project.

How to Contribute

  1. Fork the Repository

    Fork the repository on GitHub at https://github.com/anamatoso/neuroslice

  2. Clone Your Fork

    git clone https://github.com/YOUR-USERNAME/neuroslice.git
    cd neuroslice
    
  3. Create a Branch

    git checkout -b feature/YourFeatureName
    
  4. Make Your Changes

    Make your changes (i.e. add new feature or correct bug) in the codebase. Always follow the existing code style. Update the documentation accordingly

  5. Check if it follows code style guidelines

    Install flake8 and pylint if you haven’t already:

    pip install flake8 pylint
    

    Run the checks (Flake and Pylint checks should pass without errors (and with score>=7.0 for pylint)):

    flake8 . --count --max-complexity=10 --max-line-length=127 --statistics
    pylint $(find . -type f -name "*.py" ! -path "*/venv/*" ! -path "*/.venv/*" ! -path "*/env/*") --fail-under=7.0 --max-locals=30
    
  6. Commit Your Changes

    git add .
    git commit -m "Add: Brief description of your changes"
    
  7. Push to Your Fork

    git push origin feature/YourFeatureName
    
  8. Open a Pull Request

    Go to the original repository and open a Pull Request with a clear description of your changes.

Code Style Guidelines

  • Follow PEP 8 style guidelines

  • Use meaningful variable and function names

  • Add docstrings to all functions (Google style preferred)

  • Update documentation as needed

  • Keep functions focused and modular

Reporting Issues and Questions/Support

  1. Check existing issues to avoid duplicates

  2. Open a new issue on GitHub

  3. Provide clear description and steps to reproduce (if applicable)

  4. Include system information and error messages if applicable

  5. Add an appropriate label (bug, enhancement, question, etc.)