Thank you for your interest in contributing!
-
Clone the repository:
git clone https://github.com/Rlin1027/ROSForge.git cd ROSForge -
Create a virtual environment:
python -m venv .venv source .venv/bin/activate -
Install in development mode:
pip install -e ".[dev]" -
Run tests:
pytest tests/ -q
- We use ruff for linting and formatting
- We use mypy for type checking
- Run before submitting:
ruff check src/ tests/ ruff format src/ tests/ mypy src/rosforge/ --ignore-missing-imports
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Write tests for new functionality
- Ensure all tests pass
- Submit a pull request
- Use GitHub Issues
- Include: Python version, OS, rosforge version, steps to reproduce
ROSForge uses a BYOM (Bring Your Own Model) architecture. To add a new AI engine:
- Create a new directory under
src/rosforge/engine/<name>/ - Implement
EngineInterfacefromsrc/rosforge/engine/base.py - Register in
src/rosforge/engine/registry.py - Add tests in
tests/unit/test_engine_<name>.py
To extend the static knowledge base:
- Edit files in
src/rosforge/knowledge/ - Or create custom rules via
.rosforge/custom_rules.yaml
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.