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
- Read the Documentation: Familiarize yourself with the project
- Start Small: Look for "good first issue" labels
- Ask Questions: Don't hesitate to ask for help
- Follow Guidelines: Adhere to coding standards and processes
- 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
- Direct Communication: Encourage parties to discuss directly
- Mediation: Community leaders facilitate discussion if needed
- Intervention: Leaders take action if necessary
- Follow-up: Ensure resolution is effective and lasting
Appeals Process
If you disagree with a community decision:
- Email community leaders with your concerns
- Provide context and reasoning for your appeal
- Wait for review by leadership team
- 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-shelftag) - 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. 🚀