Skip to content

Latest commit

 

History

History
107 lines (81 loc) · 3.1 KB

File metadata and controls

107 lines (81 loc) · 3.1 KB

Contributing to LCYA

Thank you for your interest in contributing to the LCYA study repository!

Code of Conduct

This project adheres to a code of conduct that ensures a welcoming environment for all contributors. Please be respectful and constructive in all interactions.

How to Contribute

Reporting Issues

  • Use the issue tracker to report bugs or suggest improvements
  • Provide clear descriptions and steps to reproduce issues
  • Include relevant system information and error messages

Suggesting Enhancements

  • Open an issue to discuss proposed changes
  • Provide clear rationale for the enhancement
  • Consider backward compatibility and existing functionality

Code Contributions

  • Fork the repository and create a feature branch
  • Follow existing code style and conventions
  • Add appropriate documentation and comments
  • Test your changes thoroughly
  • Submit a pull request with a clear description

Development Guidelines

Code Style

  • Use consistent indentation (2 spaces for R)
  • Follow R naming conventions (snake_case for variables, functions)
  • Add comments for complex logic
  • Keep functions focused and modular

Documentation

  • Update README.md for significant changes
  • Document new functions and their parameters
  • Include examples for complex functionality
  • Update analysis documentation as needed

Testing

  • Test code with sample data before submitting
  • Verify that existing functionality still works
  • Check that plots render correctly
  • Ensure reproducible results

File Organization

Adding New Analysis

  • Place new analysis files in analysis/exploratory/
  • Use descriptive filenames
  • Include data processing steps
  • Document any new dependencies

Adding New Plots

  • Create new plot objects in code/plot_objects/
  • Follow existing naming conventions
  • Include error handling
  • Test with different data scenarios

Adding New Utilities

  • Place utility functions in code/utilities/
  • Make functions reusable and well-documented
  • Include parameter validation
  • Add usage examples

Data Handling

Data Privacy

  • Never commit raw data files
  • Use placeholder data for examples
  • Respect participant privacy
  • Follow institutional guidelines

Data Processing

  • Document all data transformations
  • Use reproducible random seeds
  • Save intermediate results when appropriate
  • Include data validation steps

Review Process

Pull Request Review

  • All changes require review before merging
  • Reviewers will check code quality and functionality
  • Address feedback promptly and constructively
  • Ensure all checks pass before requesting review

Quality Standards

  • Code must be well-documented
  • Functions should be tested
  • Plots must render correctly
  • Analysis must be reproducible

Getting Help

  • Check existing documentation first
  • Search existing issues for similar problems
  • Ask questions in the issue tracker
  • Be specific about your problem and environment

Recognition

Contributors will be acknowledged in the repository and any resulting publications, following standard academic practices.

Thank you for contributing to open science and reproducible research!