Skip to content

Commit 3a35afa

Browse files
Wanderererclaude
andcommitted
feat: add Tauri/Rocket/Warp support, fix framework detection defaults
- Add Tauri v2 support: tauri.scm tree-sitter query extracts #[tauri::command] functions as IPC routes (157 commands detected in real project), managed state structs as services, and Serialize/Deserialize structs as entities - Add Rocket and Warp detection via Cargo.toml refinement - Fix wrong defaults: _refine_rust_framework "actix"→"rust", _refine_go_framework "gin"→"go" — generic projects no longer misclassified as specific web frameworks - Fix silent data loss: add tornado, aiohttp, node, python fallback mappings to all 5 extractors so detected projects produce output - Add tauri interpreter functions to routes.py, services.py, entities.py with line-based sibling correlation (tree-sitter-rust outer attributes are siblings, not children) - Update framework count 24→27 across all 8 language READMEs + SKILL.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 7234be0 commit 3a35afa

19 files changed

Lines changed: 257 additions & 23 deletions

README.de.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Bestehende Tools lösen dieses Problem nur teilweise. Route-Analyzer erfassen Ih
4040
## Hauptfunktionen
4141

4242
- **Einheitliche Pipeline** — Routes-/Controller-Analyse + Knowledge Graph in einem Tool, kein manuelles Zusammenführen
43-
- **24 Frameworks, 9 Sprachen** — Spring Boot, NestJS, Django, FastAPI, Flask, Rails, Express, Fastify, Koa, React, Next.js, Vue, Nuxt, Angular, SvelteKit, Gin, Echo, Fiber, Laravel, Actix-Web, Axum, ASP.NET Core, Vapor, Ktor
43+
- **27 Frameworks, 9 Sprachen** — Spring Boot, NestJS, Django, FastAPI, Flask, Rails, Express, Fastify, Koa, React, Next.js, Vue, Nuxt, Angular, SvelteKit, Gin, Echo, Fiber, Laravel, Actix-Web, Axum, Tauri, Rocket, Warp, ASP.NET Core, Vapor, Ktor
4444
- **Auf tree-sitter basierend** — strukturelles AST-Parsing, keine Regex; Sprachgrammatiken standardmäßig enthalten
4545
- **2-Pass DI-Auflösung** — Pass 1 extrahiert lokale AST-Knoten; Pass 2 baut eine globale Symboltabelle auf und löst Interface → Implementation-Mappings auf
4646
- **Wave-Merge-Architektur** — Dateien werden in parallelen Chunks verarbeitet und global zusammengeführt; auch große Monorepos ohne Speicherprobleme

README.es.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Las herramientas existentes resuelven esto de forma parcial. Los analizadores de
4040
## Características principales
4141

4242
- **Pipeline unificado** — análisis de rutas/controladores + grafo de conocimiento en una sola herramienta
43-
- **24 frameworks, 9 lenguajes** — Spring Boot, NestJS, Django, FastAPI, Flask, Rails, Express, Fastify, Koa, React, Next.js, Vue, Nuxt, Angular, SvelteKit, Gin, Echo, Fiber, Laravel, Actix-Web, Axum, ASP.NET Core, Vapor, Ktor
43+
- **27 frameworks, 9 lenguajes** — Spring Boot, NestJS, Django, FastAPI, Flask, Rails, Express, Fastify, Koa, React, Next.js, Vue, Nuxt, Angular, SvelteKit, Gin, Echo, Fiber, Laravel, Actix-Web, Axum, Tauri, Rocket, Warp, ASP.NET Core, Vapor, Ktor
4444
- **Basado en tree-sitter** — análisis AST estructural, no expresiones regulares; gramáticas de lenguaje incluidas por defecto
4545
- **Resolución DI en 2 pasos** — Pass 1 extrae nodos AST locales; Pass 2 construye una tabla de símbolos global y resuelve los mapeos Interface → Implementation
4646
- **Arquitectura Wave merge** — archivos procesados en chunks paralelos y fusionados globalmente; maneja grandes monorepos sin problemas de memoria
@@ -81,7 +81,7 @@ codebeacon sync # ejecuciones posteriores vía configuraci
8181
| Go | Gin, Echo, Fiber |
8282
| Ruby | Rails |
8383
| PHP | Laravel |
84-
| Rust | Actix-Web, Axum |
84+
| Rust | Actix-Web, Axum, Tauri, Rocket, Warp |
8585
| C# | ASP.NET Core |
8686
| Swift | Vapor |
8787

README.fr.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Les outils existants ne résolvent ce problème qu'en partie. Les analyseurs de
4040
## Fonctionnalités principales
4141

4242
- **Pipeline unifié** — analyse routes/contrôleurs + knowledge graph en un seul outil
43-
- **24 frameworks, 9 langages** — Spring Boot, NestJS, Django, FastAPI, Flask, Rails, Express, Fastify, Koa, React, Next.js, Vue, Nuxt, Angular, SvelteKit, Gin, Echo, Fiber, Laravel, Actix-Web, Axum, ASP.NET Core, Vapor, Ktor
43+
- **27 frameworks, 9 langages** — Spring Boot, NestJS, Django, FastAPI, Flask, Rails, Express, Fastify, Koa, React, Next.js, Vue, Nuxt, Angular, SvelteKit, Gin, Echo, Fiber, Laravel, Actix-Web, Axum, Tauri, Rocket, Warp, ASP.NET Core, Vapor, Ktor
4444
- **Basé sur tree-sitter** — analyse AST structurelle, pas de regex ; grammaires de langage incluses par défaut
4545
- **Résolution DI en 2 passes** — Pass 1 extrait les nœuds AST locaux ; Pass 2 construit une table de symboles globale et résout les mappings Interface → Implementation
4646
- **Architecture Wave merge** — fichiers traités en chunks parallèles puis fusionnés globalement ; gère les grands monorepos sans problème mémoire
@@ -81,7 +81,7 @@ codebeacon sync # exécutions suivantes via la configuration
8181
| Go | Gin, Echo, Fiber |
8282
| Ruby | Rails |
8383
| PHP | Laravel |
84-
| Rust | Actix-Web, Axum |
84+
| Rust | Actix-Web, Axum, Tauri, Rocket, Warp |
8585
| C# | ASP.NET Core |
8686
| Swift | Vapor |
8787

README.ja.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ AI コーディングセッションを新しく開くたびに、アシスタ
4040
## 主な機能
4141

4242
- **統合パイプライン** — ルート/コントローラー解析 + ナレッジグラフを 1 つのツールで、手動接続不要
43-
- **24 フレームワーク、9 言語** — Spring Boot、NestJS、Django、FastAPI、Flask、Rails、Express、Fastify、Koa、React、Next.js、Vue、Nuxt、Angular、SvelteKit、Gin、Echo、Fiber、Laravel、Actix-Web、Axum、ASP.NET Core、Vapor、Ktor
43+
- **27 フレームワーク、9 言語** — Spring Boot、NestJS、Django、FastAPI、Flask、Rails、Express、Fastify、Koa、React、Next.js、Vue、Nuxt、Angular、SvelteKit、Gin、Echo、Fiber、Laravel、Actix-Web、Axum、Tauri、Rocket、Warp、ASP.NET Core、Vapor、Ktor
4444
- **tree-sitter ベース** — 正規表現ではなく構造的 AST パース;言語グラマーをデフォルトで同梱
4545
- **2 パス DI 解決** — Pass 1 でローカル AST ノードを抽出、Pass 2 でグローバルシンボルテーブルを構築して Interface → Implementation のマッピングを解決
4646
- **Wave マージアーキテクチャ** — ファイルを並列チャンクで処理して結果をグローバルにマージ;大規模モノレポでもメモリ問題なし
@@ -81,7 +81,7 @@ codebeacon sync # 以降の実行は設定ファイルベ
8181
| Go | Gin、Echo、Fiber |
8282
| Ruby | Rails |
8383
| PHP | Laravel |
84-
| Rust | Actix-Web、Axum |
84+
| Rust | Actix-Web、Axum、Tauri、Rocket、Warp |
8585
| C# | ASP.NET Core |
8686
| Swift | Vapor |
8787

README.ko.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ AI 코딩 세션을 새로 열 때마다 어시스턴트는 백지 상태에서
4040
## 주요 기능
4141

4242
- **통합 파이프라인** — 라우트/컨트롤러 분석 + 지식 그래프를 하나의 도구로, 수동 연결 불필요
43-
- **24개 프레임워크, 9개 언어** — Spring Boot, NestJS, Django, FastAPI, Flask, Rails, Express, Fastify, Koa, React, Next.js, Vue, Nuxt, Angular, SvelteKit, Gin, Echo, Fiber, Laravel, Actix-Web, Axum, ASP.NET Core, Vapor, Ktor
43+
- **27개 프레임워크, 9개 언어** — Spring Boot, NestJS, Django, FastAPI, Flask, Rails, Express, Fastify, Koa, React, Next.js, Vue, Nuxt, Angular, SvelteKit, Gin, Echo, Fiber, Laravel, Actix-Web, Axum, Tauri, Rocket, Warp, ASP.NET Core, Vapor, Ktor
4444
- **tree-sitter 기반** — 정규식이 아닌 구조적 AST 파싱; 언어 그래머 기본 포함
4545
- **2-패스 DI 해결** — Pass 1에서 로컬 AST 노드 추출, Pass 2에서 전역 심볼 테이블로 Interface → Implementation 매핑 해결
4646
- **Wave 병합 아키텍처** — 파일을 병렬 청크로 처리 후 전역 병합; 대형 모노레포도 메모리 폭발 없이 처리
@@ -81,7 +81,7 @@ codebeacon sync # 이후 실행은 설정 파일 기반
8181
| Go | Gin, Echo, Fiber |
8282
| Ruby | Rails |
8383
| PHP | Laravel |
84-
| Rust | Actix-Web, Axum |
84+
| Rust | Actix-Web, Axum, Tauri, Rocket, Warp |
8585
| C# | ASP.NET Core |
8686
| Swift | Vapor |
8787

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Existing tools solve this partially. Route analyzers map your controllers but mi
3838
## Key Features
3939

4040
- **Unified pipeline** — route/controller analysis + knowledge graph in one tool, no manual stitching
41-
- **24 frameworks, 9 languages** — Spring Boot, NestJS, Django, FastAPI, Flask, Rails, Express, Fastify, Koa, React, Next.js, Vue, Nuxt, Angular, SvelteKit, Gin, Echo, Fiber, Laravel, Actix-Web, Axum, ASP.NET Core, Vapor, Ktor
41+
- **27 frameworks, 9 languages** — Spring Boot, NestJS, Django, FastAPI, Flask, Rails, Express, Fastify, Koa, React, Next.js, Vue, Nuxt, Angular, SvelteKit, Gin, Echo, Fiber, Laravel, Actix-Web, Axum, Tauri, Rocket, Warp, ASP.NET Core, Vapor, Ktor
4242
- **Tree-sitter based** — structural AST parsing, not regex; all language grammars included out of the box
4343
- **Two-pass DI resolution** — Pass 1 extracts local AST nodes; Pass 2 builds a global symbol table and resolves Interface → Implementation mappings that single-pass tools miss
4444
- **Wave merge architecture** — files processed in parallel chunks, results merged globally; handles large monorepos without memory blowouts
@@ -79,7 +79,7 @@ codebeacon sync # subsequent runs via config
7979
| Go | Gin, Echo, Fiber |
8080
| Ruby | Rails |
8181
| PHP | Laravel |
82-
| Rust | Actix-Web, Axum |
82+
| Rust | Actix-Web, Axum, Tauri, Rocket, Warp |
8383
| C# | ASP.NET Core |
8484
| Swift | Vapor |
8585

README.pt-BR.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ As ferramentas existentes resolvem isso apenas parcialmente. Analisadores de rot
4040
## Principais funcionalidades
4141

4242
- **Pipeline unificado** — análise de rotas/controladores + knowledge graph em uma só ferramenta, sem junção manual
43-
- **24 frameworks, 9 linguagens** — Spring Boot, NestJS, Django, FastAPI, Flask, Rails, Express, Fastify, Koa, React, Next.js, Vue, Nuxt, Angular, SvelteKit, Gin, Echo, Fiber, Laravel, Actix-Web, Axum, ASP.NET Core, Vapor, Ktor
43+
- **27 frameworks, 9 linguagens** — Spring Boot, NestJS, Django, FastAPI, Flask, Rails, Express, Fastify, Koa, React, Next.js, Vue, Nuxt, Angular, SvelteKit, Gin, Echo, Fiber, Laravel, Actix-Web, Axum, Tauri, Rocket, Warp, ASP.NET Core, Vapor, Ktor
4444
- **Baseado em tree-sitter** — análise AST estrutural, não regex; gramáticas de linguagem incluídas por padrão
4545
- **Resolução DI em 2 passos** — Pass 1 extrai nós AST locais; Pass 2 constrói uma tabela de símbolos global e resolve mapeamentos Interface → Implementation
4646
- **Arquitetura Wave merge** — arquivos processados em chunks paralelos e mesclados globalmente; lida com grandes monorepos sem problemas de memória
@@ -81,7 +81,7 @@ codebeacon sync # execuções seguintes via configuração
8181
| Go | Gin, Echo, Fiber |
8282
| Ruby | Rails |
8383
| PHP | Laravel |
84-
| Rust | Actix-Web, Axum |
84+
| Rust | Actix-Web, Axum, Tauri, Rocket, Warp |
8585
| C# | ASP.NET Core |
8686
| Swift | Vapor |
8787

README.zh-CN.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
## 核心功能
4141

4242
- **统一流水线** — 路由/控制器分析 + 知识图谱集于一体,无需手动拼接
43-
- **24 个框架,9 种语言** — Spring Boot、NestJS、Django、FastAPI、Flask、Rails、Express、Fastify、Koa、React、Next.js、Vue、Nuxt、Angular、SvelteKit、Gin、Echo、Fiber、Laravel、Actix-Web、Axum、ASP.NET Core、Vapor、Ktor
43+
- **27 个框架,9 种语言** — Spring Boot、NestJS、Django、FastAPI、Flask、Rails、Express、Fastify、Koa、React、Next.js、Vue、Nuxt、Angular、SvelteKit、Gin、Echo、Fiber、Laravel、Actix-Web、Axum、Tauri、Rocket、Warp、ASP.NET Core、Vapor、Ktor
4444
- **基于 tree-sitter** — 结构化抽象语法树解析,而非正则表达式;语言语法默认内置
4545
- **两阶段依赖注入解析** — Pass 1 提取本地 AST 节点;Pass 2 构建全局符号表,解析单阶段工具遗漏的接口→实现映射
4646
- **Wave 合并架构** — 文件以并行块处理后全局合并;大型单仓库也不会出现内存问题
@@ -81,7 +81,7 @@ codebeacon sync # 后续运行通过配置文件驱动
8181
| Go | Gin、Echo、Fiber |
8282
| Ruby | Rails |
8383
| PHP | Laravel |
84-
| Rust | Actix-Web、Axum |
84+
| Rust | Actix-Web、Axum、Tauri、Rocket、Warp |
8585
| C# | ASP.NET Core |
8686
| Swift | Vapor |
8787

codebeacon/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.1.4"
1+
__version__ = "0.1.5"

codebeacon/discover/detector.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,11 @@
6666
]
6767

6868
_CARGO_REFINEMENTS: list[tuple[str, str]] = [
69-
("axum", "axum"),
70-
("actix-web", "actix"),
69+
("tauri", "tauri"),
70+
("axum", "axum"),
71+
("actix-web", "actix"),
72+
("rocket", "rocket"),
73+
("warp", "warp"),
7174
]
7275

7376
_BUILD_GRADLE_KOTLIN_REFINEMENTS: list[tuple[str, str]] = [
@@ -108,15 +111,15 @@ def _refine_go_framework(project_dir: Path) -> str:
108111
for pattern, fw in _GO_MOD_REFINEMENTS:
109112
if pattern in content:
110113
return fw
111-
return "gin" # most common Go web framework default
114+
return "go"
112115

113116

114117
def _refine_rust_framework(project_dir: Path) -> str:
115118
content = _read_safe(project_dir / "Cargo.toml")
116119
for pattern, fw in _CARGO_REFINEMENTS:
117120
if pattern in content:
118121
return fw
119-
return "actix"
122+
return "rust"
120123

121124

122125
def _refine_gradle_framework(project_dir: Path) -> tuple[str, str]:

0 commit comments

Comments
 (0)