Files
metaverseDubai/CONTRIBUTING.md
2026-07-07 03:43:19 -07:00

197 lines
4.6 KiB
Markdown

# Contributing to Dubai Metaverse
Thank you for your interest in contributing to the Dubai Metaverse project!
## Code of Conduct
- Be respectful and inclusive
- Provide constructive feedback
- Follow project standards and conventions
- Test your changes before submitting
## Getting Started
1. **Read the Documentation**:
- [README.md](README.md) - Project overview
- [docs/planning/PROJECT_CHARTER.md](docs/planning/PROJECT_CHARTER.md) - Project vision
- [docs/setup/GETTING_STARTED.md](docs/setup/GETTING_STARTED.md) - Setup guide
- [docs/NAMING_CONVENTIONS.md](docs/NAMING_CONVENTIONS.md) - Naming standards
- [docs/PIPELINE.md](docs/PIPELINE.md) - Development workflow
2. **Set Up Development Environment**:
- Install Unreal Engine 5.4 (see [docs/setup/UE5_INSTALLATION.md](docs/setup/UE5_INSTALLATION.md))
- Configure Git LFS (see [docs/setup/VERSION_CONTROL.md](docs/setup/VERSION_CONTROL.md))
- Review project settings (see [docs/setup/PROJECT_SETTINGS.md](docs/setup/PROJECT_SETTINGS.md))
## Contribution Guidelines
### Asset Contributions
#### Naming Conventions
- Follow [docs/NAMING_CONVENTIONS.md](docs/NAMING_CONVENTIONS.md)
- Use consistent prefixes and suffixes
- Organize assets in proper folder structure
#### Asset Quality
- Meet performance targets (see [PERFORMANCE_TARGETS.md](PERFORMANCE_TARGETS.md))
- Follow art style guide (see [docs/ART_BIBLE.md](docs/ART_BIBLE.md))
- Include proper LODs for non-Nanite assets
#### Asset Validation
- Run validation scripts before committing
- Check asset naming and structure
- Verify performance impact
### Code Contributions
#### Code Style
- Follow Unreal Engine coding standards
- Use consistent formatting
- Add comments for complex logic
- Document public APIs
#### Scripts
- Follow script standards (see [scripts/STANDARDS.md](scripts/STANDARDS.md))
- Include error handling
- Add usage documentation
- Test scripts before committing
### Documentation Contributions
#### Documentation Standards
- Follow documentation template
- Include table of contents
- Add prerequisites section
- Include troubleshooting section
- Cross-reference related docs
#### Updating Documentation
- Update last modified date
- Add to documentation index
- Verify all links work
- Test all code examples
## Development Workflow
### 1. Create Feature Branch
```bash
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
```
### 2. Make Changes
- Follow project standards
- Test your changes
- Update documentation if needed
- Run validation scripts
### 3. Commit Changes
```bash
git add .
git commit -m "Description of changes"
```
**Commit Message Format**:
- Use clear, descriptive messages
- Reference issue numbers if applicable
- Follow conventional commits format:
- `feat: Add new feature`
- `fix: Fix bug description`
- `docs: Update documentation`
- `refactor: Refactor code`
- `test: Add tests`
### 4. Push and Create Pull Request
```bash
git push origin feature/your-feature-name
```
Then create a pull request with:
- Clear description of changes
- Screenshots/videos if applicable
- Reference to related issues
- Testing notes
## Pull Request Process
### Before Submitting
- [ ] Code follows project standards
- [ ] All tests pass
- [ ] Documentation updated
- [ ] No merge conflicts
- [ ] Validation scripts pass
- [ ] Performance impact assessed
### Pull Request Template
```markdown
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Performance improvement
- [ ] Refactoring
## Testing
Describe how you tested your changes
## Screenshots/Videos
If applicable, add screenshots or videos
## Related Issues
Closes #issue-number
```
## Review Process
1. **Automated Checks**: CI/CD will run validation
2. **Code Review**: Team members will review
3. **Testing**: Changes will be tested
4. **Approval**: Requires at least one approval
5. **Merge**: Changes merged to main branch
## Reporting Issues
### Bug Reports
Include:
- Description of the bug
- Steps to reproduce
- Expected behavior
- Actual behavior
- System information
- Screenshots/videos if applicable
### Feature Requests
Include:
- Description of the feature
- Use case
- Proposed implementation (if any)
- Related issues
## Questions?
- Check [documentation](docs/README.md)
- Review [FAQ](docs/troubleshooting/FAQ.md) (if available)
- Open an issue for discussion
- Contact project maintainers
## License
By contributing, you agree that your contributions will be licensed under the same license as the project (see [LICENSE](LICENSE.md)).
---
**Thank you for contributing to Dubai Metaverse!**