feat: Add @codebot help command for instant discoverability #9

Merged
Latte merged 1 commits from feature/help-command into dev 2025-12-28 19:00:24 +00:00
5 changed files with 148 additions and 1 deletions
Showing only changes of commit 73d3dc6e37 - Show all commits

View File

@@ -318,6 +318,7 @@ pytest tests/test_ai_review.py::TestSecurityScanner -v
5. Add tests in `tests/test_ai_review.py`
Example commands:
- `@codebot help` - Show all available commands with examples
- `@codebot triage` - Full issue triage with labeling
- `@codebot explain` - Explain the issue
- `@codebot suggest` - Suggest solutions

View File

@@ -173,6 +173,7 @@ In any issue comment:
| Command | Description |
|---------|-------------|
| `@codebot help` | **Help:** Show all available commands with examples |
| `@codebot setup-labels` | **Setup:** Automatically create/map repository labels for auto-labeling |
| `@codebot triage` | Full issue triage with auto-labeling and analysis |
| `@codebot summarize` | Summarize the issue in 2-3 sentences |
@@ -180,6 +181,8 @@ In any issue comment:
| `@codebot suggest` | Suggest solutions or next steps |
| `@codebot` (any question) | Chat with AI using codebase/web search tools |
**New to OpenRabbit?** Just type `@codebot help` in any issue to see all available commands!
### Label Setup Command
The `@codebot setup-labels` command intelligently detects your existing label schema and sets up auto-labeling:

View File

@@ -263,6 +263,84 @@ class TestMetrics:
assert summary["requests"]["success"] == 1
class TestHelpCommand:
"""Test help command functionality."""
def test_help_command_returns_text(self):
"""Test that help command returns formatted help text."""
from agents.issue_agent import IssueAgent
agent = IssueAgent(
gitea_client=None,
llm_client=None,
config={
"interaction": {
"mention_prefix": "@codebot",
"commands": ["help", "triage", "explain"],
}
},
)
help_text = agent._command_help()
assert help_text is not None
assert len(help_text) > 100
assert "@codebot" in help_text
assert "help" in help_text.lower()
assert "triage" in help_text.lower()
def test_help_includes_all_sections(self):
"""Test that help text includes all major sections."""
from agents.issue_agent import IssueAgent
agent = IssueAgent(
gitea_client=None,
llm_client=None,
config={"interaction": {"mention_prefix": "@codebot"}},
)
help_text = agent._command_help()
# Check for main sections
assert "Issue Triage" in help_text
assert "Interactive Chat" in help_text
assert "Setup & Utility" in help_text
assert "Pull Request" in help_text
assert "Quick Examples" in help_text
def test_help_uses_custom_bot_name(self):
"""Test that help command uses custom bot name from config."""
from agents.issue_agent import IssueAgent
agent = IssueAgent(
gitea_client=None,
llm_client=None,
config={"interaction": {"mention_prefix": "@mybot"}},
)
help_text = agent._command_help()
assert "@mybot" in help_text
assert "@codebot" not in help_text
def test_help_includes_examples(self):
"""Test that help text includes usage examples."""
from agents.issue_agent import IssueAgent
agent = IssueAgent(
gitea_client=None,
llm_client=None,
config={"interaction": {"mention_prefix": "@codebot"}},
)
help_text = agent._command_help()
# Check for example commands
assert "triage" in help_text
assert "explain" in help_text
assert "setup-labels" in help_text
class TestLabelSetup:
"""Test label setup and schema detection."""

View File

@@ -380,7 +380,9 @@ class IssueAgent(BaseAgent):
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
title = issue.get("title", "")
body = issue.get("body", "")
if command == "summarize":
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
if command == "help":
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
return self._command_help()
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
elif command == "summarize":
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
return self._command_summarize(title, body)
elif command == "explain":
return self._command_explain(title, body)
@@ -445,6 +447,68 @@ Be practical and concise."""
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
except Exception as e:
return f"{self.AI_DISCLAIMER}\n\nSorry, I was unable to generate suggestions. Error: {e}"
def _command_help(self) -> str:
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
"""Generate help message with all available commands."""
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
mention_prefix = self.config.get("interaction", {}).get(
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
"mention_prefix", "@codebot"
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
)
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
help_text = f"""{self.AI_DISCLAIMER}
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
## Available {mention_prefix} Commands
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
### Issue Triage & Analysis
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- `{mention_prefix} triage` - Full issue triage with auto-labeling and priority assignment
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- `{mention_prefix} summarize` - Generate 2-3 sentence summary of the issue
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- `{mention_prefix} explain` - Detailed explanation of what the issue is about
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- `{mention_prefix} suggest` - Solution suggestions or next steps
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- `{mention_prefix} security` - Security-focused analysis of the issue
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
### Interactive Chat
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- `{mention_prefix} [question]` - Ask questions about the codebase (uses search & file reading tools)
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- Example: `{mention_prefix} how does authentication work?`
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- Example: `{mention_prefix} find all API endpoints`
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
### Setup & Utility
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- `{mention_prefix} help` - Show this help message
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- `{mention_prefix} setup-labels` - Auto-create/map repository labels for auto-labeling
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
### Pull Request Analysis
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
PR reviews run automatically when you open or update a pull request. The bot provides:
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- Inline code review comments
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- Security vulnerability scanning
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
- Approval or change-request recommendations
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
---
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
### Quick Examples
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
**Triage an issue:**
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
```
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
{mention_prefix} triage
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
```
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
**Get help understanding:**
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
```
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
{mention_prefix} explain
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
```
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
**Ask about the codebase:**
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
```
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
{mention_prefix} how does the authentication system work?
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
```
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
**Setup repository labels:**
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
```
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
{mention_prefix} setup-labels
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
```
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
---
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
*For full documentation, see the [README](https://github.com/YourOrg/OpenRabbit/blob/main/README.md)*
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
"""
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
return help_text
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
def _command_triage(self, context: AgentContext, issue: dict) -> str:
"""Perform full triage analysis on the issue."""
title = issue.get("title", "")
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.
Review

[LOW] Maintainability

The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow.

Recommendation: Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

**[LOW] Maintainability** The help text is hardcoded as a large multiline string inside the method, which could become difficult to maintain as commands evolve or grow. **Recommendation:** Consider externalizing the help text to a separate markdown or template file, or build it dynamically from the configured commands to improve maintainability and reduce duplication.

View File

@@ -59,6 +59,7 @@ interaction:
Review

[LOW] Maintainability

The 'help' command was added to the commands list but is not included in the default commands in some places (e.g., in the test config for IssueAgent instantiation).

Recommendation: Ensure the 'help' command is consistently included in all relevant configurations and documentation to avoid confusion or missing functionality.

**[LOW] Maintainability** The 'help' command was added to the commands list but is not included in the default commands in some places (e.g., in the test config for IssueAgent instantiation). **Recommendation:** Ensure the 'help' command is consistently included in all relevant configurations and documentation to avoid confusion or missing functionality.
Review

[LOW] Maintainability

The 'help' command was added to the commands list but is not included in the default commands in some places (e.g., in the test config for IssueAgent instantiation).

Recommendation: Ensure the 'help' command is consistently included in all relevant configurations and documentation to avoid confusion or missing functionality.

**[LOW] Maintainability** The 'help' command was added to the commands list but is not included in the default commands in some places (e.g., in the test config for IssueAgent instantiation). **Recommendation:** Ensure the 'help' command is consistently included in all relevant configurations and documentation to avoid confusion or missing functionality.
respond_to_mentions: true
mention_prefix: "@codebot" # Change this to customize your bot's name!
commands:
- help
Review

[LOW] Maintainability

The 'help' command was added to the commands list but is not included in the default commands in some places (e.g., in the test config for IssueAgent instantiation).

Recommendation: Ensure the 'help' command is consistently included in all relevant configurations and documentation to avoid confusion or missing functionality.

**[LOW] Maintainability** The 'help' command was added to the commands list but is not included in the default commands in some places (e.g., in the test config for IssueAgent instantiation). **Recommendation:** Ensure the 'help' command is consistently included in all relevant configurations and documentation to avoid confusion or missing functionality.
- explain
- suggest
- security
Review

[LOW] Maintainability

The 'help' command was added to the commands list but is not included in the default commands in some places (e.g., in the test config for IssueAgent instantiation).

Recommendation: Ensure the 'help' command is consistently included in all relevant configurations and documentation to avoid confusion or missing functionality.

**[LOW] Maintainability** The 'help' command was added to the commands list but is not included in the default commands in some places (e.g., in the test config for IssueAgent instantiation). **Recommendation:** Ensure the 'help' command is consistently included in all relevant configurations and documentation to avoid confusion or missing functionality.
Review

[LOW] Maintainability

The 'help' command was added to the commands list but is not included in the default commands in some places (e.g., in the test config for IssueAgent instantiation).

Recommendation: Ensure the 'help' command is consistently included in all relevant configurations and documentation to avoid confusion or missing functionality.

**[LOW] Maintainability** The 'help' command was added to the commands list but is not included in the default commands in some places (e.g., in the test config for IssueAgent instantiation). **Recommendation:** Ensure the 'help' command is consistently included in all relevant configurations and documentation to avoid confusion or missing functionality.