Vibecode Greptile

track this build4 phases, 12 steps, beginner friendly
KINDA · weekend project
price $30/moyou'd save $360/yrbuild time a weekendcategory 🛠️ dev toolsreplaced by 0 people

The mechanical core is genuinely a weekend project: a GitHub App that catches pull request webhooks, pulls the diff, retrieves related code from an embedding index of the repo, and posts inline comments from an LLM. You can get to first useful comment in an afternoon. What you will not get in one sitting is signal quality, which is the entire product: knowing when to shut up, not re-flagging the same nit on every push, understanding a monorepo without blowing the context window, and keeping the index fresh without a full reindex on every merge. Expect a bot that is impressive on day one and muted by the team on day nine. Worth building if you own the repo and enjoy tuning prompts; not worth building to save a per-seat fee across a real engineering org.

the project pack5 files · written for this build, step by step
README.md
# Greptile · indie build

A self-hosted review bot for one repository whose hard problems are accounting honestly for the private source it ships to a model, landing comments on lines that actually exist in the diff, and staying quiet enough that the team does not mute it in week two.

Estimated effort: **weekend**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | Python 3.12 with FastAPI, one process plus one indexer command | webhooks need an always-on listener and nothing here justifies more moving parts |
| Storage | SQLite with a vector extension, one file, on the machine that holds the clone | the index is a derivative of private source and belongs where the source already is |
| Identity | A GitHub App, with an installation token minted per job and never written to disk | installation access tokens expire after one hour, so anything long-lived you store is just a liability |
| Model access | One adapter with a local option, every call passing through the egress ledger | swapping providers must not be the moment somebody forgets to record what went out |
| Output | One review per push carrying a capped number of findings, each with a stable fingerprint | a bot that comments forty times is muted, and a muted bot is worth nothing |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Python 3.12 or newer** · free
  - Why: Runs the indexer and the webhook service.
  - Get it: python.org or your version manager.
  - Verify: python3 --version prints 3.12 or higher
- [ ] **A GitHub App registered on one repository** · free
  - Why: An app gets a short-lived installation token scoped to the repository, which is a much smaller thing to lose than a personal token.
  - Get it: Register an app with contents read, pull requests write and metadata read, install it on one repository, and download the private key.
  - Verify: The app mints an installation token and reads the repository
- [ ] **A model endpoint, hosted or local** · pay per token for a hosted model; free but slower locally
  - Why: This is the only part that costs money and the only part that sees your source, which is why the choice is a prerequisite rather than a detail.
  - Get it: A provider key with a spend limit set in their console, or a local model served on the same machine.
  - Verify: One chunk embeds and one review call returns valid structured output
- [ ] **What your employer allows to leave the repository** · free
  - Why: Deciding this after the bot is running means discovering the answer from somebody else, loudly.
  - Get it: Read the provider's data policy, note the retention period and the date, and confirm the repository owner accepts it in writing.
  - Verify: The README states the policy, the date and who agreed
- [ ] **A machine that stays on with the clone on it** · the price of a small instance, or free on hardware you already run
  - Why: Webhooks arrive when they arrive, and the index has to live beside the code it indexes.
  - Get it: Any always-on machine, or a tunnel to your workstation for testing only.
  - Verify: A pull request event reaches the service within seconds

## Quick start

Follow Phase 1 in `BUILD_PLAN.md`; it creates the project.

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- Other hosting platforms.
- Learning from dismissed comments.
- Automatic fix commits.
- Multi-tenant hosting of anyone else's source.
- Tuned false-positive suppression: their bot has been beaten into silence by thousands of teams, yours has not
- Incremental reindexing and monorepo handling that does not choke on a 500k file tree
- Memory of past reviews so the same nit is not raised on every force push
- Team-level config, custom rule sets, and per-repo style learning from accepted or dismissed comments
- Bitbucket, GitLab, and self-hosted host support, plus SOC 2 paperwork your security team will ask for

If one of those is essential to you, that is the reason to keep paying for Greptile, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

why people still pay

Because a noisy code reviewer is worse than none, and getting from noisy to useful is a long grind of prompt tuning, retrieval tweaks, and feedback loops you cannot shortcut with one prompt. Teams also want the review bot to be someone else's uptime problem, to work across every repo without a platform engineer babysitting an index, and to arrive with a compliance page attached. A per-developer fee is trivially cheaper than an engineer maintaining an in-house bot that everyone quietly mutes.

what you lose

xTuned false-positive suppression: their bot has been beaten into silence by thousands of teams, yours has not

xIncremental reindexing and monorepo handling that does not choke on a 500k file tree

xMemory of past reviews so the same nit is not raised on every force push

xTeam-level config, custom rule sets, and per-repo style learning from accepted or dismissed comments

xBitbucket, GitLab, and self-hosted host support, plus SOC 2 paperwork your security team will ask for

prior art · use these instead of building, if you'd rather

Nothing worth pointing at. That's why the prompt exists.

share on X ↗"I just replaced Greptile ($30/mo) with one prompt"
questions
Vibecode Greptile

Kinda. The core of Greptile is buildable in a weekend with the prompt on this page, but there are real gaps: Tuned false-positive suppression: their bot has been beaten into silence by thousands of teams, yours has not, Incremental reindexing and monorepo handling that does not choke on a 500k file tree. Read the honest list above before committing.

How much does Greptile cost?

Greptile costs about $30/month (Pro, checked 2026-08-18), which is $360 per year.

What do I lose by replacing Greptile?

Honestly: Tuned false-positive suppression: their bot has been beaten into silence by thousands of teams, yours has not; Incremental reindexing and monorepo handling that does not choke on a 500k file tree; Memory of past reviews so the same nit is not raised on every force push; Team-level config, custom rule sets, and per-repo style learning from accepted or dismissed comments; Bitbucket, GitLab, and self-hosted host support, plus SOC 2 paperwork your security team will ask for. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to Greptile?

No mature open-source alternative worth pointing at, which is exactly why the one-shot prompt on this page exists.