use LLMs to find code smells and common anti-patterns before humans review PR
npm install danger-plugin-ai-powered-review


> A Danger.js plugin that uses Large Language Models (LLMs) to automatically detect code smells and common anti-patterns in your Pull Requests before human review.
- 🤖 Automated code review using LLMs (GPT-4 by default)
- 🔍 Detects code smells and anti-patterns
- ⚡ Reviews only fresh PRs or when explicitly requested
- 🎯 Customizable system prompts for specific review focus
- 🔑 Flexible API key configuration
``shnpm
npm install danger-plugin-ai-powered-review --save-dev
Usage
Add this to your
dangerfile.js or dangerfile.ts:`js
import aiPoweredReview from 'danger-plugin-ai-powered-review'// Basic usage with default options
aiPoweredReview({
systemMessage: "Review the code for potential issues and suggest improvements.",
openAIApiKey: "your-api-key" // Or use OPENAI_API_KEY environment variable
})
// Advanced configuration
aiPoweredReview({
model: "gpt-4", // Specify OpenAI model
systemMessage: "Focus on security vulnerabilities and performance issues",
openAIApiKey: process.env.OPENAI_API_KEY,
onlyFreshPRAndExplicitRequests: true, // Only review fresh PRs or when explicitly requested
explicitRequestCommitMessageSubstring: "AI_REVIEW_NEEDED" // Custom trigger phrase
})
`$3
| Option | Type | Default | Description |
|--------|------|---------|-------------|
|
model | string | "gpt-4" | OpenAI model to use for review |
| systemMessage | string | - | Custom prompt for the AI reviewer |
| openAIApiKey | string | process.env.OPENAI_API_KEY | OpenAI API key |
| onlyFreshPRAndExplicitRequests | boolean | true | Only review fresh PRs or when explicitly requested |
| explicitRequestCommitMessageSubstring | string | "AI_REVIEW_NEEDED" | Substring to trigger review in non-fresh PRs |$3
The plugin will automatically review:
1. Fresh PRs (where the latest commit is made before or at PR creation time)
2. PRs with commits containing "AI_REVIEW_NEEDED" (or your custom trigger phrase)
To explicitly request a review on an existing PR:
`sh
git commit -m "refactor: update error handling AI_REVIEW_NEEDED"
`Development
1. Clone the repository:
`sh
git clone https://github.com/sudo-vaibhav/danger-plugin-ai-powered-review.git
cd danger-plugin-ai-powered-review
`2. Install dependencies:
`sh
npm install
`3. Build the project:
`sh
npm run build
`4. Run tests:
`sh
npm test
`$3
-
npm run build - Compile TypeScript to JavaScript
- npm test - Run Jest tests
- npm run lint - Run TSLint
- npm run prettier-project - Format code using Prettier
- npm run docs` - Generate documentationSee CONTRIBUTING.md for detailed contribution guidelines.
MIT License - see LICENSE.md for details.
See the GitHub release history.