| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [View Raw Code] [Original HTTPS Page] |
Thank you for your interest in contributing to FlutterProbe! This guide explains how to get involved.
Open an issue on GitHub Issues with:
Keep PRs focused on a single concern. If you have multiple unrelated changes, submit separate PRs.
All commits must include a Developer Certificate of Origin sign-off line:
Signed-off-by: Your Name <your@email.com>
Add this automatically with:
git commit -s -m "Your commit message"This certifies that you wrote or have the right to submit the code under the project's license.
Before submitting a PR, run the full test suite:
make test # Go unit tests
cd probe_agent && flutter test # Dart agent testsFor converter changes:
make test-convert # Converter unit tests
make test-convert-integration # Golden files + lint + dry-runEnsure all tests pass and no regressions are introduced.
If your change affects the ProbeScript language (new syntax, modified parsing):
flutter_probe_agent's public Dart API (anything exported from package:flutter_probe_agent/flutter_probe_agent.dart) is used directly by downstream apps' test code, so removing or changing it breaks real projects without warning if done carelessly. This happened once already: a minor version bump reduced the public API surface down to just ProbeAgent and isProbeEnabled, silently deleting a plugin-registration API (ProbePlugin/ProbePluginRegistry) that at least one downstream project had a load-bearing test-automation feature built on top of, with no deprecation cycle and no CHANGELOG migration note beyond "reduced public API."
To prevent a repeat, any removal or breaking change to the public API must follow this sequence:
If a use case the current public API supports (e.g. extending/customizing agent behavior from the app side) is intentionally being dropped rather than replaced, say so explicitly in the CHANGELOG and in the PR description — don't let it read as an oversight.
ProbePlugin/ProbePluginRegistry specifically: whether that capability should be reintroduced (under a deprecation-safe path this time) or the removal should stand as a permanent, intentional scope decision is a product call for the maintainer, not something this policy resolves on its own — it's tracked as an open question in IMPROVEMENT_TASKS.md (PT-08) pending that decision.
If you are unsure about anything, open an issue to discuss before starting work. We are happy to help guide contributions.
| Back | FazBrowse Home | New Git URL |