Skip to content
Merged

Dev #26

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .diffmind/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Written by diffmind. Generated state — not worth committing.
# Deliberately absent: rules/, rules.toml, config.toml, baseline.json.
cache/
runs/
models/
graph.db
graph.db-wal
graph.db-shm
symbols.json
daemon.json
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,23 @@ else's branch. Both surfaces share one engine; neither replaces the other.

### Added

- **Code graph.** A tree-sitter symbol graph for 13 languages — Rust,
TypeScript, TSX, JavaScript, Python, Go, Java, C#, Ruby, PHP, C, C++ and
Scala — stored in `.diffmind/graph.db` and updated incrementally
by mtime. Replaces the regex symbol index, which could only see `pub`/`export`
declarations and had no concept of a reference at all.
Review context now includes **the callers of every changed symbol** — a
changed signature is judged against the code that depends on it — plus the
enclosing definition, referenced definitions, and the file's tests. Everything
stays inside a byte budget, so context does not grow with the repository.
Bodies are read from the working tree rather than stored, so a snippet can
never disagree with the file being reviewed. Adding a language is one entry in
a table; contributions welcome.

- **Cross-file review units.** When a symbol and code that calls it both change
in one diff, they are reviewed together as a single unit instead of separately.
Reviewed apart, the model judges an interaction while seeing only one side of
it as background. One call replaces two.
- **Reviewer's cockpit** (`diffmind --tui`). Analyses on launch. Each finding
shows the actual hunk the model reviewed and the context it was given.
`a` accepts (and copies a review comment via OSC 52, which works over SSH),
Expand Down
738 changes: 351 additions & 387 deletions README.md

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions apps/tui-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,18 @@ sysinfo = { workspace = true }
toml = { workspace = true }
# Model download checksums and the daemon's auth token.
sha2 = { workspace = true }
tree-sitter = "0.26"
tree-sitter-rust = "0.24"
tree-sitter-python = "0.25"
tree-sitter-javascript = "0.25"
tree-sitter-typescript = "0.23"
rusqlite = { version = "0.40", features = ["bundled"] }
streaming-iterator = "0.1.9"
tree-sitter-go = "0.25"
tree-sitter-java = "0.23"
tree-sitter-ruby = "0.23"
tree-sitter-php = "0.24"
tree-sitter-c-sharp = "0.23"
tree-sitter-scala = "0.26"
tree-sitter-c = "0.24"
tree-sitter-cpp = "0.23"
Loading
Loading