luuuc / sense Public
Star
v0.23.0·MIT·one binary

Your AI's understanding
of your codebase.

Sense sits on your machine, has no learning curve, and isn't for you — it's for your AI.

$
curl -fsSL https://luuuc.github.io/sense/install.sh | sh
§ 01

What your AI gets

four tools
01 / GRAPH
symbol relationships

Graph

"Who calls this? What implements that?"

Your AI navigates callers, callees, inheritance chains, and test coverage from any symbol — without reading dozens of files to piece the picture together.

// AI calls sense.graph
tool: sense.graph
args: { "symbol": "parseConfig", "callers": true }

cli/main.go:42  main
cli/serve.go:18 startServer
tests/config_test.go:9 TestParse
3 callers · 1 test · depth 2
02 / SEARCH
semantic + keyword

Search

"Find by meaning, not just by string."

Your AI finds relevant code by concept, not just grep patterns. Hybrid keyword + semantic search with bundled embeddings. No API keys, no network.

// AI calls sense.search
tool: sense.search
args: { "query": "retry with backoff" }

0.91 net/http.go:134 WithRetry()
0.87 queue/worker.go:78 ExponentialRetry()
0.72 sync/poll.go:51 PollUntil()
03 / BLAST
change impact

Blast Radius

"What breaks if I change this?"

Before your AI modifies a symbol, it traces direct and transitive callers to know the full surface area of the change. Fewer surprises, fewer broken builds.

// AI calls sense.blast before editing
tool: sense.blast
args: { "symbol": "User.email", "depth": 3 }

direct —— 4 sites
transitive —— 27 sites
tests —— 12 files
touches: auth, billing, notifications
04 / CONVENTIONS
derived patterns

Conventions

"How does this codebase do things?"

Your AI doesn't just write correct code — it writes code that matches how your team writes code. Sense detects patterns in naming, error handling, test structure, and architecture. Derived from the code, not configured.

// AI calls sense.conventions
tool: sense.conventions
args: { "domain": "errors" }

pattern fmt.Errorf("…: %w", err) · 94%
pattern if err != nil { return } · 88%
outlier legacy/db.go · panic()
AI tools don't just struggle with structure — they struggle with style. Convention detection is what makes AI-written code feel like it belongs in your codebase, not just compile against it.
§ 02

How it works

three steps
01 / INSTALL
$ curl -fsSL ... | sh

Single binary, ~40 MB. macOS and Linux (Windows with WSL). No dependencies. No internet required past install — everything runs locally, your code never leaves your machine.

~40 MBmacOS + Linux + WSLzero depsfully offline
02 / SCAN
$ sense scan

One command indexes your codebase and configures your AI tools. Tree-sitter for structure, ONNX embeddings for meaning. Incremental on every run.

claude codecursorany mcp clientincremental
03 / DONE
your AI queries Sense automatically
AI reasoning Before modifying User.email, let me check the blast radius.
sense.blast returns 4 direct callers, 27 transitive.
sense.conventions shows 94% use fmt.Errorf wrapping.
I'll update all call sites and follow the wrapping pattern.

You don't type commands. Your AI picks which tools to call, chains them, and reasons over the results.

json responsescomposableread-only
< 10 ms
graph queries
< 50 ms
semantic search
< 100 ms
cold start
0
external dependencies
§ 03

What Sense is not

sharp edges
×

Not a code editor.

Sense is read-only by design. It observes your codebase but never modifies it. Your editor and your tools stay in control. Read-only is the identity, not a limitation.

×

Not a token optimizer.

Token savings are a natural by-product. But if LLM costs dropped to zero tomorrow, Sense would still be valuable. The goal is understanding, not compression.

×

Not a search engine.

Semantic search is one of four capabilities, not the product. The product is structural understanding that your AI reasons over.

×

Not a feature-count competitor.

Four capabilities is a choice, not a constraint. Your AI doesn't need 102 tools to choose from. It needs four that work.

×

Not dependent on anything.

No API keys. No Ollama. No Docker. No Python. The moment Sense requires an external dependency, it loses its clearest advantage.

×

Not a tool you interact with.

You never open a TUI, never type a command, never read Sense output. You notice it in the absence of frustration — faster answers, fewer wrong turns, code that matches your conventions.

§ 04

What Sense brings

clear value

Your AI stops guessing about your codebase structure. It stops reading 30 files to answer "who calls this?" It stops hallucinating dependencies. It stops writing code that doesn't match how your team writes code. Not because the model got better — because it now has the structural understanding a senior engineer carries in their head.

Meaning over strings.

Your AI reasons over actual structure instead of pattern-matching file contents, so it makes fewer wrong assumptions about what connects to what.

Derived, not curated.

The graph rebuilds from your code automatically. No ontology to maintain, no config to tune.

Read-only by design.

Sense observes the codebase. It never modifies it. Safe to install, safe to leave running, safe to connect to any AI tool.

Invisible when it works.

You don't think "Sense answered that." You think "my AI just got better."

Four capabilities, full stop.

Symbol graph, semantic search, blast radius, convention detection. Sense does these cleanly and resists the gravity toward "do everything."

Runs on your machine.

Your code, your data, never leaves it. No account, no telemetry, no tier.