Thank you for your interest in contributing!
Use the bug report template and provide:
- Endpoint and method - Which SDK method has the bug
- Reproduction code - Complete, runnable PHP that demonstrates the issue
- Expected vs actual behavior - What should happen vs what does happen
- Environment - SDK version, PHP version
- Self-contained code: Your reproduction should run without modification
- Minimal example: Remove unnecessary code that isn't related to the bug
- Specific output: Include exact error messages or incorrect values
- Validation: We review the reproduction code and confirm the bug exists
- Test first: A failing unit test is written that captures the bug
- Fix: The minimal fix is implemented
- Verification: The test passes and no regressions are introduced
If we need more information, we'll comment on the issue. Issues without a response within 7 days may be closed.
- Fork the repository
- Clone your fork
- Install dependencies:
composer install - Create a branch:
git checkout -b fix/your-bug-description
- PHP Version: Code must work on PHP 8.2, 8.3, 8.4, and 8.5
- Code Style: Run
composer formatbefore committing - Testing: All changes require unit tests with 100% coverage for new code
# Unit tests (no API token needed)
./test.sh unit
# Integration tests (requires MARKETDATA_TOKEN)
./test.sh integration
# Test across all PHP versions
./test-with-act.sh- Ensure all tests pass
- Add tests for any new functionality
- Update documentation if needed
- Keep commits focused and atomic
- Reference any related issues
Want to help find bugs before other users encounter them? See .github/BUG_FINDING.md for a systematic exploration workflow:
- Prioritized areas where bugs commonly occur
- Test scenarios with runnable code snippets
- Endpoint-specific checklists
- Instructions for documenting and submitting found bugs
Found bugs are submitted via the standard bug report template.
If you have write access to the repository, see .github/ISSUE_WORKFLOW.md for the complete issue triage and resolution process:
- Validation checklist for bug reports
- Response templates for common scenarios
- Step-by-step bug fixing process
- Label definitions and gh CLI commands
- GitHub Discussions for questions
- Discord for community chat