Understand your codebase without re-reading.
Find where things live. Learn how they work. With your AI agent.
A private, repo-aware AI that helps you understand your codebase - grounded in your actual files. No guessing.
- Grounded answers only (with file + path citations)
- Read-only GitHub access. No training on your code
- Index once → ask questions anytime
Connect Index Ask
Connect GitHub
Authorize read-only access to your repository. We never write to your code.
Index a branch
We index your chosen branch once in the background - ready in minutes.
Ask questions
Chat with your repo and get answers grounded in your actual files, with citations, across all platforms.
What will you ask your codebase?
Codebase reorientation
“Explain how this project works...”
“What frameworks does this repo use...”
Feature tracing
“What happens when a user signs up...”
“Trace the checkout flow end to end...”
Risk before changes
“What depends on this function...”
“Will renaming this break anything...”
Legacy clarity
“Why is this middleware here...”
“What does this legacy helper do...”
Onboarding (teams)
“Where does billing logic live...”
“How are permissions enforced...”
Architecture review
“How are services connected...”
“What patterns does this codebase follow...”
Answers you can verify
Q: Where is authentication handled?
Authentication is implemented in a middleware layer that validates JWTs on every protected route, with session management handled alongside.
Citations
- src/auth/verifyToken.ts
- src/middleware/authGuard.ts
- src/auth/session.ts
Q: What triggers the background job?
A cron scheduler enqueues jobs via the task queue. Workers pick up tasks and run the processing pipeline defined in the jobs directory.
Citations
- src/jobs/scheduler.ts
- src/queue/worker.ts
- src/jobs/processTask.ts
Q: How does billing work?
Stripe webhooks update subscription state in the database. The billing service exposes helpers consumed by the account settings page.
Citations
- src/billing/stripeWebhook.ts
- src/billing/subscriptionService.ts
- src/api/account.ts
Q: How are permissions enforced?
A role-based access control layer checks user permissions before each protected action. Roles are defined in a central config and evaluated by a guard middleware.
Citations
- src/auth/roles.ts
- src/middleware/permissionGuard.ts
- src/config/permissions.ts
