You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add `--deep-dive` flag to `scan` and `sync`: generates per-project
`.codebeacon/` + `CLAUDE.md` for each sub-project alongside a combined
workspace output; running `codebeacon scan . --update` from any
sub-project automatically finds parent config and syncs all projects
- Walk-up config search via `find_config(walk_up=True)` so updates work
from any sub-project directory without knowing the workspace root
- Fix relative `output.dir` resolution in `_cmd_sync` — now resolves
against the config file's parent directory instead of CWD
- Fix `shares_db_entity` edge silently dropped when an edge already
exists between two nodes; now merges `shared_entities` into existing edge
- Fix React/Next.js `React.forwardRef()` components not extracted when
non-exported (shadcn/ui style); add `component.hoc_local` query pattern
- Fix `_remap_import_edges` case-insensitive label lookup so that
`@/components/ui/card` resolves to node label `Card`
- Add Configuration YAML section to de/es/fr/pt-BR READMEs
- Document deep-dive mode across all 8 language READMEs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.de.md
+65Lines changed: 65 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -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.
Copy file name to clipboardExpand all lines: README.es.md
+65Lines changed: 65 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -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.
Copy file name to clipboardExpand all lines: README.fr.md
+65Lines changed: 65 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -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 :
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.
Copy file name to clipboardExpand all lines: README.ko.md
+45Lines changed: 45 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -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/`에서 세션을 열면 상위 워크스페이스 개요와 프로젝트별 세부 정보가 모두 로드됩니다.
0 commit comments