Developer Guide
This section is for developers who want to contribute to the OctoBot codebase. It covers the development environment, architecture, packages, and contribution workflow.
Development Setup
Prerequisites
- Python 3.13+
- Git
- Pants build system (auto-installed)
- Node.js 22+ (for web interface and docs)
- Rust toolchain (optional, for Rust-accelerated packages)
Clone and Install
git clone https://github.com/Drakkar-Software/OctoBot.git
cd OctoBot
pip install -r dev_requirements.txt
pip install -e .
Running Tests
# Run all tests for a package
cd packages/commons
pytest tests
# Run tests with Pants
pants test packages/commons::
Linting
pylint --rcfile=standard.rc octobot/
Repository Structure
OctoBot/
octobot/ # Main application
packages/ # Self-contained packages (14+)
infra/ # Infrastructure (Ansible, deploy)
tests/ # Integration tests
docs/ # This documentation
pants.toml # Pants build config
BUILD # Root build file
Next Steps
- Architecture - Understand the system design
- Packages - Explore each package
- Infrastructure - Deployment and operations
- Contributing - Coding guidelines and PR process