Greptile logo

AI-Powered Code Reviews That Actually Work

Greptile reviews your code changes with full context, catching bugs and improving quality across your entire codebase.
lib/apps/api/greptile-api-router/utils.js
175
)
176
: await getApiSubscriptionItemIdFromEmail(apiKeyInfo.ema
177
return {
178
userId: apiKeyInfo.userId || apiKeyInfo.email,
178
userId: apiKeyInfo.userId,
Greptile logo
greptilebot • last week

Ensure userId is always populated to avoid breaking changes.

Vaishant face
vkameswaran5 days ago

Noted!

Accelerating 800+ software teams

Metamask logo - Trusted by Greptile
Bland AI logo - Trusted by Greptile
Vouch logo - Trusted by Greptile
Eqtble logo - Trusted by Greptile
Wombo AI logo - Trusted by Greptile
Exa AI logo - Trusted by Greptile
Warp logo - Trusted by Greptile
Storybook logo - Trusted by Greptile
Simplify logo - Trusted by Greptile
Replo logo - Trusted by Greptile
Million logo - Trusted by Greptile
Straddle AI logo - Trusted by Greptile
SFR3 logo - Trusted by Greptile
Hatch logo - Trusted by Greptile
Langfuse logo - Trusted by Greptile
ConsenSys logo - Trusted by Greptile
Anima Health logo - Trusted by Greptile
Shopmonkey logo - Trusted by Greptile

Full Codebase Context Analysis

178
userId: apiKeyInfo.userId || apiKeyInfo.email,
179
userId: apiKeyInfo.userId,
Greptile AI Code ReviewGreptile AI2 minutes ago

This change breaks the user authentication flow in src/auth/userService.ts by assuming userId is always defined. Consider handling potential undefined values.

Greptile uses abstract syntax trees and call graphs to analyze how changes might affect other parts of your codebase, identifying hard-to-catch bugs and potential issues.

Interactive PR/MR Chat

42
const samlResponse = getSamlResponse(request);
43
const samlResponse = await getSamlResponse(request);
Developer
Developercommented 2 minutes ago

Will this change impact our SSO authentication flow?

Greptile AI Assistant
Greptile AIresponded 1 minute ago

This change doesn't break the SSO flow, but it may introduce additional latency due to the asynchronous nature of the updated SAML response retrieval.

Engage in real-time conversations about your Pull Requests or Merge Requests directly within GitHub or GitLab using Greptile's AI-powered chat feature.

High-Signal, Low-Noise Reviews

18 files changed, 0 comments.
Greptile AI ReviewGreptile AI2 minutes ago

LGTM! No significant issues detected in this change set.

Unlike verbose AI code reviews, Greptile is designed to provide concise, relevant feedback, minimizing noise and maximizing value in your development workflow.

Extremely Customizable

Code Reviewer System Prompt

Tailor Greptile to your team's specific needs. Customize review criteria and coding standards using natural language instructions.


“Our monorepo is too large for most code review tools to get a proper overview, but somehow Greptile just understands how everything connects.

August, CPO at Leya

August Erséus, CPO

Leya logo
1

Context-Aware Code Analysis

Greptile's AI bot provides insightful comments on code changes, considering their impact on the entire codebase and offering valuable recommendations.

Greptile AI AnalysisGreptile AIjust now

The modification in auth.js has implications for the user flow in profile.js. Consider updating both files to maintain consistency and prevent potential issues.

2

Security & Compliance

The bot addresses potential security or compliance issues produced by changes, enhancing code safety.

Greptilegreptilejust now

The new API endpoint in routes.js is missing input validation. This could lead to potential security vulnerabilities.

3

Contextual Summaries

Greptile summarizes changes with codebase context, making it easier for human reviewers to parse and understand modifications.

Greptilegreptilejust now

This PR updates the user authentication flow:

  • Affects 3 files: auth.js, login.js, and dashboard.js
  • Main changes include:
  • Updated login process in auth.js
  • Modified user interface in login.js
  • Adjusted dashboard access control in dashboard.js

4

Preventing Repetition

The bot references similar code or abstractions already in the codebase, helping maintain consistency and prevent duplication.

Greptilegreptilejust now

The new utility function in helpers.js is similar to an existing one in utils/string.js. Consider using or extending the existing function instead.


Frequently Asked Questions

Can't find what you're looking for? Don't hesitate to contact us for more information.

How does Greptile's pricing work?

Greptile charges per API call. Every file reviewed is one API call. See our pricing page for detailed API rates.

Can Greptile be self-hosted?

Yes, you can self-host the entirety of Greptile in your own AWS environment, and even use your own LLM providers for added flexibility.

Are there free trials or discounts available?

Greptile offers free usage for qualified open source projects and significant discounts for pre-Series A startups. Contact hello@greptile.com to check your eligibility.

What programming languages does Greptile support?

Greptile fully supports Python, JavaScript, TypeScript, Go, Elixir, Java, C, C++, C#, Swift, PHP, and Rust. Most other languages are supported with slightly lower response quality.

Is Greptile compatible with GitLab and BitBucket?

Yes, Greptile integrates seamlessly with GitLab and BitBucket in addition to GitHub.

How long do Greptile's code reviews typically take?

Review times range from 1-5 minutes, depending on the size and complexity of the code changes.


Want to see the code review bot in action? Check out Storybook, an open source project that uses Greptile to review PRs.

Ready to accelerate your code reviews?