1.5.0 • Published 5 months ago

danger-plugin-ai-powered-review v1.5.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

danger-plugin-ai-powered-review

Build Status npm version semantic-release

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.

Features

  • 🤖 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

Installation

# npm
npm install danger-plugin-ai-powered-review --save-dev

# yarn
yarn add danger-plugin-ai-powered-review --dev

Usage

Add this to your dangerfile.js or dangerfile.ts:

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
})

Configuration Options

OptionTypeDefaultDescription
modelstring"gpt-4"OpenAI model to use for review
systemMessagestring-Custom prompt for the AI reviewer
openAIApiKeystringprocess.env.OPENAI_API_KEYOpenAI API key
onlyFreshPRAndExplicitRequestsbooleantrueOnly review fresh PRs or when explicitly requested
explicitRequestCommitMessageSubstringstring"AI_REVIEW_NEEDED"Substring to trigger review in non-fresh PRs

Triggering Reviews

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:

git commit -m "refactor: update error handling AI_REVIEW_NEEDED"

Development

  1. Clone the repository:
git clone https://github.com/sudo-vaibhav/danger-plugin-ai-powered-review.git
cd danger-plugin-ai-powered-review
  1. Install dependencies:
npm install
  1. Build the project:
npm run build
  1. Run tests:
npm test

Available Scripts

  • 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 documentation

Contributing

See CONTRIBUTING.md for detailed contribution guidelines.

License

MIT License - see LICENSE.md for details.

Changelog

See the GitHub release history.

1.5.0

5 months ago

1.4.0

5 months ago

1.3.2

5 months ago

1.3.1

5 months ago

1.3.0

5 months ago

0.0.0-development

5 months ago