SourceWard welcomes focused bug reports, detection improvements, tests, and support for additional capability formats.
All changes should be made through a pull request:
- Branch from the latest
main. - Keep the branch focused on one outcome.
- Use imperative commit subjects that explain the change.
- Keep mechanical cleanup separate from behavioral changes.
- Rebase or merge the latest
mainbefore requesting final review. - Merge only after required checks pass.
Suggested branch prefixes are feat/, fix/, docs/, test/, and chore/.
Pull requests should explain the user-visible outcome, security and privacy
impact, and validation performed.
make checkmake check verifies formatting, runs static analysis and unit tests, exercises
the compiled CLI against an isolated fixture, and builds the binary.
Changes should:
- Include tests for new behavior.
- Keep scans deterministic by default.
- Preserve stable JSON fields or explicitly document compatibility changes.
- Keep provider-specific behavior behind discovery or analysis adapters.
- Explain the evidence behind security findings.
- Avoid uploading source code or skill contents without explicit consent.
- Distinguish suspicious behavior from confirmed malicious behavior.
For substantial changes, open an issue before implementation so the security and compatibility implications can be discussed.
See docs/architecture.md for package boundaries and design principles.
By contributing, you agree that your contribution is licensed under Apache-2.0.