Skip to content

Commit ccdfd6e

Browse files
cdeustclaude
andcommitted
release: v0.0.8 — multi-language parser expansion
Adds tree-sitter parsers for seven additional languages: - JVM: Java, Kotlin - Apple: Swift, Objective-C - Systems: C, C++ - Go Combined with the previously-shipped Rust, Python, TypeScript trio, the indexer now covers 10 languages. Each new parser extracts typed symbols (entities + edges) matching the existing graph_store schema so the property graph remains polyglot-uniform. LSP-enhanced resolution path generalized: do_analyze_codebase replaces the explicit Rust/Python/TypeScript match with lang.as_str() dispatch. Grammar deps: tree-sitter-{java, kotlin-ng, swift, objc, c, cpp, go}. All MIT/Apache-2.0 official tree-sitter crates. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent de09835 commit ccdfd6e

15 files changed

Lines changed: 2808 additions & 13 deletions

File tree

.claude-plugin/marketplace.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
},
77
"metadata": {
88
"description": "automatised-pipeline — Rust MCP that indexes any Rust / Python / TypeScript codebase into a LadybugDB property graph and exposes 23 tools (index_codebase, query_graph, impact, semantic-diff) to agents.",
9-
"version": "0.0.7"
9+
"version": "0.0.8"
1010
},
1111
"plugins": [
1212
{
1313
"name": "automatised-pipeline",
1414
"source": "./",
1515
"description": "23 MCP tools · LadybugDB property graph · Leiden communities · BM25+TF-IDF+RRF search · 220 tests",
16-
"version": "0.0.7",
16+
"version": "0.0.8",
1717
"author": {
1818
"name": "Clement Deust",
1919
"email": "admin@ai-architect.tools"

.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "automatised-pipeline",
33
"description": "Rust MCP server that indexes Rust / Python / TypeScript codebases into a LadybugDB property graph. Resolves imports and call chains, detects communities via Leiden, traces execution flows from entry points, and exposes 23 MCP tools to agents — index_codebase, query_graph, get_symbol, impact_analysis, semantic_diff, and more.",
4-
"version": "0.0.7",
4+
"version": "0.0.8",
55
"author": {
66
"name": "Clement Deust",
77
"email": "admin@ai-architect.tools"

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,36 @@ adheres to [Semantic Versioning](https://semver.org/).
66

77
## [Unreleased]
88

9+
## [0.0.8] — Multi-language parser expansion (Java, Kotlin, Swift, Objective-C, C, C++, Go)
10+
11+
### Added
12+
13+
- **Seven new tree-sitter parsers** under `src/parser/`:
14+
`java.rs`, `kotlin.rs`, `swift.rs`, `objc.rs`, `c.rs`, `cpp.rs`, `go.rs`.
15+
Adds JVM (Java + Kotlin), Apple (Swift + Objective-C), systems
16+
(C + C++) and Go to the previously-shipped Rust / Python / TypeScript
17+
trio. `parser/mod.rs` registers all 10 languages; `tool_schemas.rs`
18+
exposes them in `index_codebase` / `analyze_codebase` language hints.
19+
- **Grammar dependencies** (Cargo.toml): `tree-sitter-java`,
20+
`tree-sitter-kotlin-ng`, `tree-sitter-swift`, `tree-sitter-objc`,
21+
`tree-sitter-c`, `tree-sitter-cpp`, `tree-sitter-go`. All MIT or
22+
Apache-2.0; all official tree-sitter grammars on crates.io.
23+
24+
### Changed
25+
26+
- `do_analyze_codebase`: replaced the explicit Rust/Python/TypeScript
27+
match with a generic `lang.as_str()` dispatch so LSP-enhanced
28+
resolution flows through to every supported language.
29+
- Each new parser extracts typed symbols matching the existing
30+
`graph_store` schema (entities + edges) so the property graph
31+
remains polyglot-uniform.
32+
33+
### Migration notes
34+
35+
- First build is slower: each new tree-sitter grammar carries C
36+
source that must compile through `cmake` / `cc`. Subsequent
37+
incremental builds reuse the per-grammar caches.
38+
939
## [0.0.7] — Rename binary `ai-architect-mcp``automatised-pipeline`
1040

1141
### Changed

Cargo.toml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ members = [".", "benches/harness"]
66

77
[package]
88
name = "ai-architect-mcp"
9-
version = "0.0.7"
9+
version = "0.0.8"
1010
edition = "2021"
1111
description = "Stage-by-stage rewrite of the ai-architect pipeline as an MCP server. One tool per stage. Grown by zetetic + genius agents."
1212

@@ -32,6 +32,17 @@ tree-sitter-rust = "0.23"
3232
# MIT licensed. Used by parser/python.rs and parser/typescript.rs.
3333
tree-sitter-python = "0.23"
3434
tree-sitter-typescript = "0.23"
35+
# source: multi-language parser expansion — JVM + Apple + systems + Go.
36+
# Each grammar crate is an official tree-sitter parser published on crates.io,
37+
# MIT or Apache-2.0 licensed, and used by parser/<lang>.rs to extract typed
38+
# symbols matching the graph_store schema.
39+
tree-sitter-java = "0.23"
40+
tree-sitter-kotlin-ng = "1.1"
41+
tree-sitter-swift = "0.7"
42+
tree-sitter-objc = "3.0"
43+
tree-sitter-c = "0.23"
44+
tree-sitter-cpp = "0.23"
45+
tree-sitter-go = "0.23"
3546
# source: stages/stage-3-research.md §2 — Tantivy for BM25 full-text search.
3647
# In-process search engine, MIT licensed (quickwit-oss).
3748
tantivy = "0.22"

src/main.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2556,9 +2556,7 @@ fn do_analyze_codebase(arguments: &Value) -> Result<Value, String> {
25562556
// Phase 2b: LSP-enhanced resolution (optional)
25572557
let lsp_result = if enable_lsp {
25582558
let effective_lang = match lang_filter {
2559-
Some(parser::Language::Rust) => "rust".to_string(),
2560-
Some(parser::Language::Python) => "python".to_string(),
2561-
Some(parser::Language::TypeScript) => "typescript".to_string(),
2559+
Some(lang) => lang.as_str().to_string(),
25622560
None => detect_dominant_language(&codebase),
25632561
};
25642562
match lsp_resolver::resolve_with_lsp(

0 commit comments

Comments
 (0)