Contributing to Open World Agents¶
This guide covers OWA-specific development practices and testing requirements.
Issues and Pull Requests¶
Questions, feature requests and bug reports are welcome as discussions or issues.
Security Vulnerabilities
For security vulnerabilities, see our security policy.
Development Setup¶
Complete Setup Instructions
See the Installation Guide for complete development setup instructions.
Quick setup for contributors:
git clone https://github.com/open-world-agents/open-world-agents.git
cd open-world-agents
conda create -n owa python=3.11 open-world-agents::gstreamer-bundle -y && conda activate owa
pip install uv virtual-uv
vuv install --dev
vuv pip install -e projects/owa-env-example # For testing
Testing Requirements¶
Before submitting a PR, run these OWA-specific checks:
Environment Plugin Development¶
Custom Plugin Development
For creating custom environment plugins, see the Custom EnvPlugin Development Guide which covers:
- Plugin structure and requirements
- Entry point registration
- Component types (Callables, Listeners, Runnables)
- Complete examples and troubleshooting
Documentation¶
OWA uses MkDocs with Material theme for documentation. The site includes auto-generated plugin documentation and manual content.
To work with documentation:
vuv install --extra docs # Install MkDocs and dependencies
vuv run mkdocs serve # Serve locally at http://localhost:8000
Documentation validation happens automatically in CI via owl env docs --validate --strict
.
Monorepo Development¶
OWA uses virtual-uv
for dependency management. For complete setup instructions, see Installation Guide.
Quick commands:
vuv install --dev # Install all dev dependencies
vuv pip install -e projects/X # Install specific project
Release Management¶
For maintainers, OWA includes release automation scripts:
Release Scripts
See scripts/release/README.md
for lockstep versioning and PyPI publishing tools.