codebeacon 0.1.3__tar.gz → 0.1.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. {codebeacon-0.1.3 → codebeacon-0.1.5}/.github/workflows/ci.yml +2 -2
  2. {codebeacon-0.1.3 → codebeacon-0.1.5}/.github/workflows/release.yml +4 -4
  3. {codebeacon-0.1.3 → codebeacon-0.1.5}/PKG-INFO +48 -3
  4. {codebeacon-0.1.3 → codebeacon-0.1.5}/README.de.md +66 -1
  5. {codebeacon-0.1.3 → codebeacon-0.1.5}/README.es.md +67 -2
  6. {codebeacon-0.1.3 → codebeacon-0.1.5}/README.fr.md +67 -2
  7. {codebeacon-0.1.3 → codebeacon-0.1.5}/README.ja.md +35 -2
  8. {codebeacon-0.1.3 → codebeacon-0.1.5}/README.ko.md +47 -2
  9. {codebeacon-0.1.3 → codebeacon-0.1.5}/README.md +47 -2
  10. {codebeacon-0.1.3 → codebeacon-0.1.5}/README.pt-BR.md +67 -2
  11. {codebeacon-0.1.3 → codebeacon-0.1.5}/README.zh-CN.md +35 -2
  12. codebeacon-0.1.5/codebeacon/__init__.py +1 -0
  13. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/cli.py +286 -4
  14. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/config.py +32 -14
  15. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/discover/detector.py +7 -4
  16. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/base.py +1 -0
  17. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/components.py +1 -0
  18. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/dependencies.py +7 -0
  19. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/entities.py +76 -0
  20. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/react.scm +16 -0
  21. codebeacon-0.1.5/codebeacon/extract/queries/tauri.scm +62 -0
  22. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/routes.py +51 -0
  23. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/services.py +33 -0
  24. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/graph/build.py +8 -2
  25. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/graph/enrich.py +13 -3
  26. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/skill/SKILL.md +3 -2
  27. {codebeacon-0.1.3 → codebeacon-0.1.5}/pyproject.toml +1 -1
  28. codebeacon-0.1.3/codebeacon/__init__.py +0 -1
  29. {codebeacon-0.1.3 → codebeacon-0.1.5}/.cursorrules +0 -0
  30. {codebeacon-0.1.3 → codebeacon-0.1.5}/.github/CODEOWNERS +0 -0
  31. {codebeacon-0.1.3 → codebeacon-0.1.5}/.github/dependabot.yml +0 -0
  32. {codebeacon-0.1.3 → codebeacon-0.1.5}/.gitignore +0 -0
  33. {codebeacon-0.1.3 → codebeacon-0.1.5}/AGENTS.md +0 -0
  34. {codebeacon-0.1.3 → codebeacon-0.1.5}/CLAUDE.md +0 -0
  35. {codebeacon-0.1.3 → codebeacon-0.1.5}/LICENSE +0 -0
  36. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/__main__.py +0 -0
  37. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/cache.py +0 -0
  38. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/common/__init__.py +0 -0
  39. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/common/filters.py +0 -0
  40. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/common/symbols.py +0 -0
  41. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/common/types.py +0 -0
  42. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/contextmap/__init__.py +0 -0
  43. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/contextmap/generator.py +0 -0
  44. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/discover/__init__.py +0 -0
  45. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/discover/scanner.py +0 -0
  46. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/export/__init__.py +0 -0
  47. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/export/mcp.py +0 -0
  48. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/export/obsidian.py +0 -0
  49. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/__init__.py +0 -0
  50. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/README.md +0 -0
  51. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/actix.scm +0 -0
  52. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/angular.scm +0 -0
  53. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/aspnet.scm +0 -0
  54. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/django.scm +0 -0
  55. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/express.scm +0 -0
  56. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/fastapi.scm +0 -0
  57. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/flask.scm +0 -0
  58. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/gin.scm +0 -0
  59. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/ktor.scm +0 -0
  60. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/laravel.scm +0 -0
  61. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/nestjs.scm +0 -0
  62. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/rails.scm +0 -0
  63. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/spring_boot.scm +0 -0
  64. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/svelte.scm +0 -0
  65. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/vapor.scm +0 -0
  66. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/vue.scm +0 -0
  67. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/semantic.py +0 -0
  68. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/graph/__init__.py +0 -0
  69. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/graph/analyze.py +0 -0
  70. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/graph/cluster.py +0 -0
  71. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/wave.py +0 -0
  72. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/wiki/__init__.py +0 -0
  73. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/wiki/generator.py +0 -0
  74. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/wiki/index.py +0 -0
  75. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/wiki/templates.py +0 -0
  76. {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon.yaml.example +0 -0
  77. {codebeacon-0.1.3 → codebeacon-0.1.5}/docs/TRANSLATION_STATUS.md +0 -0
  78. {codebeacon-0.1.3 → codebeacon-0.1.5}/public-plan.md +0 -0
  79. {codebeacon-0.1.3 → codebeacon-0.1.5}/skill/SKILL.md +0 -0
  80. {codebeacon-0.1.3 → codebeacon-0.1.5}/skill/install.py +0 -0
  81. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/__init__.py +0 -0
  82. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/conftest.py +0 -0
  83. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/actix/main.rs +0 -0
  84. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/angular/app.component.ts +0 -0
  85. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/aspnet/UserController.cs +0 -0
  86. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/django/views.py +0 -0
  87. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/express/userRouter.js +0 -0
  88. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/fastapi/main.py +0 -0
  89. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/flask/app.py +0 -0
  90. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/gin/main.go +0 -0
  91. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/ktor/UserRoutes.kt +0 -0
  92. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/laravel/UserController.php +0 -0
  93. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/nestjs/user.controller.ts +0 -0
  94. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/rails/users_controller.rb +0 -0
  95. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/react/UserPage.tsx +0 -0
  96. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/spring_boot/UserController.java +0 -0
  97. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/sveltekit/+page.svelte +0 -0
  98. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/vapor/routes.swift +0 -0
  99. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/vue/UserList.vue +0 -0
  100. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_discover.py +0 -0
  101. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_entities.py +0 -0
  102. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_filters.py +0 -0
  103. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_graph.py +0 -0
  104. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_resolve.py +0 -0
  105. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_routes.py +0 -0
  106. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_services.py +0 -0
  107. {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_wiki.py +0 -0
@@ -16,9 +16,9 @@ jobs:
16
16
  python-version: ["3.10", "3.11", "3.12"]
17
17
 
18
18
  steps:
19
- - uses: actions/checkout@v4
19
+ - uses: actions/checkout@v6
20
20
 
21
- - uses: actions/setup-python@v5
21
+ - uses: actions/setup-python@v6
22
22
  with:
23
23
  python-version: ${{ matrix.python-version }}
24
24
  cache: "pip"
@@ -10,9 +10,9 @@ jobs:
10
10
  name: Build distribution
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: actions/checkout@v4
13
+ - uses: actions/checkout@v6
14
14
 
15
- - uses: actions/setup-python@v5
15
+ - uses: actions/setup-python@v6
16
16
  with:
17
17
  python-version: "3.12"
18
18
 
@@ -23,7 +23,7 @@ jobs:
23
23
  run: python -m build
24
24
 
25
25
  - name: Upload dist artifacts
26
- uses: actions/upload-artifact@v4
26
+ uses: actions/upload-artifact@v7
27
27
  with:
28
28
  name: dist
29
29
  path: dist/
@@ -40,7 +40,7 @@ jobs:
40
40
 
41
41
  steps:
42
42
  - name: Download dist artifacts
43
- uses: actions/download-artifact@v4
43
+ uses: actions/download-artifact@v8
44
44
  with:
45
45
  name: dist
46
46
  path: dist/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codebeacon
3
- Version: 0.1.3
3
+ Version: 0.1.5
4
4
  Summary: Source code AST analysis tool for AI context generation — unified multi-framework knowledge graph
5
5
  Project-URL: Homepage, https://github.com/codebeacon/codebeacon
6
6
  Project-URL: Repository, https://github.com/codebeacon/codebeacon
@@ -81,7 +81,7 @@ Existing tools solve this partially. Route analyzers map your controllers but mi
81
81
  ## Key Features
82
82
 
83
83
  - **Unified pipeline** — route/controller analysis + knowledge graph in one tool, no manual stitching
84
- - **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
84
+ - **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
85
85
  - **Tree-sitter based** — structural AST parsing, not regex; all language grammars included out of the box
86
86
  - **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
87
87
  - **Wave merge architecture** — files processed in parallel chunks, results merged globally; handles large monorepos without memory blowouts
@@ -89,6 +89,7 @@ Existing tools solve this partially. Route analyzers map your controllers but mi
89
89
  - **Community detection** — Leiden/Louvain clustering reveals your actual architectural boundaries
90
90
  - **Incremental cache** — SHA-256 based; only re-extracts files that changed since the last scan
91
91
  - **Zero configuration** — auto-detects frameworks and languages; generates `codebeacon.yaml` for repeat runs
92
+ - **Deep-dive mode** — `--deep-dive` generates per-project `.codebeacon/` + `CLAUDE.md` for every sub-project; running `codebeacon scan . --update` from any sub-project folder automatically syncs all projects in the workspace
92
93
 
93
94
  ---
94
95
 
@@ -121,7 +122,7 @@ codebeacon sync # subsequent runs via config
121
122
  | Go | Gin, Echo, Fiber |
122
123
  | Ruby | Rails |
123
124
  | PHP | Laravel |
124
- | Rust | Actix-Web, Axum |
125
+ | Rust | Actix-Web, Axum, Tauri, Rocket, Warp |
125
126
  | C# | ASP.NET Core |
126
127
  | Swift | Vapor |
127
128
 
@@ -176,6 +177,47 @@ project-root/
176
177
  obsidian/ ← Obsidian vault (one note per graph node)
177
178
  ```
178
179
 
180
+ ### Deep Dive Mode
181
+
182
+ With `--deep-dive`, each sub-project also gets its own `.codebeacon/` directory and `CLAUDE.md`, so AI sessions opened inside a sub-project have full project-specific context:
183
+
184
+ ```
185
+ workspace/
186
+ CLAUDE.md ← combined (all projects)
187
+ .cursorrules
188
+ AGENTS.md
189
+ codebeacon.yaml ← deep_dive: true
190
+ .codebeacon/ ← combined knowledge graph
191
+ beacon.json
192
+ wiki/
193
+ obsidian/
194
+ api-server/
195
+ CLAUDE.md ← api-server only
196
+ .codebeacon/ ← api-server graph
197
+ beacon.json
198
+ wiki/
199
+ obsidian/
200
+ frontend/
201
+ CLAUDE.md ← frontend only
202
+ .codebeacon/ ← frontend graph
203
+ beacon.json
204
+ wiki/
205
+ obsidian/
206
+ ```
207
+
208
+ Claude Code loads `CLAUDE.md` hierarchically, so opening a session in `api-server/` loads both the parent workspace overview **and** the project-specific details.
209
+
210
+ To update from any sub-project directory after the initial scan:
211
+
212
+ ```bash
213
+ # Initial deep-dive scan
214
+ codebeacon scan /workspace --deep-dive
215
+
216
+ # Later, from any sub-project — finds the parent config and updates ALL projects
217
+ cd /workspace/api-server
218
+ codebeacon scan . --update
219
+ ```
220
+
179
221
  ---
180
222
 
181
223
  ## AI Integration
@@ -270,6 +312,7 @@ codebeacon scan . --wiki-only # skip re-extraction, regenerate wiki/
270
312
  codebeacon scan . --obsidian-dir <path> # write Obsidian vault to custom location
271
313
  codebeacon scan . --semantic # enable LLM semantic extraction
272
314
  codebeacon scan . --list-only # detect frameworks only, don't extract
315
+ codebeacon scan /workspace --deep-dive # per-project + combined workspace outputs
273
316
 
274
317
  # Config-driven mode
275
318
  codebeacon init [path] # auto-generate codebeacon.yaml
@@ -317,6 +360,8 @@ wave:
317
360
 
318
361
  semantic:
319
362
  enabled: false # override with --semantic flag
363
+
364
+ deep_dive: false # set to true to generate per-project outputs
320
365
  ```
321
366
 
322
367
  ### .codebeaconignore
@@ -40,7 +40,7 @@ Bestehende Tools lösen dieses Problem nur teilweise. Route-Analyzer erfassen Ih
40
40
  ## Hauptfunktionen
41
41
 
42
42
  - **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
44
44
  - **Auf tree-sitter basierend** — strukturelles AST-Parsing, keine Regex; Sprachgrammatiken standardmäßig enthalten
45
45
  - **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
46
46
  - **Wave-Merge-Architektur** — Dateien werden in parallelen Chunks verarbeitet und global zusammengeführt; auch große Monorepos ohne Speicherprobleme
@@ -48,6 +48,7 @@ Bestehende Tools lösen dieses Problem nur teilweise. Route-Analyzer erfassen Ih
48
48
  - **Community-Erkennung** — Leiden/Louvain-Clustering deckt tatsächliche Architekturgrenzen auf
49
49
  - **Inkrementeller Cache** — SHA-256-basiert; extrahiert nur seit dem letzten Scan geänderte Dateien neu
50
50
  - **Keine Konfiguration notwendig** — erkennt Frameworks und Sprachen automatisch; generiert `codebeacon.yaml` für Folgeläufe
51
+ - **Deep-Dive-Modus** — `--deep-dive` erzeugt für jedes Sub-Projekt eigene `.codebeacon/` + `CLAUDE.md`; ein Update-Aufruf aus **beliebigem** Sub-Projekt-Ordner synchronisiert automatisch alle Projekte im Workspace
51
52
 
52
53
  ---
53
54
 
@@ -129,6 +130,69 @@ project-root/
129
130
  obsidian/ ← Obsidian Vault (eine Notiz pro Graph-Knoten)
130
131
  ```
131
132
 
133
+ ### Deep-Dive-Modus
134
+
135
+ Mit `--deep-dive` erhält jedes Sub-Projekt sein eigenes `.codebeacon/` + `CLAUDE.md`. Claude Code lädt `CLAUDE.md`-Dateien hierarchisch — eine Sitzung in `api-server/` lädt also sowohl den Workspace-Überblick als auch die projektspezifischen Details.
136
+
137
+ Das entscheidende Merkmal: ein Update-Aufruf aus **jedem beliebigen Sub-Projekt** synchronisiert automatisch den gesamten Workspace:
138
+
139
+ ```bash
140
+ # Erster Deep-Dive-Scan
141
+ codebeacon scan /workspace --deep-dive
142
+
143
+ # Später aus einem beliebigen Sub-Projekt — findet die übergeordnete Konfig und aktualisiert ALLE Projekte
144
+ cd /workspace/api-server
145
+ codebeacon scan . --update
146
+ ```
147
+
148
+ Ausgabestruktur:
149
+ ```
150
+ workspace/
151
+ CLAUDE.md ← kombiniert (alle Projekte)
152
+ codebeacon.yaml ← deep_dive: true
153
+ .codebeacon/ ← kombinierter Knowledge Graph
154
+ api-server/
155
+ CLAUDE.md ← nur api-server
156
+ .codebeacon/ ← api-server-Graph
157
+ frontend/
158
+ CLAUDE.md ← nur frontend
159
+ .codebeacon/ ← frontend-Graph
160
+ ```
161
+
162
+ ## Konfiguration
163
+
164
+ Führe `codebeacon init` aus, um `codebeacon.yaml` zu generieren, oder erstelle die Datei manuell:
165
+
166
+ ```yaml
167
+ version: 1
168
+
169
+ projects:
170
+ - name: api-server
171
+ path: ./api-server
172
+ type: spring-boot # optional: wird automatisch erkannt
173
+
174
+ - name: frontend
175
+ path: ./frontend
176
+ type: react
177
+
178
+ output:
179
+ dir: .codebeacon
180
+ wiki: true
181
+ obsidian: true
182
+ context_map:
183
+ targets: [CLAUDE.md, .cursorrules, AGENTS.md]
184
+
185
+ wave:
186
+ auto: true
187
+ chunk_size: 300 # Dateien pro Chunk
188
+ max_parallel: 5 # parallele Threads
189
+
190
+ semantic:
191
+ enabled: false # mit --semantic überschreiben
192
+
193
+ deep_dive: false # auf true setzen für Pro-Projekt-Ausgabe
194
+ ```
195
+
132
196
  ### .codebeaconignore
133
197
 
134
198
  Platziere eine `.codebeaconignore`-Datei im Projektstammverzeichnis, um Verzeichnisse oder Dateien vom Scan auszuschließen. Gleiche Syntax wie `.gitignore` — ein Muster pro Zeile, `#` für Kommentare.
@@ -231,6 +295,7 @@ codebeacon scan . --update # inkrementell: nur geänderte Dateien
231
295
  codebeacon scan . --wiki-only # Extraktion überspringen, Wiki/Obsidian/Kontext aus vorhandenem beacon.json regenerieren
232
296
  codebeacon scan . --semantic # LLM-semantische Extraktion
233
297
  codebeacon scan . --list-only # nur Frameworks erkennen
298
+ codebeacon scan /workspace --deep-dive # Pro-Projekt- + kombinierte Workspace-Ausgabe
234
299
 
235
300
  codebeacon init [pfad] # codebeacon.yaml generieren
236
301
  codebeacon sync # von codebeacon.yaml ausführen
@@ -40,7 +40,7 @@ Las herramientas existentes resuelven esto de forma parcial. Los analizadores de
40
40
  ## Características principales
41
41
 
42
42
  - **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
44
44
  - **Basado en tree-sitter** — análisis AST estructural, no expresiones regulares; gramáticas de lenguaje incluidas por defecto
45
45
  - **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
46
46
  - **Arquitectura Wave merge** — archivos procesados en chunks paralelos y fusionados globalmente; maneja grandes monorepos sin problemas de memoria
@@ -48,6 +48,7 @@ Las herramientas existentes resuelven esto de forma parcial. Los analizadores de
48
48
  - **Detección de comunidades** — clustering Leiden/Louvain revela los límites arquitectónicos reales
49
49
  - **Caché incremental** — basado en SHA-256; solo re-extrae archivos modificados desde el último escaneo
50
50
  - **Cero configuración** — detecta frameworks y lenguajes automáticamente; genera `codebeacon.yaml` para ejecuciones posteriores
51
+ - **Modo Deep Dive** — `--deep-dive` genera `.codebeacon/` + `CLAUDE.md` propios para cada sub-proyecto; ejecutar el comando de actualización desde **cualquier** sub-proyecto sincroniza automáticamente todos los proyectos del workspace
51
52
 
52
53
  ---
53
54
 
@@ -80,7 +81,7 @@ codebeacon sync # ejecuciones posteriores vía configuraci
80
81
  | Go | Gin, Echo, Fiber |
81
82
  | Ruby | Rails |
82
83
  | PHP | Laravel |
83
- | Rust | Actix-Web, Axum |
84
+ | Rust | Actix-Web, Axum, Tauri, Rocket, Warp |
84
85
  | C# | ASP.NET Core |
85
86
  | Swift | Vapor |
86
87
 
@@ -128,6 +129,69 @@ project-root/
128
129
  obsidian/ ← Obsidian Vault (una nota por nodo del grafo)
129
130
  ```
130
131
 
132
+ ### Modo Deep Dive
133
+
134
+ Con `--deep-dive`, cada sub-proyecto recibe su propio `.codebeacon/` + `CLAUDE.md`. Claude Code carga los archivos `CLAUDE.md` de forma jerárquica, por lo que una sesión en `api-server/` carga tanto la visión general del workspace como los detalles específicos del proyecto.
135
+
136
+ La clave: un comando de actualización desde **cualquier sub-proyecto** sincroniza todo el workspace automáticamente:
137
+
138
+ ```bash
139
+ # Primer escaneo deep dive
140
+ codebeacon scan /workspace --deep-dive
141
+
142
+ # Más tarde, desde cualquier sub-proyecto — encuentra la config padre y actualiza TODOS los proyectos
143
+ cd /workspace/api-server
144
+ codebeacon scan . --update
145
+ ```
146
+
147
+ Estructura de salida:
148
+ ```
149
+ workspace/
150
+ CLAUDE.md ← combinado (todos los proyectos)
151
+ codebeacon.yaml ← deep_dive: true
152
+ .codebeacon/ ← grafo combinado
153
+ api-server/
154
+ CLAUDE.md ← solo api-server
155
+ .codebeacon/
156
+ frontend/
157
+ CLAUDE.md ← solo frontend
158
+ .codebeacon/
159
+ ```
160
+
161
+ ## Configuración
162
+
163
+ Ejecuta `codebeacon init` para generar `codebeacon.yaml`, o escríbelo manualmente:
164
+
165
+ ```yaml
166
+ version: 1
167
+
168
+ projects:
169
+ - name: api-server
170
+ path: ./api-server
171
+ type: spring-boot # opcional: se detecta automáticamente
172
+
173
+ - name: frontend
174
+ path: ./frontend
175
+ type: react
176
+
177
+ output:
178
+ dir: .codebeacon
179
+ wiki: true
180
+ obsidian: true
181
+ context_map:
182
+ targets: [CLAUDE.md, .cursorrules, AGENTS.md]
183
+
184
+ wave:
185
+ auto: true
186
+ chunk_size: 300 # archivos por chunk
187
+ max_parallel: 5 # hilos paralelos
188
+
189
+ semantic:
190
+ enabled: false # sobrescribir con --semantic
191
+
192
+ deep_dive: false # establecer true para salida por proyecto
193
+ ```
194
+
131
195
  ### .codebeaconignore
132
196
 
133
197
  Coloca un archivo `.codebeaconignore` en la raíz del proyecto para excluir directorios o archivos del escaneo. Misma sintaxis que `.gitignore` — un patrón por línea, `#` para comentarios.
@@ -230,6 +294,7 @@ codebeacon scan . --update # incremental: solo archivos modificad
230
294
  codebeacon scan . --wiki-only # saltar extracción, regenerar wiki/obsidian/contexto desde beacon.json existente
231
295
  codebeacon scan . --semantic # extracción semántica con LLM
232
296
  codebeacon scan . --list-only # solo detectar frameworks
297
+ codebeacon scan /workspace --deep-dive # salida por proyecto + workspace combinado
233
298
 
234
299
  codebeacon init [ruta] # generar codebeacon.yaml
235
300
  codebeacon sync # ejecutar desde codebeacon.yaml
@@ -40,7 +40,7 @@ Les outils existants ne résolvent ce problème qu'en partie. Les analyseurs de
40
40
  ## Fonctionnalités principales
41
41
 
42
42
  - **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
44
44
  - **Basé sur tree-sitter** — analyse AST structurelle, pas de regex ; grammaires de langage incluses par défaut
45
45
  - **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
46
46
  - **Architecture Wave merge** — fichiers traités en chunks parallèles puis fusionnés globalement ; gère les grands monorepos sans problème mémoire
@@ -48,6 +48,7 @@ Les outils existants ne résolvent ce problème qu'en partie. Les analyseurs de
48
48
  - **Détection de communautés** — clustering Leiden/Louvain révèle les vraies frontières architecturales
49
49
  - **Cache incrémental** — basé sur SHA-256 ; ré-extrait uniquement les fichiers modifiés depuis le dernier scan
50
50
  - **Zéro configuration** — détecte automatiquement les frameworks et langages ; génère `codebeacon.yaml` pour les exécutions suivantes
51
+ - **Mode Deep Dive** — `--deep-dive` génère un `.codebeacon/` + `CLAUDE.md` propre à chaque sous-projet ; une commande de mise à jour depuis **n'importe quel** sous-projet synchronise automatiquement tous les projets du workspace
51
52
 
52
53
  ---
53
54
 
@@ -80,7 +81,7 @@ codebeacon sync # exécutions suivantes via la configuration
80
81
  | Go | Gin, Echo, Fiber |
81
82
  | Ruby | Rails |
82
83
  | PHP | Laravel |
83
- | Rust | Actix-Web, Axum |
84
+ | Rust | Actix-Web, Axum, Tauri, Rocket, Warp |
84
85
  | C# | ASP.NET Core |
85
86
  | Swift | Vapor |
86
87
 
@@ -128,6 +129,69 @@ project-root/
128
129
  obsidian/ ← Obsidian Vault (une note par nœud du graphe)
129
130
  ```
130
131
 
132
+ ### Mode Deep Dive
133
+
134
+ Avec `--deep-dive`, chaque sous-projet reçoit son propre `.codebeacon/` + `CLAUDE.md`. Claude Code charge les fichiers `CLAUDE.md` de manière hiérarchique — une session dans `api-server/` charge à la fois la vue d'ensemble du workspace et les détails spécifiques au projet.
135
+
136
+ Le point clé : une commande de mise à jour depuis **n'importe quel sous-projet** synchronise automatiquement tout le workspace :
137
+
138
+ ```bash
139
+ # Premier scan deep dive
140
+ codebeacon scan /workspace --deep-dive
141
+
142
+ # Plus tard, depuis n'importe quel sous-projet — trouve la config parente et met à jour TOUS les projets
143
+ cd /workspace/api-server
144
+ codebeacon scan . --update
145
+ ```
146
+
147
+ Structure de sortie :
148
+ ```
149
+ workspace/
150
+ CLAUDE.md ← combiné (tous les projets)
151
+ codebeacon.yaml ← deep_dive: true
152
+ .codebeacon/ ← graphe combiné
153
+ api-server/
154
+ CLAUDE.md ← api-server uniquement
155
+ .codebeacon/
156
+ frontend/
157
+ CLAUDE.md ← frontend uniquement
158
+ .codebeacon/
159
+ ```
160
+
161
+ ## Configuration
162
+
163
+ Exécutez `codebeacon init` pour générer `codebeacon.yaml`, ou créez-le manuellement :
164
+
165
+ ```yaml
166
+ version: 1
167
+
168
+ projects:
169
+ - name: api-server
170
+ path: ./api-server
171
+ type: spring-boot # optionnel : détecté automatiquement
172
+
173
+ - name: frontend
174
+ path: ./frontend
175
+ type: react
176
+
177
+ output:
178
+ dir: .codebeacon
179
+ wiki: true
180
+ obsidian: true
181
+ context_map:
182
+ targets: [CLAUDE.md, .cursorrules, AGENTS.md]
183
+
184
+ wave:
185
+ auto: true
186
+ chunk_size: 300 # fichiers par chunk
187
+ max_parallel: 5 # threads parallèles
188
+
189
+ semantic:
190
+ enabled: false # écraser avec --semantic
191
+
192
+ deep_dive: false # mettre à true pour une sortie par projet
193
+ ```
194
+
131
195
  ### .codebeaconignore
132
196
 
133
197
  Placez un fichier `.codebeaconignore` à la racine du projet pour exclure des répertoires ou fichiers du scan. Même syntaxe que `.gitignore` — un motif par ligne, `#` pour les commentaires.
@@ -230,6 +294,7 @@ codebeacon scan . --update # incrémental : fichiers modifiés se
230
294
  codebeacon scan . --wiki-only # ignorer la ré-extraction, régénérer wiki/obsidian/contexte depuis beacon.json existant
231
295
  codebeacon scan . --semantic # extraction sémantique LLM
232
296
  codebeacon scan . --list-only # détecter les frameworks uniquement
297
+ codebeacon scan /workspace --deep-dive # sortie par projet + workspace combiné
233
298
 
234
299
  codebeacon init [chemin] # générer codebeacon.yaml
235
300
  codebeacon sync # exécuter depuis codebeacon.yaml
@@ -40,7 +40,7 @@ AI コーディングセッションを新しく開くたびに、アシスタ
40
40
  ## 主な機能
41
41
 
42
42
  - **統合パイプライン** — ルート/コントローラー解析 + ナレッジグラフを 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
44
44
  - **tree-sitter ベース** — 正規表現ではなく構造的 AST パース;言語グラマーをデフォルトで同梱
45
45
  - **2 パス DI 解決** — Pass 1 でローカル AST ノードを抽出、Pass 2 でグローバルシンボルテーブルを構築して Interface → Implementation のマッピングを解決
46
46
  - **Wave マージアーキテクチャ** — ファイルを並列チャンクで処理して結果をグローバルにマージ;大規模モノレポでもメモリ問題なし
@@ -48,6 +48,7 @@ AI コーディングセッションを新しく開くたびに、アシスタ
48
48
  - **コミュニティ検出** — Leiden/Louvain クラスタリングで実際のアーキテクチャ境界を発見
49
49
  - **インクリメンタルキャッシュ** — SHA-256 ベース;前回スキャン以降に変更されたファイルのみ再抽出
50
50
  - **ゼロ設定** — フレームワークと言語を自動検出;繰り返し実行のために `codebeacon.yaml` を自動生成
51
+ - **ディープダイブモード** — `--deep-dive` で各サブプロジェクトに専用の `.codebeacon/` + `CLAUDE.md` を生成;**どのサブプロジェクトからでも**更新コマンドを実行するだけでワークスペース全体が自動同期
51
52
 
52
53
  ---
53
54
 
@@ -80,7 +81,7 @@ codebeacon sync # 以降の実行は設定ファイルベ
80
81
  | Go | Gin、Echo、Fiber |
81
82
  | Ruby | Rails |
82
83
  | PHP | Laravel |
83
- | Rust | Actix-Web、Axum |
84
+ | Rust | Actix-Web、Axum、Tauri、Rocket、Warp |
84
85
  | C# | ASP.NET Core |
85
86
  | Swift | Vapor |
86
87
 
@@ -135,6 +136,35 @@ project-root/
135
136
  obsidian/ ← Obsidian Vault (グラフノードごとに 1 ノート)
136
137
  ```
137
138
 
139
+ ### ディープダイブモード
140
+
141
+ `--deep-dive` を使うと、各サブプロジェクトが独自の `.codebeacon/` + `CLAUDE.md` を持ちます。Claude Code は `CLAUDE.md` を階層的にロードするため、`api-server/` でセッションを開くとワークスペース全体の概要とプロジェクト固有の詳細が両方ロードされます。
142
+
143
+ 最大のポイント:**どのサブプロジェクトから実行しても**、親の設定ファイルを自動検出してワークスペース全体を更新します:
144
+
145
+ ```bash
146
+ # 初回ディープダイブスキャン
147
+ codebeacon scan /workspace --deep-dive
148
+
149
+ # 以降、どのサブプロジェクトからでも — 親の設定を見つけ、全プロジェクトを更新
150
+ cd /workspace/api-server
151
+ codebeacon scan . --update
152
+ ```
153
+
154
+ 出力構造:
155
+ ```
156
+ workspace/
157
+ CLAUDE.md ← 統合 (全プロジェクト)
158
+ codebeacon.yaml ← deep_dive: true
159
+ .codebeacon/ ← 統合ナレッジグラフ
160
+ api-server/
161
+ CLAUDE.md ← api-server のみ
162
+ .codebeacon/
163
+ frontend/
164
+ CLAUDE.md ← frontend のみ
165
+ .codebeacon/
166
+ ```
167
+
138
168
  ---
139
169
 
140
170
  ## AI 連携
@@ -229,6 +259,7 @@ codebeacon scan . --wiki-only # 再抽出をスキップし、既存
229
259
  codebeacon scan . --obsidian-dir <path> # Obsidian Vault をカスタム場所に書き込み
230
260
  codebeacon scan . --semantic # LLM セマンティック抽出を有効化
231
261
  codebeacon scan . --list-only # フレームワーク検出のみ、抽出なし
262
+ codebeacon scan /workspace --deep-dive # プロジェクト別 + 統合ワークスペース出力
232
263
 
233
264
  # 設定ベースモード
234
265
  codebeacon init [path] # codebeacon.yaml を自動生成
@@ -276,6 +307,8 @@ wave:
276
307
 
277
308
  semantic:
278
309
  enabled: false # --semantic フラグでオーバーライド
310
+
311
+ deep_dive: false # true にすると各プロジェクト別出力を生成
279
312
  ```
280
313
 
281
314
  ### .codebeaconignore
@@ -40,7 +40,7 @@ AI 코딩 세션을 새로 열 때마다 어시스턴트는 백지 상태에서
40
40
  ## 주요 기능
41
41
 
42
42
  - **통합 파이프라인** — 라우트/컨트롤러 분석 + 지식 그래프를 하나의 도구로, 수동 연결 불필요
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
44
44
  - **tree-sitter 기반** — 정규식이 아닌 구조적 AST 파싱; 언어 그래머 기본 포함
45
45
  - **2-패스 DI 해결** — Pass 1에서 로컬 AST 노드 추출, Pass 2에서 전역 심볼 테이블로 Interface → Implementation 매핑 해결
46
46
  - **Wave 병합 아키텍처** — 파일을 병렬 청크로 처리 후 전역 병합; 대형 모노레포도 메모리 폭발 없이 처리
@@ -48,6 +48,7 @@ AI 코딩 세션을 새로 열 때마다 어시스턴트는 백지 상태에서
48
48
  - **커뮤니티 감지** — Leiden/Louvain 클러스터링으로 실제 아키텍처 경계 도출
49
49
  - **증분 캐시** — SHA-256 기반; 마지막 스캔 이후 변경된 파일만 재추출
50
50
  - **제로 설정** — 프레임워크와 언어 자동 감지; 반복 실행을 위한 `codebeacon.yaml` 자동 생성
51
+ - **딥다이브 모드** — `--deep-dive`는 각 서브 프로젝트에 개별 `.codebeacon/` + `CLAUDE.md`를 생성; 어느 서브 프로젝트 폴더에서든 `codebeacon scan . --update`를 실행하면 워크스페이스의 모든 프로젝트가 자동으로 업데이트됨
51
52
 
52
53
  ---
53
54
 
@@ -80,7 +81,7 @@ codebeacon sync # 이후 실행은 설정 파일 기반
80
81
  | Go | Gin, Echo, Fiber |
81
82
  | Ruby | Rails |
82
83
  | PHP | Laravel |
83
- | Rust | Actix-Web, Axum |
84
+ | Rust | Actix-Web, Axum, Tauri, Rocket, Warp |
84
85
  | C# | ASP.NET Core |
85
86
  | Swift | Vapor |
86
87
 
@@ -134,6 +135,47 @@ project-root/
134
135
  obsidian/ ← Obsidian 볼트 (그래프 노드당 노트 1개)
135
136
  ```
136
137
 
138
+ ### 딥다이브 모드
139
+
140
+ `--deep-dive`를 사용하면 각 서브 프로젝트에도 자체 `.codebeacon/` 디렉토리와 `CLAUDE.md`가 생성되어, 서브 프로젝트 내에서 열린 AI 세션이 프로젝트별 전체 컨텍스트를 갖게 됩니다:
141
+
142
+ ```
143
+ workspace/
144
+ CLAUDE.md ← 통합 (모든 프로젝트)
145
+ .cursorrules
146
+ AGENTS.md
147
+ codebeacon.yaml ← deep_dive: true
148
+ .codebeacon/ ← 통합 지식 그래프
149
+ beacon.json
150
+ wiki/
151
+ obsidian/
152
+ api-server/
153
+ CLAUDE.md ← api-server 전용
154
+ .codebeacon/ ← api-server 그래프
155
+ beacon.json
156
+ wiki/
157
+ obsidian/
158
+ frontend/
159
+ CLAUDE.md ← frontend 전용
160
+ .codebeacon/ ← frontend 그래프
161
+ beacon.json
162
+ wiki/
163
+ obsidian/
164
+ ```
165
+
166
+ Claude Code는 `CLAUDE.md`를 계층적으로 로드하므로, `api-server/`에서 세션을 열면 상위 워크스페이스 개요와 프로젝트별 세부 정보가 모두 로드됩니다.
167
+
168
+ 초기 스캔 이후 어느 서브 프로젝트에서든 업데이트:
169
+
170
+ ```bash
171
+ # 초기 딥다이브 스캔
172
+ codebeacon scan /workspace --deep-dive
173
+
174
+ # 이후 어느 서브 프로젝트에서든 — 부모 설정을 찾아 모든 프로젝트 업데이트
175
+ cd /workspace/api-server
176
+ codebeacon scan . --update
177
+ ```
178
+
137
179
  ---
138
180
 
139
181
  ## AI 통합
@@ -228,6 +270,7 @@ codebeacon scan . --wiki-only # 재추출 건너뛰고 기존 beacon
228
270
  codebeacon scan . --obsidian-dir <path> # Obsidian 볼트를 커스텀 위치에 저장
229
271
  codebeacon scan . --semantic # LLM 시맨틱 추출 활성화
230
272
  codebeacon scan . --list-only # 프레임워크 감지만, 추출 제외
273
+ codebeacon scan /workspace --deep-dive # 프로젝트별 + 통합 워크스페이스 출력
231
274
 
232
275
  # 설정 기반 모드
233
276
  codebeacon init [path] # codebeacon.yaml 자동 생성
@@ -275,6 +318,8 @@ wave:
275
318
 
276
319
  semantic:
277
320
  enabled: false # --semantic 플래그로 오버라이드
321
+
322
+ deep_dive: false # true로 설정하면 프로젝트별 출력 생성
278
323
  ```
279
324
 
280
325
  ### .codebeaconignore