mirror of
https://github.com/Wan-Video/Wan2.1.git
synced 2025-11-03 05:52:18 +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! 🎉
|