Thank you for your interest in contributing to Bedsheet Agents! We welcome contributions of all kinds.
-
Fork the repository on GitHub
-
Clone your fork:
git clone https://github.com/YOUR_USERNAME/bedsheet cd bedsheet -
Create a virtual environment:
uv venv source .venv/bin/activate # or .venv\Scripts\activate on Windows
-
Install development dependencies:
uv pip install -e ".[dev]" -
Run tests to make sure everything works:
pytest -v
-
Create a branch for your changes:
git checkout -b feature/your-feature-name
-
Write tests first (TDD encouraged):
# Add tests to tests/ pytest tests/test_your_feature.py -v -
Implement your changes
-
Run the full test suite:
pytest -v
-
Format your code (we use standard Python conventions):
# Optional: install ruff for linting uv pip install ruff ruff check .
We follow conventional commits:
feat:New featuresfix:Bug fixesdocs:Documentation changestest:Test additions/changesrefactor:Code refactoringchore:Maintenance tasks
Examples:
feat: add support for custom memory backends
fix: handle tool timeout gracefully
docs: add multi-agent tutorial
-
Push your branch:
git push origin feature/your-feature-name
-
Open a Pull Request on GitHub
-
Describe your changes:
- What does this PR do?
- Why is it needed?
- How was it tested?
-
Wait for review - we'll respond as soon as we can!
- Documentation improvements
- Additional examples
- Test coverage improvements
- Bug fixes
Before starting major work, please open an issue to discuss:
- New features
- Architecture changes
- New integrations
This helps avoid duplicate work and ensures your contribution aligns with the project direction.
- Type hints - All public functions should have type hints
- Docstrings - Public classes and functions need docstrings
- Tests - New features need tests
- Simplicity - Prefer simple, readable code over clever code
# Run all tests
pytest -v
# Run specific test file
pytest tests/test_agent.py -v
# Run with coverage
pytest --cov=bedsheet -v- Open an issue on GitHub
- Check existing issues and discussions
By contributing, you agree that your contributions will be licensed under the Elastic License 2.0.
Copyright © 2025-2026 Sivan Grünberg, Vitakka Consulting