codebeacon 0.1.3__tar.gz → 0.1.4__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.4}/.github/workflows/ci.yml +2 -2
- {codebeacon-0.1.3 → codebeacon-0.1.4}/.github/workflows/release.yml +4 -4
- {codebeacon-0.1.3 → codebeacon-0.1.4}/PKG-INFO +46 -1
- {codebeacon-0.1.3 → codebeacon-0.1.4}/README.de.md +65 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/README.es.md +65 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/README.fr.md +65 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/README.ja.md +33 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/README.ko.md +45 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/README.md +45 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/README.pt-BR.md +65 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/README.zh-CN.md +33 -0
- codebeacon-0.1.4/codebeacon/__init__.py +1 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/cli.py +286 -4
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/config.py +32 -14
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/react.scm +16 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/graph/build.py +8 -2
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/graph/enrich.py +13 -3
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/skill/SKILL.md +1 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/pyproject.toml +1 -1
- codebeacon-0.1.3/codebeacon/__init__.py +0 -1
- {codebeacon-0.1.3 → codebeacon-0.1.4}/.cursorrules +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/.github/CODEOWNERS +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/.github/dependabot.yml +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/.gitignore +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/AGENTS.md +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/CLAUDE.md +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/LICENSE +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/__main__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/cache.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/common/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/common/filters.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/common/symbols.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/common/types.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/contextmap/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/contextmap/generator.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/discover/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/discover/detector.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/discover/scanner.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/export/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/export/mcp.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/export/obsidian.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/base.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/components.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/dependencies.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/entities.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/README.md +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/actix.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/angular.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/aspnet.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/django.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/express.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/fastapi.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/flask.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/gin.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/ktor.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/laravel.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/nestjs.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/rails.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/spring_boot.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/svelte.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/vapor.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/queries/vue.scm +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/routes.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/semantic.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/extract/services.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/graph/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/graph/analyze.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/graph/cluster.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/wave.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/wiki/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/wiki/generator.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/wiki/index.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon/wiki/templates.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/codebeacon.yaml.example +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/docs/TRANSLATION_STATUS.md +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/public-plan.md +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/skill/SKILL.md +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/skill/install.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/__init__.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/conftest.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/actix/main.rs +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/angular/app.component.ts +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/aspnet/UserController.cs +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/django/views.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/express/userRouter.js +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/fastapi/main.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/flask/app.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/gin/main.go +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/ktor/UserRoutes.kt +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/laravel/UserController.php +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/nestjs/user.controller.ts +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/rails/users_controller.rb +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/react/UserPage.tsx +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/spring_boot/UserController.java +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/sveltekit/+page.svelte +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/vapor/routes.swift +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/fixtures/vue/UserList.vue +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/test_discover.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/test_entities.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/test_filters.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/test_graph.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/test_resolve.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/test_routes.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/tests/test_services.py +0 -0
- {codebeacon-0.1.3 → codebeacon-0.1.4}/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.4
|
|
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
|
|
@@ -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
|
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
|
@@ -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
|
|
@@ -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
|
|
|
@@ -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
|
|
@@ -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
|
|
|
@@ -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
|
|
@@ -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
|
|
|
@@ -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
|
|
@@ -46,6 +46,7 @@ Existing tools solve this partially. Route analyzers map your controllers but mi
|
|
|
46
46
|
- **Community detection** — Leiden/Louvain clustering reveals your actual architectural boundaries
|
|
47
47
|
- **Incremental cache** — SHA-256 based; only re-extracts files that changed since the last scan
|
|
48
48
|
- **Zero configuration** — auto-detects frameworks and languages; generates `codebeacon.yaml` for repeat runs
|
|
49
|
+
- **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
|
|
49
50
|
|
|
50
51
|
---
|
|
51
52
|
|
|
@@ -133,6 +134,47 @@ project-root/
|
|
|
133
134
|
obsidian/ ← Obsidian vault (one note per graph node)
|
|
134
135
|
```
|
|
135
136
|
|
|
137
|
+
### Deep Dive Mode
|
|
138
|
+
|
|
139
|
+
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:
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
workspace/
|
|
143
|
+
CLAUDE.md ← combined (all projects)
|
|
144
|
+
.cursorrules
|
|
145
|
+
AGENTS.md
|
|
146
|
+
codebeacon.yaml ← deep_dive: true
|
|
147
|
+
.codebeacon/ ← combined knowledge graph
|
|
148
|
+
beacon.json
|
|
149
|
+
wiki/
|
|
150
|
+
obsidian/
|
|
151
|
+
api-server/
|
|
152
|
+
CLAUDE.md ← api-server only
|
|
153
|
+
.codebeacon/ ← api-server graph
|
|
154
|
+
beacon.json
|
|
155
|
+
wiki/
|
|
156
|
+
obsidian/
|
|
157
|
+
frontend/
|
|
158
|
+
CLAUDE.md ← frontend only
|
|
159
|
+
.codebeacon/ ← frontend graph
|
|
160
|
+
beacon.json
|
|
161
|
+
wiki/
|
|
162
|
+
obsidian/
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Claude Code loads `CLAUDE.md` hierarchically, so opening a session in `api-server/` loads both the parent workspace overview **and** the project-specific details.
|
|
166
|
+
|
|
167
|
+
To update from any sub-project directory after the initial scan:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Initial deep-dive scan
|
|
171
|
+
codebeacon scan /workspace --deep-dive
|
|
172
|
+
|
|
173
|
+
# Later, from any sub-project — finds the parent config and updates ALL projects
|
|
174
|
+
cd /workspace/api-server
|
|
175
|
+
codebeacon scan . --update
|
|
176
|
+
```
|
|
177
|
+
|
|
136
178
|
---
|
|
137
179
|
|
|
138
180
|
## AI Integration
|
|
@@ -227,6 +269,7 @@ codebeacon scan . --wiki-only # skip re-extraction, regenerate wiki/
|
|
|
227
269
|
codebeacon scan . --obsidian-dir <path> # write Obsidian vault to custom location
|
|
228
270
|
codebeacon scan . --semantic # enable LLM semantic extraction
|
|
229
271
|
codebeacon scan . --list-only # detect frameworks only, don't extract
|
|
272
|
+
codebeacon scan /workspace --deep-dive # per-project + combined workspace outputs
|
|
230
273
|
|
|
231
274
|
# Config-driven mode
|
|
232
275
|
codebeacon init [path] # auto-generate codebeacon.yaml
|
|
@@ -274,6 +317,8 @@ wave:
|
|
|
274
317
|
|
|
275
318
|
semantic:
|
|
276
319
|
enabled: false # override with --semantic flag
|
|
320
|
+
|
|
321
|
+
deep_dive: false # set to true to generate per-project outputs
|
|
277
322
|
```
|
|
278
323
|
|
|
279
324
|
### .codebeaconignore
|
|
@@ -48,6 +48,7 @@ As ferramentas existentes resolvem isso apenas parcialmente. Analisadores de rot
|
|
|
48
48
|
- **Detecção de comunidades** — clustering Leiden/Louvain revela as fronteiras arquiteturais reais
|
|
49
49
|
- **Cache incremental** — baseado em SHA-256; extrai novamente apenas arquivos alterados desde o último scan
|
|
50
50
|
- **Zero configuração** — detecta frameworks e linguagens automaticamente; gera `codebeacon.yaml` para execuções futuras
|
|
51
|
+
- **Modo Deep Dive** — `--deep-dive` gera `.codebeacon/` + `CLAUDE.md` próprios para cada sub-projeto; executar o comando de atualização de **qualquer** sub-projeto sincroniza automaticamente todos os projetos do workspace
|
|
51
52
|
|
|
52
53
|
---
|
|
53
54
|
|
|
@@ -128,6 +129,69 @@ project-root/
|
|
|
128
129
|
obsidian/ ← Obsidian Vault (uma nota por nó do grafo)
|
|
129
130
|
```
|
|
130
131
|
|
|
132
|
+
### Modo Deep Dive
|
|
133
|
+
|
|
134
|
+
Com `--deep-dive`, cada sub-projeto recebe seu próprio `.codebeacon/` + `CLAUDE.md`. O Claude Code carrega os arquivos `CLAUDE.md` de forma hierárquica — uma sessão em `api-server/` carrega tanto a visão geral do workspace quanto os detalhes específicos do projeto.
|
|
135
|
+
|
|
136
|
+
O ponto-chave: um comando de atualização de **qualquer sub-projeto** sincroniza todo o workspace automaticamente:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
# Primeiro scan deep dive
|
|
140
|
+
codebeacon scan /workspace --deep-dive
|
|
141
|
+
|
|
142
|
+
# Depois, de qualquer sub-projeto — encontra a config pai e atualiza TODOS os projetos
|
|
143
|
+
cd /workspace/api-server
|
|
144
|
+
codebeacon scan . --update
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Estrutura de saída:
|
|
148
|
+
```
|
|
149
|
+
workspace/
|
|
150
|
+
CLAUDE.md ← combinado (todos os projetos)
|
|
151
|
+
codebeacon.yaml ← deep_dive: true
|
|
152
|
+
.codebeacon/ ← grafo combinado
|
|
153
|
+
api-server/
|
|
154
|
+
CLAUDE.md ← apenas api-server
|
|
155
|
+
.codebeacon/
|
|
156
|
+
frontend/
|
|
157
|
+
CLAUDE.md ← apenas frontend
|
|
158
|
+
.codebeacon/
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Configuração
|
|
162
|
+
|
|
163
|
+
Execute `codebeacon init` para gerar `codebeacon.yaml`, ou crie manualmente:
|
|
164
|
+
|
|
165
|
+
```yaml
|
|
166
|
+
version: 1
|
|
167
|
+
|
|
168
|
+
projects:
|
|
169
|
+
- name: api-server
|
|
170
|
+
path: ./api-server
|
|
171
|
+
type: spring-boot # opcional: detectado automaticamente
|
|
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 # arquivos por chunk
|
|
187
|
+
max_parallel: 5 # threads paralelas
|
|
188
|
+
|
|
189
|
+
semantic:
|
|
190
|
+
enabled: false # sobrescrever com --semantic
|
|
191
|
+
|
|
192
|
+
deep_dive: false # definir true para saída por projeto
|
|
193
|
+
```
|
|
194
|
+
|
|
131
195
|
### .codebeaconignore
|
|
132
196
|
|
|
133
197
|
Coloque um arquivo `.codebeaconignore` na raiz do projeto para excluir diretórios ou arquivos do scan. Mesma sintaxe do `.gitignore` — um padrão por linha, `#` para comentários.
|
|
@@ -230,6 +294,7 @@ codebeacon scan . --update # incremental: apenas arquivos alterad
|
|
|
230
294
|
codebeacon scan . --wiki-only # pular re-extração, regenerar wiki/obsidian/contexto a partir do beacon.json existente
|
|
231
295
|
codebeacon scan . --semantic # extração semântica com LLM
|
|
232
296
|
codebeacon scan . --list-only # apenas detectar frameworks
|
|
297
|
+
codebeacon scan /workspace --deep-dive # saída por projeto + workspace combinado
|
|
233
298
|
|
|
234
299
|
codebeacon init [caminho] # gerar codebeacon.yaml
|
|
235
300
|
codebeacon sync # executar a partir do codebeacon.yaml
|