Features built around how engineers actually work

Six capabilities share one understanding of your code. Ask, review, document, test and map from the same workspace.

Codebase Q&A

Ask how something works and get an answer written from your own repository, with the exact places to look.

  • Answers include file paths and line ranges
  • Scope questions to a repository, folder or service
  • Follow-up questions keep their context
  • Clear statements when the code does not answer the question
Ask codebase / payments-platform
Where do we retry failed webhooks?
CodePilot AI

Failed deliveries are retried up to five times with exponential backoff. The schedule is defined in retryDelay() and applied by the webhook worker.

retry.policy.ts:14-31webhook.worker.ts:52-88
Can the retry limit be configured per customer?
CodePilot AI

Not today. MAX_ATTEMPTS is a constant in retry.policy.ts. I found no per-customer setting in the schema.

AI code review

Get a thorough first pass on every pull request, so human reviewers can spend their time on design and intent.

  • Potential bugs, security concerns and performance issues
  • Severity levels and links to the affected lines
  • Suggested fixes shown as ready-to-review code
  • Checks that use context from the whole repository
Review findings / #482
  • Security concernCritical

    Token written to application logs

    auth.middleware.ts:31

    The full Authorization header is logged on failure. Log the request id instead.

  • Potential bugHigh

    Unhandled promise rejection

    webhook.worker.ts:77

    await is missing on queue.ack(), so failures are silently dropped.

  • Performance issueMedium

    Sequential requests inside a loop

    sync.service.ts:44

    Independent calls can run with Promise.all in batches.

Documentation generation

Turn source code into documentation people will actually read, and regenerate it when the code moves on.

  • READMEs, API references and architecture overviews
  • Onboarding guides for new team members
  • Markdown export for your existing docs site
  • Generated from the code, with references to the source
Documentation / WebhookWorker

WebhookWorker

Consumes delivery jobs from the queue, signs each payload and posts it to the customer endpoint.

Behaviour
  • Retries failed deliveries up to five times with exponential backoff.
  • Marks an endpoint unhealthy after ten consecutive failures.
  • Records every attempt in the delivery_log table.
Related

retry.policy.ts, signature.util.ts, delivery_log

Generated from 4 filesExport Markdown

Test-case suggestions

Find what is not covered and get concrete test ideas, including the edge cases that cause production incidents.

  • Untested branches and error paths
  • Edge cases for inputs, limits and rounding
  • Test skeletons in your framework, such as Jest, PyTest or JUnit
  • Prioritised by how often the code changes
Test suggestions / cart.service.ts
export function applyDiscount(cart: Cart, code: string): Cart {  const promo = promos.find((p) => p.code === code);  if (!promo || promo.expiresAt < Date.now()) return cart;  const discount = Math.min(cart.subtotal * promo.rate, promo.cap);  return { ...cart, total: cart.subtotal - discount };}
Suggested test cases
  • Applies the percentage discount for a valid code
  • Ignores an expired code and returns the cart unchanged
  • Caps the discount at promo.cap for large carts
  • Rejects a promo with rate above 1, which makes the total negative
  • Rounds correctly to two decimal places
applyDiscount.test.ts, generated skeleton
describe("applyDiscount", () => {  // SAVE20: 20% off, capped at 150  it("caps the discount at promo.cap", () => {    const cart = { subtotal: 1000, total: 1000 };    const result = applyDiscount(cart, "SAVE20");    expect(result.total).toBe(850);  });});

Architecture understanding

See how your software fits together without redrawing diagrams by hand, and learn where a change is likely to ripple.

  • Service, module and data store dependency maps
  • Impact analysis before a refactor
  • Highlights of tightly coupled or high-risk modules
  • Explanations in plain language for new team members
Architecture map / payments-platform
web-appapi-gatewayauth-servicebilling-servicenotificationspostgresjob-queue
billing-service is the most connected module: 14 files depend on it. Changes here ripple to the database, the job queue and notifications.

Developer productivity insights

Understand where engineering time goes and where knowledge is concentrated, then act on it.

  • Review turnaround and queue health
  • Hotspots: the files that change most
  • Areas that only one person understands
  • Trends your engineering leads can share
Insights / payments-platform
Review turnaroundSample data, hours
Files that change mostLast 90 days
  • billing.service.ts
  • invoice.controller.ts
  • webhook.worker.ts
  • auth.middleware.ts
Knowledge concentration2 areas at risk

Most changes to src/billing and src/jobs come from one contributor each. Consider documenting these areas and pairing on reviews.

See what CodePilot AI finds in your codebase

Book a walkthrough and we will run CodePilot AI against a repository so you can judge the answers, reviews and documentation for yourself.