Community Guidelines

Code of conduct, communication channels, and community expectations

Community Guidelines

Welcome to the Smart Shelf community! These guidelines help create a positive, inclusive environment for all contributors.

Code of Conduct

Our Pledge

We pledge to make participation in our project and community a harassment-free experience for everyone, regardless of:

  • Age, body size, disability, ethnicity, gender identity and expression
  • Level of experience, education, socio-economic status
  • Nationality, personal appearance, race, religion
  • Sexual identity and orientation

Our Standards

Positive Behavior

Examples of behavior that contributes to a positive environment:

  • Using welcoming and inclusive language
  • Being respectful of differing viewpoints and experiences
  • Gracefully accepting constructive criticism
  • Focusing on what is best for the community
  • Showing empathy towards other community members
  • Helping others learn and grow
  • Giving credit where credit is due

Unacceptable Behavior

Examples of unacceptable behavior include:

  • Harassment or discriminatory language
  • Trolling, insulting, or derogatory comments
  • Personal or political attacks
  • Public or private harassment
  • Publishing others' private information without permission
  • Spam or excessive self-promotion
  • Any conduct that could reasonably be considered inappropriate

Enforcement

Community leaders are responsible for clarifying and enforcing standards of acceptable behavior. They have the right and responsibility to:

  • Remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned with this Code of Conduct
  • Ban temporarily or permanently any contributor for behaviors they deem inappropriate, threatening, offensive, or harmful

Reporting

If you experience or witness unacceptable behavior, please report it to:

  • Email: conduct@smartshelf.com
  • Private message: Contact any maintainer directly
  • GitHub: Use the "Report" feature on GitHub

All complaints will be reviewed and investigated promptly and fairly. Community leaders are obligated to respect the privacy and security of the reporter.

Communication Channels

GitHub

Our primary communication happens on GitHub:

  • Issues: Bug reports, feature requests, questions
  • Pull Requests: Code contributions and reviews
  • Discussions: General community discussions
  • Wiki: Community-maintained documentation

Best Practices

GitHub Issues

  • Search before posting to avoid duplicates
  • Use clear, descriptive titles
  • Provide context and details
  • Follow issue templates when available
  • Stay on topic in discussions
  • Be patient with responses

Pull Requests

  • Keep discussions focused on the code changes
  • Be constructive in code reviews
  • Respond to feedback promptly
  • Ask questions when unclear
  • Acknowledge good work and improvements

Discussions

  • Be respectful of different opinions
  • Stay on topic for the discussion thread
  • Help newcomers get started
  • Share knowledge and resources
  • Ask for help when needed

Contributing Guidelines

Getting Started

For New Contributors

  1. Read the Documentation: Familiarize yourself with the project
  2. Start Small: Look for "good first issue" labels
  3. Ask Questions: Don't hesitate to ask for help
  4. Follow Guidelines: Adhere to coding standards and processes
  5. Be Patient: Allow time for reviews and feedback

Finding Ways to Contribute

  • Code Contributions: Bug fixes, features, optimizations
  • Documentation: Writing, editing, translating docs
  • Testing: Manual testing, writing automated tests
  • Design: UI/UX improvements, accessibility
  • Community: Helping others, organizing events

Contribution Recognition

We recognize contributors in several ways:

Contributors File

All contributors are acknowledged in our CONTRIBUTORS.md file:

# Contributors

Thank you to all the people who have contributed to Smart Shelf!

## Core Team
- [Name](https://github.com/username) - Role

## Contributors
- [Name](https://github.com/username) - Contribution description
- [Name](https://github.com/username) - Contribution description

Release Notes

Significant contributions are highlighted in release notes:

## [1.3.0] - 2024-02-01

### New Features
- Added barcode scanning functionality (thanks @contributor)
- Implemented bulk inventory updates (thanks @contributor)

### Improvements
- Enhanced dashboard performance (thanks @contributor)
- Improved accessibility features (thanks @contributor)

GitHub Achievements

We use GitHub's recognition features:

  • Contributor graphs and statistics
  • Achievement badges
  • Repository insights

Mentorship Program

For New Contributors

We provide mentorship for newcomers:

  • Pair with experienced contributors
  • Regular check-ins and guidance
  • Help with first contributions
  • Introduction to development workflows
  • Technical skill development

Becoming a Mentor

Experienced contributors can become mentors by:

  • Volunteering to help newcomers
  • Participating in code reviews
  • Creating educational content
  • Organizing community events
  • Sharing knowledge and best practices

Community Events

Regular Activities

Office Hours

Monthly community office hours:

  • When: First Friday of each month, 3:00 PM UTC
  • Where: GitHub Discussions
  • What: Q&A, planning, general discussion

Contribution Sprints

Quarterly contribution sprints:

  • Focus: Specific features or improvements
  • Duration: 1-2 weeks
  • Support: Extra mentorship and coordination
  • Recognition: Special acknowledgment for participants

Special Events

Hacktoberfest

We participate in Hacktoberfest:

  • Label issues as "hacktoberfest"
  • Provide beginner-friendly tasks
  • Offer extra support for new contributors
  • Recognize all participants

Community Showcases

Quarterly showcases of community contributions:

  • Highlight recent improvements
  • Share success stories
  • Demonstrate new features
  • Thank contributors publicly

Diversity and Inclusion

Our Commitment

We are committed to creating an inclusive community that welcomes:

  • People from all backgrounds and experience levels
  • Different perspectives and approaches
  • Various contribution styles and preferences
  • Multiple ways of learning and communication

Inclusive Practices

Language and Communication

  • Use inclusive language in all communications
  • Avoid jargon when possible, or explain technical terms
  • Be patient with non-native speakers
  • Provide context for cultural references
  • Use clear, simple language in documentation

Accessibility

  • Consider accessibility in all contributions
  • Test with assistive technologies
  • Provide alternative formats when needed
  • Include alt text for images
  • Use semantic HTML and ARIA labels

Global Community

  • Consider time zones when scheduling events
  • Provide multiple ways to participate
  • Document decisions for async participation
  • Translate key content when possible
  • Respect cultural differences

Conflict Resolution

Prevention

  • Set clear expectations through guidelines
  • Model positive behavior as community leaders
  • Address issues early before they escalate
  • Provide multiple communication channels
  • Encourage direct, respectful communication

Resolution Process

  1. Direct Communication: Encourage parties to discuss directly
  2. Mediation: Community leaders facilitate discussion if needed
  3. Intervention: Leaders take action if necessary
  4. Follow-up: Ensure resolution is effective and lasting

Appeals Process

If you disagree with a community decision:

  1. Email community leaders with your concerns
  2. Provide context and reasoning for your appeal
  3. Wait for review by leadership team
  4. Accept final decision after review process

Leadership Structure

Maintainers

Core maintainers have:

  • Merge permissions on the repository
  • Decision-making authority for project direction
  • Responsibility for code quality and community health
  • Commitment to project long-term success

Community Leaders

Community leaders help with:

  • Moderating discussions and enforcing guidelines
  • Welcoming new contributors and providing support
  • Organizing events and community activities
  • Recognizing contributions and achievements

Advisory Board

Advisors provide:

  • Strategic guidance for project direction
  • Industry expertise and connections
  • Resource allocation advice
  • Long-term vision and planning

Resources

Getting Help

  • Documentation: Check existing docs first
  • GitHub Discussions: Ask questions publicly
  • Issues: Report bugs or request features
  • Email: Contact maintainers directly if needed

Learning Resources

  • Contributing Guide: Detailed contribution instructions
  • Code Style Guide: Coding standards and conventions
  • Architecture Overview: Technical system design
  • API Documentation: Complete API reference

External Communities

  • Stack Overflow: Technical questions (use smart-shelf tag)
  • Discord: Real-time community chat
  • Twitter: Follow @SmartShelfOSS for updates
  • LinkedIn: Professional networking and updates

Thank you for being part of the Smart Shelf community! Together, we're building something amazing. 🚀