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.
- {codebeacon-0.1.3 → codebeacon-0.1.5}/.github/workflows/ci.yml +2 -2
- {codebeacon-0.1.3 → codebeacon-0.1.5}/.github/workflows/release.yml +4 -4
- {codebeacon-0.1.3 → codebeacon-0.1.5}/PKG-INFO +48 -3
- {codebeacon-0.1.3 → codebeacon-0.1.5}/README.de.md +66 -1
- {codebeacon-0.1.3 → codebeacon-0.1.5}/README.es.md +67 -2
- {codebeacon-0.1.3 → codebeacon-0.1.5}/README.fr.md +67 -2
- {codebeacon-0.1.3 → codebeacon-0.1.5}/README.ja.md +35 -2
- {codebeacon-0.1.3 → codebeacon-0.1.5}/README.ko.md +47 -2
- {codebeacon-0.1.3 → codebeacon-0.1.5}/README.md +47 -2
- {codebeacon-0.1.3 → codebeacon-0.1.5}/README.pt-BR.md +67 -2
- {codebeacon-0.1.3 → codebeacon-0.1.5}/README.zh-CN.md +35 -2
- codebeacon-0.1.5/codebeacon/__init__.py +1 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/cli.py +286 -4
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/config.py +32 -14
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/discover/detector.py +7 -4
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/base.py +1 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/components.py +1 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/dependencies.py +7 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/entities.py +76 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/react.scm +16 -0
- codebeacon-0.1.5/codebeacon/extract/queries/tauri.scm +62 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/routes.py +51 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/services.py +33 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/graph/build.py +8 -2
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/graph/enrich.py +13 -3
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/skill/SKILL.md +3 -2
- {codebeacon-0.1.3 → codebeacon-0.1.5}/pyproject.toml +1 -1
- codebeacon-0.1.3/codebeacon/__init__.py +0 -1
- {codebeacon-0.1.3 → codebeacon-0.1.5}/.cursorrules +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/.github/CODEOWNERS +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/.github/dependabot.yml +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/.gitignore +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/AGENTS.md +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/CLAUDE.md +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/LICENSE +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/__main__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/cache.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/common/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/common/filters.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/common/symbols.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/common/types.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/contextmap/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/contextmap/generator.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/discover/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/discover/scanner.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/export/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/export/mcp.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/export/obsidian.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/README.md +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/actix.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/angular.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/aspnet.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/django.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/express.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/fastapi.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/flask.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/gin.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/ktor.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/laravel.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/nestjs.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/rails.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/spring_boot.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/svelte.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/vapor.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/queries/vue.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/extract/semantic.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/graph/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/graph/analyze.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/graph/cluster.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/wave.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/wiki/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/wiki/generator.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/wiki/index.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon/wiki/templates.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/codebeacon.yaml.example +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/docs/TRANSLATION_STATUS.md +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/public-plan.md +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/skill/SKILL.md +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/skill/install.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/conftest.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/actix/main.rs +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/angular/app.component.ts +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/aspnet/UserController.cs +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/django/views.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/express/userRouter.js +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/fastapi/main.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/flask/app.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/gin/main.go +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/ktor/UserRoutes.kt +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/laravel/UserController.php +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/nestjs/user.controller.ts +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/rails/users_controller.rb +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/react/UserPage.tsx +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/spring_boot/UserController.java +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/sveltekit/+page.svelte +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/vapor/routes.swift +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/fixtures/vue/UserList.vue +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_discover.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_entities.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_filters.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_graph.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_resolve.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_routes.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.5}/tests/test_services.py +0 -0
- {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@
|
|
19
|
+
- uses: actions/checkout@v6
|
|
20
20
|
|
|
21
|
-
- uses: actions/setup-python@
|
|
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@
|
|
13
|
+
- uses: actions/checkout@v6
|
|
14
14
|
|
|
15
|
-
- uses: actions/setup-python@
|
|
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@
|
|
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@
|
|
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
|
+
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
|
-
- **
|
|
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
|
-
- **
|
|
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
|
-
- **
|
|
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
|
-
- **
|
|
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
|
-
- **
|
|
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
|
-
- **
|
|
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
|