Skip to content

Latest commit

 

History

History
78 lines (54 loc) · 3.88 KB

File metadata and controls

78 lines (54 loc) · 3.88 KB

Contributing to CodeHarmony

First off, thank you for considering contributing to CodeHarmony! It's people like you that will help make this vision of code as music a reality.

How Can I Contribute?

We Need Diverse Skills

This project sits at the intersection of multiple disciplines, and we need contributors with varied backgrounds:

  • Developers: Especially those with experience in audio programming, music theory, or accessibility tools
  • Musicians: To help design the sound mapping system and create musical representations of code structures
  • Accessibility Experts: To ensure our implementation meets real needs of visually impaired users
  • Educators: To develop learning methodologies and curriculum using this approach
  • UX/UI Designers: To create intuitive interfaces for both sighted and visually impaired users
  • Neuroscience/Cognitive Psychology Experts: To help optimize the code-to-music mappings based on how our brains process information

Ways to Contribute

  1. Share Ideas: Join discussions in the Issues section with the "discussion" label
  2. Code: Implement features, fix bugs, improve performance
  3. Documentation: Help us explain the concept and implementation clearly
  4. Testing: Provide feedback on implementations, especially from different user perspectives
  5. Design: Create visualizations, mockups, or interface designs
  6. Spread the Word: Help us reach potential users and contributors who would benefit from this approach

Development Process

Setting Up Your Development Environment

  1. Fork and clone the repository
  2. Install dependencies (see the README.md in each code directory)
  3. Make sure you can run the proof of concept demos successfully

Contribution Workflow

  1. Check Issues: See if there's already an issue for what you want to work on
  2. Create an Issue: If there isn't an existing issue, create one to discuss your proposed changes
  3. Fork & Branch: Create a branch in your fork for your contribution
  4. Implement: Make your changes, following our coding standards
  5. Test: Ensure your changes work as expected
  6. Document: Update documentation to reflect your changes
  7. Submit PR: Create a pull request with a clear description of the changes and any relevant issue numbers

Pull Request Process

  1. Update the README.md or documentation with details of your changes if appropriate
  2. Include a clear list of what you've done
  3. Make sure your code follows our style guidelines
  4. Your PR will be reviewed by at least one maintainer, who may request changes or provide feedback

Community Guidelines

Code of Conduct

  • Be Respectful: Value differing viewpoints and experiences
  • Be Inclusive: We welcome contributors from all backgrounds and levels of experience
  • Focus on Collaboration: This is a community project, not a platform for individual agendas
  • Prioritize Accessibility: All contributions should consider accessibility implications

Communication Channels

  • GitHub Issues: For feature discussions, bug reports, and code-related questions
  • Discussions: For broader conceptual conversations and community building

Design Philosophy

When contributing to CodeHarmony, keep these principles in mind:

  1. Accessibility First: Everything we build should be accessible to visually impaired users
  2. Dual-Channel Design: Features should benefit both sighted and non-sighted users when possible
  3. Musical Integrity: Sound mappings should have musical coherence, not just be arbitrary sounds
  4. Educational Value: Implementation should help people learn programming concepts more effectively
  5. Bidirectional Translation: Users should be able to move between code and musical representations seamlessly

Thank you for your interest in contributing to CodeHarmony! Together, we can create a revolutionary new way to experience and create code.