Skip to content

v0.8.0 — build-free tree-sitter syntax baseline

Choose a tag to compare

@phuongddx phuongddx released this 10 Sep 01:38
· 69 commits to main since this release
v0.8.0
cf68f70

Build-free declaration navigation is now the baseline: Tree-sitter indexes tracked source files even when SCIP tooling is missing or a project cannot build.

Install

Claude Code plugin:

/plugin marketplace add jarvis-intelligence/jarvis-index
/plugin install jarvis@jarvis

Standalone (uv / uvx):

uvx --from 'jarvis-mcp>=0.8.0' jarvis-server

Upgrade and CLI migration

Upgrade the CLI, then reindex existing repositories to publish syntax coverage:

uv tool upgrade jarvis-mcp
jarvis reindex <slug>

The old --search-only, --fallback-search-only, and --no-fallback-search-only flags are removed. Use --no-scip to skip SCIP enrichment, or --scip to re-enable it, on index, reindex, or watch. The choice persists per repository. JARVIS_FALLBACK_SEARCH_ONLY is no longer used. Tree-sitter syntax and Zoekt search are always the required baseline.

What changed

  • Offline syntax navigation. Curated, pinned grammar packages install with the base package. Seventeen parser selections across sixteen grammar distributions cover Python, JavaScript, TypeScript/TSX, Java, Kotlin, Swift, Go, Ruby, Rust, C, C++, C#, PHP, Scala, Bash, and SQL. No grammar download happens at index time.
  • Honest per-file navigation. documentSymbols and goToDefinition prefer usable SCIP coverage and otherwise return syntax declarations. Results identify their provider and position encoding. Syntax identifiers round-trip to definitions; they do not pretend to provide semantic reference resolution.
  • Explicit capability reporting. getIndexStatus reports published provider coverage and snapshot generation. References and call/type hierarchies remain SCIP-only, with actionable capability errors when enrichment is unavailable.
  • Immutable publication. Every run gets a fresh generation filename, including same-commit reindexes, and publishes through one atomic pointer. Unchanged syntax facts can be reused by file hash and grammar identity.
  • Shared, byte-safe parsing. Optional semantic indexing reuses captured parse trees and handles Unicode byte spans correctly. A chunk-capture failure discards that run's semantic work, warns once, and leaves the required syntax/search baseline publishable.

Compiled wheels support CPython 3.12–3.14 on macOS and Linux, arm64 and x86-64. SCIP enrichment still has its language-specific toolchain requirements; Tree-sitter does not replace cross-file semantic analysis.

See CHANGELOG.md.