← Lab
πŸ”Ž Ask My Codebase
Claude CodeDeveloper ToolsTeamsSelf-hosted 2026

Ask My Codebase

Chat with your own repos β€” cited, read-only

A local web and Microsoft Teams chat that answers questions about your private repositories with exact file:line citations. It runs Claude Code on your own machine β€” no Anthropic API key, no cloud service, and read-only by design.

Ask My Codebase is a small chat app that runs on your own PC and answers questions about your source code. Type a question in plain English; it runs Claude Code against your repo folders, and you get the answer back with the exact file:line citations.

β€œIn the Payslip, do we show YTD from the previous employer or only the current one?”

Instead of grepping through a dozen repositories by hand, you ask once.

Three things make it different

  • No API key, no per-token bill. It shells out to the same claude CLI you already use, authenticated with your existing Claude Code login.
  • Read-only by design. The bot may only Read, Grep, Glob, and run git log / git show. It answers questions β€” it never edits or commits code.
  • It runs where your code lives. Your machine is the server, so it can see private repos, databases, and logs without any of it leaving your network.

What you can do

  • Ask across all repos or scope to one β€” a checkbox dropdown picks the repositories; tick none to search everything, tick one for the fastest answer.
  • Follow up naturally β€” the server resumes Claude Code’s session, so β€œand where is that saved?” just works. New chat resets the context.
  • Ask from Microsoft Teams β€” a Teams bot with its own read-only allowlist, so it can never edit or push.
  • Query the database, read-only β€” production and staging are SELECT-only, rows are capped, and PII columns (salary, NRIC, bank) are masked on every read. The bot can only propose write SQL for a human to approve.
  • Read live logs, Jira, Monday.com, and feature flags β€” answer β€œany errors for this correlation id?” or β€œis this flag on in staging?” from the same chat box.
  • Flag a wrong answer β€” πŸ‘ / πŸ‘Ž on every reply. A πŸ‘Ž files the Q&A into a review queue for the owner. Nothing is auto-trusted and nothing is auto-saved.
  • Run specialist agents β€” triage, code health, QA scenarios, unit tests, weekly-changes summary, and a risk forecast.
  • Get a weekly team briefing β€” an AI-narrated summary of what the team shipped, on a shareable link.
  • Search the web when the repo isn’t the answer β€” current-events questions get a real web search with a cited source and date, not a stale guess.

Configure without editing code

Everything lives in owner-editable settings (βš™ Settings β†’ System), so the same app works for any codebase: workspace repo root, branding, port, model, tool allowlists, and every AI instruction prompt the bot prepends. Most changes apply live; repo root and port need one restart.

Pointing it at a different codebase is three steps β€” log in as the system owner, set the repo root, restart once.

Token savers

A per-question model dropdown (Haiku / Sonnet / Opus), a β€œlimit exploration” toggle that caps --max-turns, and an answer cache that serves a repeated question with the same model and repo scope instantly, at zero Claude usage.

Tech

Node.js 22+ using built-in modules only β€” node:sqlite for users, sessions and history, http, and child_process to drive the Claude Code CLI. Framework-free HTML UI. Playwright powers the live-browser agent; sqlcmd backs the guardrailed SQL bridge. Earlier Python and Node versions are kept in the repo as fallbacks.

Updates

What's shipping, what's fixed, what's next.

  1. Ask My Codebase is live

    Ask questions about your private repos and get answers with exact file:line citations. Runs Claude Code on your own machine β€” no API key, read-only by design.

    Ask My Codebase is now in daily use β€” a local chat that answers questions about your own repositories, with citations, without sending your code anywhere.

    What shipped

    • Cited answers β€” every reply points at the exact file:line in your repos
    • Repo scoping β€” search all repositories at once, or tick just the ones that matter
    • Conversation memory β€” follow-up questions resume the same Claude Code session
    • Microsoft Teams bot β€” ask from Teams, with its own read-only allowlist
    • Guardrailed database access β€” SELECT-only on production and staging, row caps, and PII masking on every read
    • Logs, Jira, Monday.com, and feature flags β€” answered from the same chat box
    • πŸ‘ / πŸ‘Ž review queue β€” a wrong answer is flagged for a human, never auto-trusted or auto-cached
    • Specialist agents β€” triage, code health, QA scenarios, unit tests, weekly changes, risk forecast
    • Weekly briefing β€” an AI-narrated summary of what the team shipped, on a shareable link
    • Answer cache + model picker β€” repeated questions cost zero Claude usage

    Why this matters

    Answering β€œwhere is this rule implemented?” across a dozen repositories used to mean an afternoon of grepping. Now anyone on the team asks in plain English and gets a cited answer β€” and because the whole thing is read-only and runs on your own machine, private code and payroll data never leave the network.

    What’s next

    • Access passwords for network-exposed instances
    • Broader spec-doc coverage
    • More specialist agents