git clone https://github.com/highoncomputers/BugFinder.git
cd BugFinder
make install- Create a feature branch:
git checkout -b feature/your-feature - Make your changes
- Run quality checks:
make lint # Ruff lint make format # Ruff format make typecheck # Mypy make test # Pytest with coverage
- Run pre-commit hooks:
make precommit - Commit and push
- Python 3.12+ with strict type hints
- Line length: 130 characters
- Ruff for linting and formatting
- Use
async/awaitfor I/O operations - Use Pydantic models for data validation
- Use structlog for structured logging
- Create the agent file in
bugfinder/agents/<category>/<name>.py - Extend
BaseAgent(seebugfinder/agents/base.py) - Implement the
execute()method returningAgentResult - Register in the scheduler's agent map (
bugfinder/engine/scheduler.py) - Add to the rule planner (
bugfinder/planner/rule_planner.py) - Write tests in
tests/test_agents/ - Run all tests to verify
- Ensure all quality checks pass
- Update documentation if needed
- Add tests for new functionality
- Update CHANGELOG.md
- Submit PR with descriptive title and details
make test # Full test suite
make test-quick # Skip slow testsOpen a GitHub Discussion or issue.