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, varable, 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 reqiured to evaluate the code changes.

2. Conversation

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

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.

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 bot can reference frontend code when reviewing backend code.

Learn more about greptile.json here.