mirror of
				https://github.com/Wan-Video/Wan2.1.git
				synced 2025-11-03 22:04:21 +00:00 
			
		
		
		
	This commit adds a production-ready Progressive Web App for AI-powered video generation using Wan2.1 models. Features: - Next.js 15 frontend with App Router and PWA support - FastAPI backend with Replicate integration - 50+ prompt templates across 7 categories - Supabase authentication and database - Credit system with usage tracking - Text-to-Video and Image-to-Video generation - Complete documentation (setup, deployment, contributing) Project Structure: - apps/web: Next.js frontend with shadcn/ui components - apps/api: FastAPI backend with GPU processing via Replicate - packages/db: Database schema and migrations for Supabase Tech Stack: - Frontend: Next.js 15, shadcn/ui, Tailwind, Zustand, React Hook Form, Zod - Backend: FastAPI, Replicate, Supabase - Database: Supabase (Postgres) with RLS - Infrastructure: Turborepo monorepo, Vercel/Modal deployment Documentation: - README.md: Project overview and features - SETUP.md: Complete setup guide (5-minute quickstart) - DEPLOYMENT.md: Production deployment instructions - CONTRIBUTING.md: Contribution guidelines - PROJECT_SUMMARY.md: Comprehensive project documentation Ready for development and deployment. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			254 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			254 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Contributing to Wan2.1 PWA
 | 
						|
 | 
						|
Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
 | 
						|
 | 
						|
## Development Setup
 | 
						|
 | 
						|
1. Fork the repository
 | 
						|
2. Clone your fork:
 | 
						|
   ```bash
 | 
						|
   git clone https://github.com/your-username/wan-pwa.git
 | 
						|
   cd wan-pwa
 | 
						|
   ```
 | 
						|
 | 
						|
3. Install dependencies:
 | 
						|
   ```bash
 | 
						|
   npm install
 | 
						|
   ```
 | 
						|
 | 
						|
4. Set up environment variables (see SETUP.md)
 | 
						|
 | 
						|
5. Start development:
 | 
						|
   ```bash
 | 
						|
   npm run dev
 | 
						|
   ```
 | 
						|
 | 
						|
## Project Structure
 | 
						|
 | 
						|
```
 | 
						|
wan-pwa/
 | 
						|
├── apps/
 | 
						|
│   ├── web/          # Next.js frontend
 | 
						|
│   └── api/          # FastAPI backend
 | 
						|
├── packages/
 | 
						|
│   ├── ui/           # Shared UI components
 | 
						|
│   ├── db/           # Database schema
 | 
						|
│   └── types/        # TypeScript types
 | 
						|
```
 | 
						|
 | 
						|
## Code Style
 | 
						|
 | 
						|
### TypeScript/JavaScript
 | 
						|
- Use TypeScript for all new code
 | 
						|
- Follow ESLint rules
 | 
						|
- Use Prettier for formatting
 | 
						|
- Prefer functional components with hooks
 | 
						|
 | 
						|
### Python
 | 
						|
- Follow PEP 8 style guide
 | 
						|
- Use type hints
 | 
						|
- Document functions with docstrings
 | 
						|
- Use async/await for async operations
 | 
						|
 | 
						|
### Formatting
 | 
						|
```bash
 | 
						|
npm run format  # Format all code
 | 
						|
npm run lint    # Check linting
 | 
						|
```
 | 
						|
 | 
						|
## Making Changes
 | 
						|
 | 
						|
### 1. Create a Branch
 | 
						|
```bash
 | 
						|
git checkout -b feature/your-feature-name
 | 
						|
# or
 | 
						|
git checkout -b fix/your-bug-fix
 | 
						|
```
 | 
						|
 | 
						|
### 2. Make Your Changes
 | 
						|
- Write clean, readable code
 | 
						|
- Add comments for complex logic
 | 
						|
- Update documentation as needed
 | 
						|
 | 
						|
### 3. Test Your Changes
 | 
						|
```bash
 | 
						|
npm run test       # Run tests
 | 
						|
npm run build      # Verify build works
 | 
						|
```
 | 
						|
 | 
						|
### 4. Commit Your Changes
 | 
						|
```bash
 | 
						|
git add .
 | 
						|
git commit -m "feat: add new feature"
 | 
						|
```
 | 
						|
 | 
						|
#### Commit Message Format
 | 
						|
Follow Conventional Commits:
 | 
						|
- `feat:` - New feature
 | 
						|
- `fix:` - Bug fix
 | 
						|
- `docs:` - Documentation changes
 | 
						|
- `style:` - Code style changes
 | 
						|
- `refactor:` - Code refactoring
 | 
						|
- `test:` - Test additions/changes
 | 
						|
- `chore:` - Maintenance tasks
 | 
						|
 | 
						|
Examples:
 | 
						|
```
 | 
						|
feat: add video download button
 | 
						|
fix: resolve credit deduction bug
 | 
						|
docs: update setup instructions
 | 
						|
```
 | 
						|
 | 
						|
### 5. Push to Your Fork
 | 
						|
```bash
 | 
						|
git push origin feature/your-feature-name
 | 
						|
```
 | 
						|
 | 
						|
### 6. Create Pull Request
 | 
						|
- Go to the original repository
 | 
						|
- Click "New Pull Request"
 | 
						|
- Select your branch
 | 
						|
- Fill out the PR template
 | 
						|
- Submit for review
 | 
						|
 | 
						|
## Pull Request Guidelines
 | 
						|
 | 
						|
### PR Title
 | 
						|
Use the same format as commit messages:
 | 
						|
```
 | 
						|
feat: add dark mode support
 | 
						|
fix: resolve authentication issue
 | 
						|
```
 | 
						|
 | 
						|
### PR Description
 | 
						|
Include:
 | 
						|
- What changes were made
 | 
						|
- Why the changes were necessary
 | 
						|
- How to test the changes
 | 
						|
- Screenshots (if UI changes)
 | 
						|
- Related issues (if applicable)
 | 
						|
 | 
						|
### Example PR Description
 | 
						|
```markdown
 | 
						|
## Changes
 | 
						|
- Added dark mode toggle to settings
 | 
						|
- Implemented theme persistence in localStorage
 | 
						|
- Updated all components to support dark mode
 | 
						|
 | 
						|
## Why
 | 
						|
Users requested dark mode for better viewing experience at night
 | 
						|
 | 
						|
## Testing
 | 
						|
1. Click the theme toggle in settings
 | 
						|
2. Verify colors change throughout the app
 | 
						|
3. Refresh page and verify theme persists
 | 
						|
 | 
						|
## Screenshots
 | 
						|
[Before/After screenshots]
 | 
						|
 | 
						|
Closes #123
 | 
						|
```
 | 
						|
 | 
						|
## Feature Requests
 | 
						|
 | 
						|
### Before Submitting
 | 
						|
- Check if feature already exists
 | 
						|
- Search existing issues/PRs
 | 
						|
- Consider if it fits project scope
 | 
						|
 | 
						|
### Creating Feature Request
 | 
						|
1. Open new issue
 | 
						|
2. Use "Feature Request" template
 | 
						|
3. Describe:
 | 
						|
   - The problem it solves
 | 
						|
   - Proposed solution
 | 
						|
   - Alternative solutions considered
 | 
						|
   - Additional context
 | 
						|
 | 
						|
## Bug Reports
 | 
						|
 | 
						|
### Before Submitting
 | 
						|
- Ensure you're on latest version
 | 
						|
- Search existing issues
 | 
						|
- Try to reproduce consistently
 | 
						|
 | 
						|
### Creating Bug Report
 | 
						|
1. Open new issue
 | 
						|
2. Use "Bug Report" template
 | 
						|
3. Include:
 | 
						|
   - Steps to reproduce
 | 
						|
   - Expected behavior
 | 
						|
   - Actual behavior
 | 
						|
   - Screenshots/logs
 | 
						|
   - Environment details
 | 
						|
 | 
						|
## Areas to Contribute
 | 
						|
 | 
						|
### Frontend
 | 
						|
- UI/UX improvements
 | 
						|
- New prompt templates
 | 
						|
- Performance optimizations
 | 
						|
- Accessibility enhancements
 | 
						|
 | 
						|
### Backend
 | 
						|
- API optimizations
 | 
						|
- New generation features
 | 
						|
- Background job processing
 | 
						|
- Caching strategies
 | 
						|
 | 
						|
### Documentation
 | 
						|
- Setup guides
 | 
						|
- API documentation
 | 
						|
- Code examples
 | 
						|
- Tutorial videos
 | 
						|
 | 
						|
### Testing
 | 
						|
- Unit tests
 | 
						|
- Integration tests
 | 
						|
- E2E tests
 | 
						|
- Performance tests
 | 
						|
 | 
						|
## Code Review Process
 | 
						|
 | 
						|
1. **Automated Checks**
 | 
						|
   - Linting
 | 
						|
   - Type checking
 | 
						|
   - Tests
 | 
						|
   - Build verification
 | 
						|
 | 
						|
2. **Manual Review**
 | 
						|
   - Code quality
 | 
						|
   - Best practices
 | 
						|
   - Documentation
 | 
						|
   - Test coverage
 | 
						|
 | 
						|
3. **Feedback**
 | 
						|
   - Address review comments
 | 
						|
   - Make requested changes
 | 
						|
   - Discuss disagreements respectfully
 | 
						|
 | 
						|
4. **Approval**
 | 
						|
   - At least one approval required
 | 
						|
   - All checks must pass
 | 
						|
   - No merge conflicts
 | 
						|
 | 
						|
## Getting Help
 | 
						|
 | 
						|
- **Documentation**: Check SETUP.md and README.md
 | 
						|
- **Issues**: Search existing issues
 | 
						|
- **Discussions**: Use GitHub Discussions
 | 
						|
- **Discord**: Join our community (if available)
 | 
						|
 | 
						|
## License
 | 
						|
 | 
						|
By contributing, you agree that your contributions will be licensed under the same license as the project.
 | 
						|
 | 
						|
## Recognition
 | 
						|
 | 
						|
Contributors will be:
 | 
						|
- Listed in CONTRIBUTORS.md
 | 
						|
- Mentioned in release notes
 | 
						|
- Credited in project documentation
 | 
						|
 | 
						|
Thank you for contributing! 🎉
 |