Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ reviews:
auto_review:
enabled: true
drafts: false
# Documentation-only PRs are not reviewed (conventional "docs" titles).
ignore_title_keywords:
- "docs:"
- "docs("
# Documentation and specs are not reviewed.
path_filters:
- "!**/*.md"
- "!docs/**"
- "!openspec/**"
path_instructions:
- path: "apps/**/*.py"
instructions: >-
Expand Down
26 changes: 6 additions & 20 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,11 @@ profiles, screenshots containing credentials, or downloaded customer documents.

State whether AI assisted this change and what the author verified.

## CodeRabbit review

Public repositories with fewer than 10 stars require a manual review request,
even when automatic reviews are enabled. Bot-authored PRs may also be skipped.

Once this PR is open and its changes are ready, comment `@coderabbitai review`
on the PR to request an incremental review. Use `@coderabbitai full review`
only when a complete new pass is needed. These commands are instructions for
an actual PR comment; text in this PR description does not trigger them.

- [ ] Request a CodeRabbit review on the final PR head.
- [ ] Verify that the review completed and covers that head; a walkthrough,
summary, skipped notice or pending status alone is not review evidence.
- [ ] Address confirmed findings and record the review link and reviewed head
SHA. If review cannot complete, record the reason for the maintainer.

If more commits are pushed after the review, request another incremental pass.
Do not treat CodeRabbit as a substitute for CI or the repository's required
human/independent review. Maintainers decide whether to merge if CodeRabbit
is unavailable.
## Pullfrog review

Pullfrog is the sole reviewer. Require a completed review of the final head,
resolve actionable threads and keep all CI checks green. Ignore CodeRabbit and
the known sticky `pullfrog-approval` status only. PRs that change only
`*.md` files need CI only.

Review evidence: <!-- completed review URL and reviewed commit SHA -->
21 changes: 21 additions & 0 deletions .github/workflows/pullfrog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,33 @@ jobs:
permissions:
id-token: write
contents: read
pull-requests: read
steps:
# Local addition: documentation-only PRs (only *.md files, docs/ or
# openspec/, the pr-gate rule; doc/ assets still get a review) are not
# reviewed. Fails open: without a PR number or file list, the review runs.
- name: Skip documentation-only PRs
id: scope
env:
GH_TOKEN: ${{ github.token }}
RUN_NAME: ${{ inputs.name }}
run: |
review=true
pr=$(printf '%s' "$RUN_NAME" | sed -nE 's/^Review (new commits on )?#([0-9]+).*/\2/p')
if [ -n "$pr" ]; then
files=$(gh pr diff "$pr" --repo "$GITHUB_REPOSITORY" --name-only || true)
if [ -n "$files" ] && ! printf '%s\n' "$files" | grep -qvE '^(docs/|openspec/)|\.md$'; then
Comment thread
flowcool marked this conversation as resolved.
Resolved
review=false
fi
fi
echo "review=$review" >> "$GITHUB_OUTPUT"
- name: Checkout code
if: steps.scope.outputs.review == 'true'
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 1
- name: Run agent
if: steps.scope.outputs.review == 'true'
Comment thread
flowcool marked this conversation as resolved.
Resolved
uses: pullfrog/pullfrog@ae4145b3d72b3f4aa045e2352dc6b2c7538daeeb # deployed on flowcool/ghostfolio-ibkr-sync
with:
prompt: ${{ inputs.prompt }}