GitHub - gautamdhameja/sonar: Local AI-based code explainer for fast onboarding. · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
gautamdhameja
sonar
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>62 Commits<br>62 Commits
.github/workflows
.github/workflows
docs
docs
grammars
grammars
scripts
scripts
src-tauri
src-tauri
src-ui
src-ui
src
src
test
test
.gitignore
.gitignore
.npmrc
.npmrc
LICENSE
LICENSE
README.md
README.md
biome.json
biome.json
package-lock.json
package-lock.json
package.json
package.json
tsconfig.json
tsconfig.json
tsconfig.ui.json
tsconfig.ui.json
vite.config.ts
vite.config.ts
View all files
Repository files navigation
Sonar
Understand any codebase. Ask what matters.
Sonar creates local-first, source-grounded codebase briefings for people who need project context without a subscription to a frontier coding model. It helps product managers, founders, designers, support leads, operators, executives, and technical teammates understand what a repository does, where important workflows live, and what to ask next.
Sonar is optimized for high-level orientation. For fine-grained debugging, refactoring, line-by-line code explanation, or implementation work, use an engineer or a frontier coding tool with full repository context.
What Sonar Does
Generates source-grounded briefings for an indexed repository.
Supports session-aware follow-up questions for orientation, risks, workflows, systems, and source navigation.
Builds a deterministic repository inventory, asks the model to inspect selected source files, and stores a source-backed memory graph before writing the initial briefing.
Uses exact lookup, grep-like lexical search, graph expansion, workflow planning, and briefing-specific ranking for follow-up questions and source lookup.
Returns source lists and citation verification diagnostics with generated answers.
Persists projects, source files, generated memory graphs, briefing sessions, and generated briefings in SQLite.
Runs as a Tauri desktop app backed by a local workspace engine and embedded SQLite project store.
Supports local llama.cpp/OpenAI-compatible generation or custom OpenAI-compatible cloud/local model endpoints.
Lets users copy or export generated briefings as Markdown.
Sonar is intended to produce strong source-grounded briefing drafts, especially with local models. It is not a replacement for human-reviewed technical, compliance, security, or architecture documentation.
Language Support
Sonar currently indexes TypeScript/TSX, JavaScript/JSX, Python, Rust, Go, Java, C#, Ruby, C++, PHP, Kotlin, Swift,<br>Markdown/MDX, plus selected JSON and Prisma schema files as text evidence. The repository survey also scans common<br>source extensions for high-level signals such as entry points, file IO, network boundaries, config, logging, and state.<br>Repositories that mainly use unsupported source languages can still be imported, but briefings may be less complete<br>because full parser coverage is not available for those files.
See Language Support and Limits for the current parser coverage and known limitations.
Quick Start
Sonar is currently distributed as a source-built desktop app. The expected local setup is:
Node.js 22.x, 23.x, 24.x, or 25.x. Do not use Node 26+ for source builds.
Rust toolchain and platform dependencies for Tauri
Git, if you want Sonar to clone GitHub repositories
A local OpenAI-compatible model server, or an OpenAI-compatible API endpoint you explicitly configure
Clone the repository and install dependencies:
git clone https://github.com/gautamdhameja/sonar.git<br>cd sonar<br>nvm use 24<br>npm install
If you previously installed dependencies with a different Node major version, run npm install again after switching<br>Node versions. Native dependencies such as SQLite are compiled for the active Node runtime.
Start a model server separately. For local mode, Sonar expects an OpenAI-compatible endpoint such as...