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:
83
.github/CONTRIBUTING.md
vendored
83
.github/CONTRIBUTING.md
vendored
@@ -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
11
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal 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
56
.github/ISSUE_TEMPLATE/question.yml
vendored
Normal 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
61
.github/README.md
vendored
Normal 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
14
.github/SECURITY.md
vendored
@@ -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
36
.github/SUPPORT.md
vendored
@@ -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
|
||||||
|
|
||||||
|
|||||||
14
.github/pull_request_template.md
vendored
14
.github/pull_request_template.md
vendored
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user