# Contributing to ALwrity Thank you for your interest in contributing to ALwrity! ๐Ÿš€ We welcome contributions from the community and appreciate your help in making this AI-powered digital marketing platform even better. ## ๐Ÿค How to Contribute ### 1. **Report Issues** - Use our [GitHub Issues](https://github.com/AJaySi/ALwrity/issues) to report bugs or request features - Check existing issues before creating new ones - Provide clear descriptions and steps to reproduce bugs ### 2. **Submit Pull Requests** - Fork the repository - Create a feature branch: `git checkout -b feature/amazing-feature` - Make your changes and test thoroughly - Submit a pull request with a clear description ### 3. **Code Contributions** - Follow our coding standards (see below) - Add tests for new functionality - Update documentation as needed - Ensure all tests pass before submitting ## ๐Ÿ› ๏ธ Development Setup ### Prerequisites - Python 3.10+ - Node.js 18+ - Git ### Backend Setup ```bash cd backend pip install -r requirements.txt python start_alwrity_backend.py ``` ### Frontend Setup ```bash cd frontend npm install npm start ``` ## ๐Ÿ“ Coding Standards ### Python (Backend) - Follow PEP 8 style guidelines - Use type hints where possible - Add docstrings for functions and classes - Use meaningful variable and function names ### TypeScript/React (Frontend) - Use TypeScript for type safety - Follow React best practices - Use functional components with hooks - Implement proper error handling ## ๐Ÿงช Testing ### Backend Testing ```bash cd backend python -m pytest test/ ``` ### Frontend Testing ```bash cd frontend npm test ``` ## ๐Ÿ“‹ Pull Request Guidelines ### Before Submitting - [ ] Code follows project style guidelines - [ ] Self-review completed - [ ] Tests added/updated and passing - [ ] Documentation updated - [ ] No merge conflicts ### PR Description Template ```markdown ## Description Brief description of changes ## Type of Change - [ ] Bug fix - [ ] New feature - [ ] Breaking change - [ ] Documentation update ## Testing - [ ] Backend tests pass - [ ] Frontend tests pass - [ ] Manual testing completed ## Screenshots (if applicable) Add screenshots to help explain your changes ``` ## ๐Ÿท๏ธ Issue Labels We use the following labels to categorize issues: - `bug`: Something isn't working - `enhancement`: New feature or request - `documentation`: Improvements or additions to documentation - `good first issue`: Good for newcomers - `help wanted`: Extra attention is needed - `priority: high`: High priority issues - `priority: low`: Low priority issues ## ๐Ÿ’ฌ Community Guidelines - Be respectful and inclusive - Help others learn and grow - Provide constructive feedback - Follow the [Code of Conduct](CODE_OF_CONDUCT.md) ## ๐ŸŽฏ Areas for Contribution ### High Priority - Bug fixes and performance improvements - Documentation improvements - Test coverage expansion - UI/UX enhancements ### Feature Areas - AI content generation improvements - SEO analysis enhancements - Social media integration - Analytics and reporting - User experience improvements ## ๐Ÿ“ž Getting Help - Join our [Discussions](https://github.com/AJaySi/ALwrity/discussions) - Check existing [Issues](https://github.com/AJaySi/ALwrity/issues) - Review [Documentation](https://github.com/AJaySi/ALwrity/wiki) ## ๐Ÿ™ Recognition Contributors will be recognized in our README and release notes. Thank you for helping make ALwrity better for everyone! --- **Happy Contributing!** ๐ŸŽ‰