feat: Enhance GitHub community profile with ALwrity-specific improvements

- Improve CONTRIBUTING.md with detailed setup instructions and ALwrity-specific guidelines
- Enhance SUPPORT.md with comprehensive troubleshooting for AI services and GSC integration
- Update SECURITY.md with ALwrity-specific security features and considerations
- Add issue template configuration and question form for better issue management
- Enhance PR template with ALwrity-specific checklist items
- Add comprehensive .github/README.md explaining all community health files

These improvements provide better contributor experience and project visibility.
This commit is contained in:
ajaysi
2025-09-24 15:49:53 +05:30
parent 6554549494
commit 580282baa1
7 changed files with 234 additions and 41 deletions

View File

@@ -24,37 +24,61 @@ Thank you for your interest in contributing to ALwrity! 🚀 We welcome contribu
## 🛠️ Development Setup ## 🛠️ Development Setup
### Prerequisites ### Prerequisites
- Python 3.10+ - **Python 3.10+** (Backend: FastAPI, SQLAlchemy, AI integrations)
- Node.js 18+ - **Node.js 18+** (Frontend: React, TypeScript, Material-UI)
- Git - **Git** (Version control)
- **API Keys** (Gemini, OpenAI, Anthropic, etc.)
### Backend Setup ### Quick Start
```bash ```bash
# Clone the repository
git clone https://github.com/AJaySi/ALwrity.git
cd ALwrity
# Backend setup
cd backend cd backend
pip install -r requirements.txt pip install -r requirements.txt
cp env_template.txt .env # Configure your API keys
python start_alwrity_backend.py python start_alwrity_backend.py
```
### Frontend Setup # Frontend setup (in a new terminal)
```bash
cd frontend cd frontend
npm install npm install
cp env_template.txt .env # Configure your environment
npm start npm start
``` ```
### Environment Configuration
1. **Backend**: Copy `backend/env_template.txt` to `backend/.env`
2. **Frontend**: Copy `frontend/env_template.txt` to `frontend/.env`
3. **API Keys**: Add your AI service API keys to the respective `.env` files
## 📝 Coding Standards ## 📝 Coding Standards
### Python (Backend) ### Python (Backend)
- Follow PEP 8 style guidelines - **Style**: Follow PEP 8 guidelines, use Black formatter
- Use type hints where possible - **Type Hints**: Use type hints for all function parameters and return values
- Add docstrings for functions and classes - **Documentation**: Add comprehensive docstrings using Google style
- Use meaningful variable and function names - **Error Handling**: Use proper exception handling with meaningful error messages
- **Logging**: Use structured logging with appropriate levels
- **API Design**: Follow RESTful principles, use FastAPI best practices
- **Database**: Use SQLAlchemy ORM, implement proper migrations
### TypeScript/React (Frontend) ### TypeScript/React (Frontend)
- Use TypeScript for type safety - **TypeScript**: Strict mode enabled, no `any` types
- Follow React best practices - **Components**: Functional components with hooks, proper prop typing
- Use functional components with hooks - **State Management**: Use React hooks, consider context for global state
- Implement proper error handling - **Styling**: Material-UI components, consistent theming
- **Error Boundaries**: Implement error boundaries for better UX
- **Performance**: Use React.memo, useMemo, useCallback where appropriate
- **Testing**: Jest + React Testing Library for unit tests
### ALwrity-Specific Guidelines
- **AI Integration**: Always handle API rate limits and errors gracefully
- **Content Generation**: Implement proper validation and sanitization
- **SEO Features**: Follow SEO best practices in generated content
- **User Experience**: Maintain consistent UI/UX across all features
- **Security**: Validate all inputs, implement proper authentication
## 🧪 Testing ## 🧪 Testing
@@ -120,17 +144,28 @@ We use the following labels to categorize issues:
## 🎯 Areas for Contribution ## 🎯 Areas for Contribution
### High Priority ### High Priority
- Bug fixes and performance improvements - **Bug Fixes**: Critical issues affecting core functionality
- Documentation improvements - **Performance**: API response times, database optimization
- Test coverage expansion - **Documentation**: API docs, user guides, setup instructions
- UI/UX enhancements - **Test Coverage**: Unit tests, integration tests, E2E tests
- **Security**: Vulnerability fixes, security improvements
### Feature Areas ### Feature Areas
- AI content generation improvements - **AI Content Generation**: Blog posts, social media content, SEO optimization
- SEO analysis enhancements - **SEO Dashboard**: Google Search Console integration, analytics
- Social media integration - **Social Media**: LinkedIn, Facebook, Instagram content creation
- Analytics and reporting - **Content Planning**: Calendar management, content strategy
- User experience improvements - **User Experience**: Onboarding flow, dashboard improvements
- **Analytics**: Usage tracking, performance metrics
- **Integrations**: Third-party API integrations, webhooks
### Good First Issues
Look for issues labeled with `good first issue` - these are perfect for newcomers:
- Documentation improvements
- UI/UX enhancements
- Test additions
- Bug fixes with clear reproduction steps
- Feature requests with detailed specifications
## 📞 Getting Help ## 📞 Getting Help

11
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: GitHub Community Support
url: https://github.com/AJaySi/ALwrity/discussions
about: Please ask and answer questions here.
- name: ALwrity Documentation
url: https://github.com/AJaySi/ALwrity/wiki
about: Check our documentation for setup guides and tutorials.
- name: Security Vulnerability
url: https://github.com/AJaySi/ALwrity/security/advisories/new
about: Report security vulnerabilities privately.

56
.github/ISSUE_TEMPLATE/question.yml vendored Normal file
View File

@@ -0,0 +1,56 @@
name: Question
description: Ask a question about ALwrity
title: "[QUESTION] "
labels: ["question", "needs-triage"]
body:
- type: markdown
attributes:
value: |
Thanks for your question! Please provide as much detail as possible to help us help you.
- type: textarea
id: question
attributes:
label: What's your question?
description: Please describe your question in detail
placeholder: What would you like to know about ALwrity?
validations:
required: true
- type: textarea
id: context
attributes:
label: Additional context
description: Any additional context, screenshots, or information that might help
placeholder: Add any relevant context here...
- type: dropdown
id: component
attributes:
label: Which component/feature is this about?
description: Select the most relevant component
options:
- Blog Writer
- SEO Dashboard
- Content Planning
- Facebook Writer
- LinkedIn Writer
- Onboarding
- Authentication
- API
- Installation/Setup
- Other
validations:
required: true
- type: dropdown
id: priority
attributes:
label: Priority
description: How urgent is this question?
options:
- Low (general question)
- Medium (affecting workflow)
- High (blocking progress)
validations:
required: true

61
.github/README.md vendored Normal file
View File

@@ -0,0 +1,61 @@
# ALwrity Community Health Files
This directory contains community health files that help maintain a welcoming and productive environment for contributors to ALwrity.
## 📁 Files Overview
### Core Community Files
- **`CONTRIBUTING.md`** - Guidelines for contributing to ALwrity
- **`CODE_OF_CONDUCT.md`** - Community standards and behavior expectations
- **`SECURITY.md`** - Security policy and vulnerability reporting
- **`SUPPORT.md`** - Help resources and troubleshooting guides
- **`FUNDING.yml`** - Funding and sponsorship information
### Issue Templates (`ISSUE_TEMPLATE/`)
- **`bug_report.md`** - Template for reporting bugs
- **`feature_request.md`** - Template for requesting new features
- **`question.yml`** - Form for asking questions
- **`config.yml`** - Issue template configuration
### Pull Request Template
- **`pull_request_template.md`** - Template for pull requests
## 🎯 Purpose
These files help:
- **Improve Project Visibility** - Better GitHub community profile score
- **Enhance Contributor Experience** - Clear guidelines and expectations
- **Streamline Issue Management** - Structured templates for better organization
- **Maintain Quality** - Consistent PR reviews and code standards
- **Build Community** - Welcoming environment for all contributors
## 📊 Community Profile Status
With these files, ALwrity should achieve:
-**README** - Comprehensive project documentation
-**Contributing** - Clear contribution guidelines
-**Code of Conduct** - Community standards
-**License** - MIT License (in root directory)
-**Issue Templates** - Structured issue reporting
-**Pull Request Template** - Consistent PR format
-**Security Policy** - Vulnerability reporting process
-**Support** - Help resources and documentation
## 🔄 Maintenance
These files should be updated as the project evolves:
- Review and update contribution guidelines quarterly
- Update security policy when new features are added
- Refresh issue templates based on common questions
- Update support resources as new features are released
## 📞 Questions?
If you have questions about these community health files:
- Open an [issue](https://github.com/AJaySi/ALwrity/issues)
- Start a [discussion](https://github.com/AJaySi/ALwrity/discussions)
- Check the [main README](../README.md) for project overview
---
**Thank you for contributing to ALwrity!** 🚀

14
.github/SECURITY.md vendored
View File

@@ -61,14 +61,18 @@ Send an email to: [security@alwrity.com](mailto:security@alwrity.com)
ALwrity implements the following security measures: ALwrity implements the following security measures:
- **Authentication**: Secure user authentication with JWT tokens - **Authentication**: Secure user authentication with JWT tokens and Clerk integration
- **Authorization**: Role-based access control - **Authorization**: Role-based access control and subscription-based access
- **Input Validation**: Comprehensive input sanitization - **Input Validation**: Comprehensive input sanitization for all user inputs
- **API Security**: Rate limiting and request validation - **API Security**: Rate limiting, request validation, and API key management
- **Data Encryption**: Sensitive data encryption at rest and in transit - **Data Encryption**: Sensitive data encryption at rest and in transit
- **CORS Protection**: Proper cross-origin resource sharing configuration - **CORS Protection**: Proper cross-origin resource sharing configuration
- **Security Headers**: Implementation of security headers - **Security Headers**: Implementation of security headers and CSP policies
- **Dependency Scanning**: Regular dependency vulnerability scanning - **Dependency Scanning**: Regular dependency vulnerability scanning
- **AI Service Security**: Secure API key management for AI services
- **Content Sanitization**: Proper sanitization of AI-generated content
- **Database Security**: SQL injection prevention with SQLAlchemy ORM
- **File Upload Security**: Secure file handling and validation
## 🚫 Out of Scope ## 🚫 Out of Scope

36
.github/SUPPORT.md vendored
View File

@@ -9,6 +9,8 @@ We're here to help you get the most out of ALwrity! Here are the best ways to ge
- **[API Documentation](https://github.com/AJaySi/ALwrity/wiki/API-Documentation)** - Complete API reference - **[API Documentation](https://github.com/AJaySi/ALwrity/wiki/API-Documentation)** - Complete API reference
- **[Setup Guide](https://github.com/AJaySi/ALwrity/wiki/Setup-Guide)** - Installation and configuration - **[Setup Guide](https://github.com/AJaySi/ALwrity/wiki/Setup-Guide)** - Installation and configuration
- **[User Guide](https://github.com/AJaySi/ALwrity/wiki/User-Guide)** - How to use ALwrity features - **[User Guide](https://github.com/AJaySi/ALwrity/wiki/User-Guide)** - How to use ALwrity features
- **[GSC Integration Guide](GSC_INTEGRATION_README.md)** - Google Search Console setup
- **[Alpha Subscription Guide](backend/ALPHA_SUBSCRIPTION_IMPLEMENTATION_PLAN.md)** - Subscription system
### 💬 Community Support ### 💬 Community Support
- **[GitHub Discussions](https://github.com/AJaySi/ALwrity/discussions)** - Ask questions and share ideas - **[GitHub Discussions](https://github.com/AJaySi/ALwrity/discussions)** - Ask questions and share ideas
@@ -68,22 +70,32 @@ npm start
## 🔧 Troubleshooting ## 🔧 Troubleshooting
### Performance Issues ### Performance Issues
- Check system resources (CPU, RAM) - **System Resources**: Check CPU, RAM usage during content generation
- Review database query performance - **Database**: Review query performance, check for slow queries
- Monitor API rate limits - **API Rate Limits**: Monitor AI service rate limits (Gemini, OpenAI, etc.)
- Clear browser cache and cookies - **Browser**: Clear cache, cookies, and local storage
- **Network**: Check internet connectivity and API endpoint accessibility
### Authentication Problems ### Authentication Problems
- Verify API keys are correct - **API Keys**: Verify all AI service API keys are correct and active
- Check token expiration - **Environment Variables**: Check `.env` files are properly configured
- Clear browser storage - **Token Expiration**: Refresh authentication tokens if expired
- Review authentication logs - **Browser Storage**: Clear browser storage and try again
- **CORS Issues**: Check backend CORS configuration
### Content Generation Issues ### Content Generation Issues
- Verify AI service API keys - **AI Service Keys**: Verify Gemini, OpenAI, Anthropic API keys
- Check internet connectivity - **Rate Limits**: Check if you've exceeded API rate limits
- Review content generation logs - **Content Quality**: Review prompt engineering and content validation
- Ensure sufficient API credits - **Error Logs**: Check backend logs for detailed error messages
- **API Credits**: Ensure sufficient credits for AI services
### ALwrity-Specific Issues
- **Onboarding**: Check if all required steps are completed
- **SEO Analysis**: Verify Google Search Console integration
- **Subscription Limits**: Check if you've exceeded usage limits
- **Database**: Ensure database is properly initialized
- **File Permissions**: Check file permissions for uploads and cache
## 📞 Contact Information ## 📞 Contact Information

View File

@@ -45,6 +45,10 @@ Which component or feature is affected?
- [ ] Authentication - [ ] Authentication
- [ ] API - [ ] API
- [ ] Database - [ ] Database
- [ ] GSC Integration
- [ ] Subscription System
- [ ] Monitoring/Billing
- [ ] Documentation
- [ ] Other: _______________ - [ ] Other: _______________
## 📋 Checklist ## 📋 Checklist
@@ -57,6 +61,16 @@ Which component or feature is affected?
- [ ] New and existing unit tests pass locally with my changes - [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published - [ ] Any dependent changes have been merged and published
### ALwrity-Specific Checklist
- [ ] API endpoints follow RESTful conventions
- [ ] AI service integrations handle rate limits and errors gracefully
- [ ] Content generation includes proper validation and sanitization
- [ ] Database migrations are included if schema changes are made
- [ ] Environment variables are documented in env_template.txt
- [ ] Security considerations have been addressed
- [ ] Performance impact has been considered
- [ ] User experience is consistent with existing features
## 🔍 Code Quality ## 🔍 Code Quality
- [ ] Code is properly formatted - [ ] Code is properly formatted
- [ ] No console.log statements left in production code - [ ] No console.log statements left in production code