Thank you for your interest in contributing to DeepCode!
- Small PRs only — one module per PR, < 500 lines preferred.
- New file first — pure additions with env-knob (default off) are easiest to merge.
- Rebase before push — always rebase on latest upstream/main.
- Pre-commit check — run
pre-commit run --all-filesbefore pushing. - CI must pass — all 4 workflows green before requesting review.
- Evidence over claims — each PR needs test results, not just "it works".
Changes that touch security, permissions, sandbox, or authentication require additional approval:
- Add the
securitylabel to the PR automatically. - Request review from @Zongwei9888 explicitly.
- In the PR description, include a Security Considerations section describing:
- What attack surface is being changed
- Why the change is safe (fail-safe by default)
- What testing was done to verify security properties
- The PR will not be merged without explicit security review approval.
- Python: ruff format + ruff check (see
.pre-commit-config.yaml) - Run
pre-commit run --all-filesbefore every push - Tests:
pytest -qfor Python, ensure all CI workflows pass
Open an issue or start a Discussion for questions before submitting a PR.