PR Creation Process
- •Analyze changes:
git diff main...HEADto understand ALL commits - •Determine affected components: SDK, API, UI, MCP, Docs
- •Fill template sections based on changes
- •Create PR with
gh pr create
PR Template Structure
markdown
### Context
{Why this change? Link issues with `Fix #XXXX`}
### Description
{Summary of changes and dependencies}
### Steps to review
{How to test/verify the changes}
### Checklist
<details>
<summary><b>Community Checklist</b></summary>
- [ ] This feature/issue is listed in [here](https://github.com/prowler-cloud/prowler/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen) or roadmap.prowler.com
- [ ] Is it assigned to me, if not, request it via the issue/feature in [here](https://github.com/prowler-cloud/prowler/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen) or [Prowler Community Slack](goto.prowler.com/slack)
</details>
- Are there new checks included in this PR? Yes / No
- If so, do we need to update permissions for the provider?
- [ ] Review if the code is being covered by tests.
- [ ] Review if code is being documented following https://github.com/google/styleguide/blob/gh-pages/pyguide.md#38-comments-and-docstrings
- [ ] Review if backport is needed.
- [ ] Review if is needed to change the Readme.md
- [ ] Ensure new entries are added to CHANGELOG.md, if applicable.
#### SDK/CLI
- Are there new checks included in this PR? Yes / No
- If so, do we need to update permissions for the provider? Please review this carefully.
#### UI (if applicable)
- [ ] All issue/task requirements work as expected on the UI
- [ ] Screenshots/Video - Mobile (X < 640px)
- [ ] Screenshots/Video - Tablet (640px > X < 1024px)
- [ ] Screenshots/Video - Desktop (X > 1024px)
- [ ] Ensure new entries are added to ui/CHANGELOG.md
#### API (if applicable)
- [ ] All issue/task requirements work as expected on the API
- [ ] Endpoint response output (if applicable)
- [ ] EXPLAIN ANALYZE output for new/modified queries or indexes (if applicable)
- [ ] Performance test results (if applicable)
- [ ] Any other relevant evidence of the implementation (if applicable)
- [ ] Verify if API specs need to be regenerated.
- [ ] Check if version updates are required.
- [ ] Ensure new entries are added to api/CHANGELOG.md
### License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Component-Specific Rules
| Component | CHANGELOG | Extra Checks |
|---|---|---|
| SDK | prowler/CHANGELOG.md | New checks → permissions update? |
| API | api/CHANGELOG.md | API specs, version bump, endpoint output, EXPLAIN ANALYZE, performance |
| UI | ui/CHANGELOG.md | Screenshots for Mobile/Tablet/Desktop |
| MCP | mcp_server/CHANGELOG.md | N/A |
Commands
bash
# Check current branch status git status git log main..HEAD --oneline # View full diff git diff main...HEAD # Create PR with heredoc for body gh pr create --title "feat: description" --body "$(cat <<'EOF' ### Context ... EOF )" # Create draft PR gh pr create --draft --title "feat: description"
Title Conventions
Follow conventional commits:
- •
feat:New feature - •
fix:Bug fix - •
docs:Documentation - •
chore:Maintenance - •
refactor:Code restructure - •
test:Tests
Before Creating PR
- •✅ All tests pass locally
- •✅ Linting passes (
make lintor component-specific) - •✅ CHANGELOG updated (if applicable)
- •✅ Branch is up to date with main
- •✅ Commits are clean and descriptive
Resources
- •Documentation: See references/ for links to local developer guide