Skip to content

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:

  1. Report bugs — Open an issue using the bug report template.
  2. Suggest features — Open an issue using the feature request template.
  3. 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.