Contributing to UrbanVerse#
Thank you for your interest in contributing to UrbanVerse! We welcome contributions from the community. This guide will help you get started.
Ways to Contribute#
There are many ways to contribute to UrbanVerse:
Code contributions: Bug fixes, new features, performance improvements
Documentation: Improving existing docs, adding examples, fixing typos
Testing: Writing tests, reporting bugs, testing new features
Community support: Answering questions, helping other users
Feedback: Feature requests, design suggestions, usability improvements
Getting Started#
Fork the repository on GitHub
Clone your fork locally:
git clone https://Anonymous.com/AnonymousForDoubleBlindReview/UrbanVerse.git cd UrbanVerse
Create a branch for your changes:
git checkout -b feature/your-feature-name
Set up the development environment (see installation documentation)
Make your changes following our coding standards (see Coding Standards)
Test your changes to ensure they work correctly
Commit your changes with clear, descriptive commit messages
Push to your fork and create a pull request
Development Workflow#
Before starting work:
Check existing issues and pull requests to avoid duplicate work
For major features, consider opening an issue first to discuss the approach
Ensure you can build and test the codebase locally
Making changes:
Follow the coding standards (see Coding Standards)
Write or update tests for new functionality
Update documentation as needed
Keep commits focused and atomic
Commit messages:
Use clear, descriptive commit messages
Reference issue numbers when applicable (e.g., “Fix #123: …”)
Follow conventional commit format when possible
Example commit messages:
feat: Add support for custom reward functionsfix: Resolve memory leak in scene loadingdocs: Update API reference for teleoperationtest: Add unit tests for EnvCfg validation
Pull Request Process#
Create a pull request from your fork to the main repository
Fill out the PR template:
Describe what changes you made and why
Reference related issues
Include test results
Add screenshots or examples if applicable
Ensure all checks pass:
Code formatting (Black)
Linting (ruff)
Unit tests
Documentation builds
Respond to review feedback:
Address comments and suggestions
Make requested changes
Keep the discussion constructive
Wait for approval from maintainers before merging
Code Review Guidelines#
For contributors:
Be open to feedback and suggestions
Respond to review comments promptly
Keep PRs focused and reasonably sized
Update your PR based on feedback
For reviewers:
Be constructive and respectful
Focus on code quality and correctness
Explain the reasoning behind suggestions
Approve when changes meet standards
Documentation Contributions#
Documentation improvements are highly valued! Areas where help is needed:
Tutorials: Step-by-step guides for common tasks
Examples: Code examples demonstrating API usage
API documentation: Improving function and class docstrings
Fixing errors: Typos, broken links, outdated information
When contributing documentation:
Follow the existing documentation style
Use clear, concise language
Include code examples where helpful
Test that code examples work correctly
Testing Contributions#
Help improve UrbanVerse’s test coverage:
Unit tests: Test individual functions and classes
Integration tests: Test component interactions
Example tests: Ensure code examples in docs work
Performance tests: Identify performance regressions
Reporting Issues#
If you find a bug or have a feature request, see Bug Reports for guidelines on reporting issues effectively.
Questions?#
If you have questions about contributing:
Check existing documentation
Search existing issues and discussions
Reach out via Communication Channels channels
Thank you for contributing to UrbanVerse! 🎉