mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-16 10:40:16 +08:00
refactor: moved diagram logic to 'changes_diagram' in PRDescription and updated prompt for clarity
This commit is contained in:
@ -44,11 +44,14 @@ class FileDescription(BaseModel):
|
||||
|
||||
class PRDescription(BaseModel):
|
||||
type: List[PRType] = Field(description="one or more types that describe the PR content. Return the label member value (e.g. 'Bug fix', not 'bug_fix')")
|
||||
description: str = Field(description="summarize the PR changes in up to four bullet points, each up to 8 words. For large PRs, add sub-bullets if needed. Order bullets by importance, with each bullet highlighting a key change group. {% if add_diagram %} Also, generate a Mermaid sequence diagram that focuses on the main function call flow between classes or components. {% endif %}")
|
||||
description: str = Field(description="summarize the PR changes in up to four bullet points, each up to 8 words. For large PRs, add sub-bullets if needed. Order bullets by importance, with each bullet highlighting a key change group.")
|
||||
title: str = Field(description="a concise and descriptive title that captures the PR's main theme")
|
||||
{%- if enable_semantic_files_types %}
|
||||
pr_files: List[FileDescription] = Field(max_items=20, description="a list of all the files that were changed in the PR, and summary of their changes. Each file must be analyzed regardless of change size.")
|
||||
{%- endif %}
|
||||
{%- if enable_pr_diagram %}
|
||||
changes_diagram: str = Field(description="a horizontal diagram that represents the main PR changes, in the format of a mermaid flowchart. The diagram should be concise and easy to read. Leave empty if no diagram is relevant.")
|
||||
{%- endif %}
|
||||
=====
|
||||
|
||||
|
||||
@ -60,14 +63,6 @@ type:
|
||||
- ...
|
||||
description: |
|
||||
...
|
||||
{%- if add_diagram %}
|
||||
diagram: |
|
||||
sequenceDiagram
|
||||
participant A as ComponentA
|
||||
participant B as ComponentB
|
||||
A->>B: functionCall()
|
||||
B-->>A: response
|
||||
{%- endif %}
|
||||
title: |
|
||||
...
|
||||
{%- if enable_semantic_files_types %}
|
||||
@ -84,6 +79,12 @@ pr_files:
|
||||
label_key_1
|
||||
...
|
||||
{%- endif %}
|
||||
{%- if enable_pr_diagram %}
|
||||
changes_diagram: |
|
||||
```mermaid
|
||||
...
|
||||
```
|
||||
{%- endif %}
|
||||
```
|
||||
|
||||
Answer should be a valid YAML, and nothing else. Each YAML output MUST be after a newline, with proper indent, and block scalar indicator ('|')
|
||||
@ -149,14 +150,6 @@ type:
|
||||
- ...
|
||||
description: |
|
||||
...
|
||||
{%- if add_diagram %}
|
||||
diagram: |
|
||||
sequenceDiagram
|
||||
participant A as ComponentA
|
||||
participant B as ComponentB
|
||||
A->>B: functionCall()
|
||||
B-->>A: response
|
||||
{%- endif %}
|
||||
title: |
|
||||
...
|
||||
{%- if enable_semantic_files_types %}
|
||||
@ -173,6 +166,12 @@ pr_files:
|
||||
label_key_1
|
||||
...
|
||||
{%- endif %}
|
||||
{%- if enable_pr_diagram %}
|
||||
changes_diagram: |
|
||||
```mermaid
|
||||
...
|
||||
```
|
||||
{%- endif %}
|
||||
```
|
||||
(replace '...' with the actual values)
|
||||
{%- endif %}
|
||||
@ -180,4 +179,4 @@ pr_files:
|
||||
|
||||
Response (should be a valid YAML, and nothing else):
|
||||
```yaml
|
||||
"""
|
||||
"""
|
Reference in New Issue
Block a user