Added docs folder
This commit is contained in:
101
docs/develoepr-guide/ai-reviewer-output-format.md
Normal file
101
docs/develoepr-guide/ai-reviewer-output-format.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# AI Code Reviewer — Output Comment Format
|
||||
|
||||
## 1. Summary Comment
|
||||
|
||||
The summary comment is posted by the bot as a **top-level PR comment** after the review is complete.
|
||||
It provides a high-level assessment of the entire diff.
|
||||
|
||||
### Format
|
||||
|
||||
```
|
||||
🔴 Code quality assessment: <Poor | Acceptable | Excellent>
|
||||
|
||||
ℹ️ Conclusion: <Short explanation of the most critical finding and its impact>
|
||||
|
||||
❌ Merge: No - <reason>
|
||||
✅ Merge: Yes
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
> 🔴 Code quality assessment: Poor
|
||||
>
|
||||
> ℹ️ Conclusion: The commit introduces a critical bug where `Stopwatch.StartNew()` is called twice on consecutive lines (lines 15–16 in `samples/AR/App.cs`). The duplicate assignment statement must be removed.
|
||||
>
|
||||
> ❌ Merge: No - blocking issue must be resolved first
|
||||
|
||||
### Quality Levels
|
||||
|
||||
| Badge | Label | Meaning |
|
||||
|---|---|---|
|
||||
| 🔴 | Poor | Blocking issues found, must not merge |
|
||||
| 🟡 | Acceptable | Minor suggestions only |
|
||||
| ✅ | Excellent | No issues found |
|
||||
|
||||
---
|
||||
|
||||
## 2. Inline Comments
|
||||
|
||||
Inline comments are posted **directly on the changed lines** in the diff.
|
||||
They follow the [**Conventional Comments**](https://conventionalcomments.org/) approach to make severity and intent immediately clear.
|
||||
|
||||
### Conventional Comments Format
|
||||
|
||||
```
|
||||
<emoji> <label> (<optional decoration>): <subject>
|
||||
|
||||
<body — explanation of the issue>
|
||||
|
||||
💻 Suggested Code:
|
||||
<code block with the fix>
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
Posted inline on line 16 of `samples/AR/App.cs`:
|
||||
|
||||
---
|
||||
|
||||
> 🔴 Issue (Blocking): Duplicate Stopwatch initialization
|
||||
>
|
||||
> The `Stopwatch.StartNew()` call on line 15 is repeated on line 16, which overwrites the first instance. This appears to be an accidental duplicate that should be removed.
|
||||
>
|
||||
> 💻 Suggested Code:
|
||||
> ```csharp
|
||||
> public void Run(string reportName, Dictionary<string, object[]>? reportParameters)
|
||||
> {
|
||||
> var sw = Stopwatch.StartNew();
|
||||
> Trace.WriteLine($"{sw.ElapsedMilliseconds} : Start { reportName}!");
|
||||
> _reportExport.Run(reportName, reportParameters, sw);
|
||||
> sw.Stop();
|
||||
> Trace.WriteLine($"{sw.ElapsedMilliseconds} : End!");
|
||||
> }
|
||||
> ```
|
||||
|
||||
|
||||
## 3. Request Changes or Approve Pull Request
|
||||
|
||||
After posting comments, the bot submits a **formal PR review** with one of two states.
|
||||
|
||||
### Request Changes
|
||||
|
||||
Triggered when one or more **Blocking** issues are found.
|
||||
|
||||
```
|
||||
Status: ❌ Request Changes
|
||||
```
|
||||
|
||||
The PR is blocked from merging (if branch protection rules are enabled) until:
|
||||
- The author fixes the blocking issues
|
||||
- The bot re-reviews after a new commit (`synchronize` event)
|
||||
- A human reviewer overrides the block
|
||||
|
||||
---
|
||||
|
||||
### Approved
|
||||
|
||||
Triggered when no blocking issues are found.
|
||||
|
||||
```
|
||||
Status: ✅ Approved
|
||||
```
|
||||
Reference in New Issue
Block a user