> ## Documentation Index
> Fetch the complete documentation index at: https://www.greptile.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Key Features

> Explore Greptile's key features: full codebase context for reviews, conversational follow-ups, reinforcement learning from feedback, and pattern repos.

Greptile is mainly differentiated by it's ability to review PRs with complete context of the codebase, learn from user feedback, and with a high signal-to-noise ratio.

## 1. Complete Codebase Context

When you connect your repos to Greptile, it generates a detailed graph of what every function, variable, class, file, and directory does, and how they are all connected.

While reviewing a diff, Greptile uses this graph to retrieve the code affected by the diff, its dependencies, related code, and similar code, to ensure it has the context required to evaluate the code changes.

## 2. Conversation

You can ask Greptile for fixing suggestions or asking follow up questions by replying to its comments in format `@greptileai <your question>`.

<Frame>
  <img src="https://mintcdn.com/greptile/wvtqATBJVpVBBYwq/images/cr-bot/qna.gif?s=2bd60e071b173a8fb4e8b49094918eb3" alt="Example of Greptile AI code review conversation" width="600" height="455" data-path="images/cr-bot/qna.gif" />

  <figcaption>Example of Greptile AI code review conversation</figcaption>
</Frame>

## 3. Reinforcement Learning

Greptile learns from your feedback when you react with `👍` or `👎` to its comments. This allows it to only comment on the things your team cares about most.

<Frame>
  <img src="https://mintcdn.com/greptile/wvtqATBJVpVBBYwq/images/cr-bot/downvote.gif?s=b29c116b5023f257927ee4667b041858" alt="Example of Greptile AI code review reaction" width="600" height="305" data-path="images/cr-bot/downvote.gif" />

  <figcaption>Example of Greptile AI code review reaction</figcaption>
</Frame>

## 4. Pattern Repos

In the `greptile.json` file, you can specify a `patternsRepo` field with repos related to the one being reviewed that might add helpful context.
An example is adding a frontend repo to a backend repo's `greptile.json` file so that the agent can reference frontend code when reviewing backend code.

Learn more about greptile.json [here](/docs/code-review-bot/greptile-json).
