Contributing¶
Honey Badgeria is an open-source project released under the MIT license. We welcome contributions from the community.
How to Participate¶
Contributions are currently managed by invitation. If you're interested in contributing, the best way to get involved is:
- Report bugs — Open an issue using the bug report template.
- Suggest features — Open an issue using the feature request template.
- Submit pull requests — Fork the repo, make changes, and open a PR using the pull request template.
Reporting Bugs¶
When reporting a bug, please include:
- Description — Clear, concise description of the problem.
- Steps to reproduce — Minimal steps to reproduce the behavior.
- Expected behavior — What you expected to happen.
- Actual behavior — What actually happened.
- Environment — Python version, OS, HBIA version (
hbia version). - YAML definition — If relevant, include the flow YAML (sanitized of sensitive data).
Suggesting Features¶
When suggesting a feature:
- Problem statement — What problem does this solve?
- Proposed solution — How would you implement it?
- Alternatives considered — Other approaches you thought about.
- Impact — Which part of the framework does this affect?
Pull Requests¶
When submitting a PR:
- One change per PR — Keep PRs focused on a single concern.
- Tests required — All changes must include tests.
- Passing CI — All tests must pass before review.
- Description — Explain what the PR does and why.
Development Setup¶
git clone https://github.com/78geminorum/honey-badgeria.git
cd honey-badgeria
pip install -e ".[dev]"
pytest
Running Tests¶
# All tests
pytest
# Specific test file
pytest tests/test_validator.py
# With verbose output
pytest -v
# Tests matching a pattern
pytest -k "atomicity"
Code Conventions¶
- Python 3.9+ minimum.
- Use type hints where practical.
- Follow PEP 8 style.
- Keep required dependencies minimal — prefer optional extras for new tooling or integrations.
- Tests required — every feature, fix, or change must have corresponding tests.
Project Structure¶
honey_badgeria/ # Main package
├── back/ # Backend DAG engine
├── front/ # Frontend reactive graph system
├── cli/ # CLI commands
├── conf/ # Configuration
├── core/ # Exceptions and shared types
├── decorators/ # @vertex, @flow decorators
├── integrations/ # FastAPI and other integrations
├── logging/ # Structured logging
├── testing/ # Testing framework
├── utils/ # Utility functions
└── visualization/ # DAG visualization
tests/ # Test suite
docs/ # Documentation (this site)
License¶
Honey Badgeria is licensed under the MIT License. See the LICENSE file for details.