Skip to content

Releases: afnanenayet/diffsitter

nightly

25 Apr 05:40
b2e2854

Choose a tag to compare

nightly Pre-release
Pre-release
feat: tree-sitter mcp (#1279)

* docs: add CLAUDE.md for Claude Code guidance

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add Claude Code worktree support with submodule init hooks

Add WorktreeCreate/WorktreeRemove hooks that handle git worktree
lifecycle and automatically initialize submodules in new worktrees.
This is essential since the build compiles tree-sitter grammars from
vendored submodules that aren't present in bare worktrees.

- .claude/settings.json: project-level hooks configuration
- .claude/scripts/worktree-{create,remove}.sh: hook scripts
- .gitignore: exclude worktrees and local Claude settings
- CLAUDE.md: document worktree usage

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: document prek sandbox fix for pre-commit hook

The prek pre-commit hook writes logs and lock files to ~/.cache/prek/
which is blocked by Claude Code's sandbox. Redirect PREK_HOME to
$TMPDIR in .git/hooks/pre-commit so commits work without disabling
the sandbox. Document the fix in CLAUDE.md since `prek install`
overwrites the hook.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add Claude Code rules, skills, and agents for high-quality Rust engineering

Set up the full Claude Code extensibility system:

Rules (loaded at startup):
- rust-quality: thiserror/anyhow split, lifetime patterns, unsafe discipline
- project-conventions: config sync, grammar submodules, test frameworks
- code-review-standards: naming, imports, Copy/Clone, builders (scoped to src/**/*.rs)
- commit-conventions: conventional commits, cross-platform CI

Skills (slash commands):
- /rust-expert: tree-sitter FFI, Box::leak, RefCell, phf, enum_dispatch
- /add-renderer: step-by-step checklist for new output formats
- /add-grammar: step-by-step checklist for new language grammars
- /debug-diff: pipeline tracing from parse to hunk assembly

Agents (subagents with tool restrictions):
- code-reviewer: read-only PR reviewer (sonnet)
- test-writer: test author with project conventions (sonnet)
- architect: architecture evaluator (opus, read-only)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add tree-sitter MCP server for AST-aware code navigation

Expose tree-sitter grammar capabilities as an MCP server that tools like
Claude Code can use for structural code understanding. Adds 8 tools:
parse_file, get_node_at_position, get_scope, navigate, query,
list_symbols, get_definition, get_children_of. Supports all 17+ bundled
languages with a file-level parse cache for performance.

New files:
- src/ast_navigation.rs: reusable AST navigation library (no MCP dep)
- src/mcp_server.rs: MCP tool definitions via rmcp (feature-gated)
- src/bin/tree_sitter_mcp.rs: binary entry point (STDIO transport)

Build: cargo build --features mcp-server --bin tree-sitter-mcp

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: update CLAUDE.md, nextest config, and rules for testing infrastructure

Configure nextest test groups (proptest max 2 threads, MCP max 4 threads)
with extended timeouts for property-based tests. Update CLAUDE.md testing
section with nextest as primary runner and full test category documentation.
Update project-conventions and code-review-standards rules with new test
patterns, file organization, and dependencies.

Co-Authored-By: Claude <noreply@anthropic.com>

* chore: update GitHub Actions workflows and fix pre-existing clippy warning

  - CI: split into lint/build/mcp-server jobs, add clippy with -D warnings,
    add concurrency control, bump actions to latest (checkout v6,
    junit-report v6), add dedicated MCP server CI job
  - CD: replace deprecated actions/upload-release-asset with gh CLI,
    remove unused chocolatey/python setup, fix command injection risks
    by moving event inputs to env blocks, bump checkout to v6
  - coverage: bump codecov-action to v6, add --all-features for full coverage
  - post-deploy: bump checkout to v6, fix "master" -> "main", secure
    run blocks with env variables
  - dependabot: remove stale version ignores, add github-actions ecosystem
  - Fix clippy useless_conversion in neg_idx_vec test

  Co-Authored-By: Claude <noreply@anthropic.com>

* build: simplify github actions setup

* docs: update README, CLAUDE.md, and CONTRIBUTING with dev setup and commands

  Add prerequisites section to README with required tools table
  (cargo-nextest, cargo-insta, cargo-fuzz), build/test/lint/bench/fuzz
  command reference, and feature flags table. Consolidate CLAUDE.md
  commands into a single section. Update CONTRIBUTING.md to reference
  nextest and modern test tooling.

  Co-Authored-By: Claude <noreply@anthropic.com>

* feat: add Claude Code plugin for tree-sitter MCP server

  Create plugins/tree-sitter-mcp/ with auto-build-on-first-use via
  SessionStart hook, MCP server config (stdio transport), an
  ast-navigation skill teaching Claude how to use the 8 tools, and an
  ast-explorer subagent. Document three installation methods in CLAUDE.md.

  Co-Authored-By: Claude <noreply@anthropic.com>

* docs: add MCP server section to README

  Document the tree-sitter MCP server: available tools, build/install
  instructions, Claude Code setup (direct registration and plugin),
  generic MCP client configuration, and usage examples for queries
  and symbol listing.

  Co-Authored-By: Claude <noreply@anthropic.com>

* docs: Update docs for claude plugin

* docs: add blurb about mcp

* fix: use correct plugin setup

* chore: add python version for pyenv

* build: update CI/CD workflow with homebrew releases

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

v0.9.0

27 Apr 15:14
7b0f862

Choose a tag to compare

Notable changes

Support for custom render modes has been removed. While I don't like making breaking changes, the code to handle it was pretty bad (in my opinion), and it was causing issues for other changes I want to push out related to config handling.

What's Changed

Full Changelog: v0.8.4...v0.9.0

v0.8.4

15 Aug 13:18
27b1115

Choose a tag to compare

Routine update. Cargo dependencies and tree-sitter grammars have been updated.

v0.8.3

30 Apr 18:33
e573279

Choose a tag to compare

Minor updates, mostly updated dependencies.

v0.8.2

14 Jan 04:01
5d6c8fa

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.8.1...v0.8.2

v0.8.1

24 Jul 01:36

Choose a tag to compare

Notes

This release was mostly cut to fix an issue with the homebrew formula which refers to the git-diffsitter script. That file was not included in the release archive for v0.8.0 which caused errors when trying to install with homebrew.

What's Changed

Full Changelog: v0.8.0...v0.8.1

v0.8.0

10 May 04:25
67a08e1

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.7.3...v0.8.0

v0.7.3

20 Dec 14:09
84d3565

Choose a tag to compare

What's Changed

Full Changelog: v0.7.2...v0.7.3

v0.7.2

29 Nov 06:11
6775b8f

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.7.1...v0.7.2

v0.7.1

13 May 04:17
fd98e17

Choose a tag to compare

What's Changed

Full Changelog: v0.7.0...v0.7.1