codebeacon 0.1.5__tar.gz → 0.1.6__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.5 → codebeacon-0.1.6}/PKG-INFO +1 -1
- codebeacon-0.1.6/codebeacon/__init__.py +1 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/discover/detector.py +11 -1
- {codebeacon-0.1.5 → codebeacon-0.1.6}/pyproject.toml +1 -1
- codebeacon-0.1.5/codebeacon/__init__.py +0 -1
- {codebeacon-0.1.5 → codebeacon-0.1.6}/.cursorrules +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/.github/CODEOWNERS +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/.github/dependabot.yml +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/.github/workflows/ci.yml +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/.github/workflows/release.yml +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/.gitignore +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/AGENTS.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/CLAUDE.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/LICENSE +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/README.de.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/README.es.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/README.fr.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/README.ja.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/README.ko.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/README.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/README.pt-BR.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/README.zh-CN.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/__main__.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/cache.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/cli.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/common/__init__.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/common/filters.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/common/symbols.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/common/types.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/config.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/contextmap/__init__.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/contextmap/generator.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/discover/__init__.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/discover/scanner.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/export/__init__.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/export/mcp.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/export/obsidian.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/__init__.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/base.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/components.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/dependencies.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/entities.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/README.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/actix.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/angular.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/aspnet.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/django.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/express.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/fastapi.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/flask.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/gin.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/ktor.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/laravel.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/nestjs.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/rails.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/react.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/spring_boot.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/svelte.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/tauri.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/vapor.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/queries/vue.scm +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/routes.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/semantic.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/extract/services.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/graph/__init__.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/graph/analyze.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/graph/build.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/graph/cluster.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/graph/enrich.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/skill/SKILL.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/wave.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/wiki/__init__.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/wiki/generator.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/wiki/index.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon/wiki/templates.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/codebeacon.yaml.example +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/docs/TRANSLATION_STATUS.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/public-plan.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/skill/SKILL.md +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/skill/install.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/__init__.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/conftest.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/actix/main.rs +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/angular/app.component.ts +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/aspnet/UserController.cs +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/django/views.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/express/userRouter.js +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/fastapi/main.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/flask/app.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/gin/main.go +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/ktor/UserRoutes.kt +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/laravel/UserController.php +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/nestjs/user.controller.ts +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/rails/users_controller.rb +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/react/UserPage.tsx +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/spring_boot/UserController.java +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/sveltekit/+page.svelte +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/vapor/routes.swift +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/fixtures/vue/UserList.vue +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/test_discover.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/test_entities.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/test_filters.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/test_graph.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/test_resolve.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/test_routes.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/test_services.py +0 -0
- {codebeacon-0.1.5 → codebeacon-0.1.6}/tests/test_wiki.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codebeacon
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.6
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.1.6"
|
|
@@ -228,6 +228,7 @@ _SKIP_DIRS = {
|
|
|
228
228
|
}
|
|
229
229
|
|
|
230
230
|
|
|
231
|
+
|
|
231
232
|
def _iter_subdirs(directory: Path) -> list[Path]:
|
|
232
233
|
"""Return immediate subdirectories, skipping common non-project dirs."""
|
|
233
234
|
try:
|
|
@@ -268,13 +269,22 @@ def discover_projects(paths: list[str]) -> list[ProjectInfo]:
|
|
|
268
269
|
# Level 2: if a subdir has no signature itself, scan its children
|
|
269
270
|
# (e.g. WaveLog/server, aptscore/frontend, murmur/landing)
|
|
270
271
|
subprojects: list[ProjectInfo] = []
|
|
272
|
+
seen_paths: set[str] = set()
|
|
271
273
|
for subdir in _iter_subdirs(single_path):
|
|
272
274
|
if _has_project_signature(subdir):
|
|
273
275
|
subprojects.append(_build_project_info(subdir, multi=True))
|
|
276
|
+
seen_paths.add(str(subdir))
|
|
277
|
+
# Scan children for embedded sub-projects with their own signature
|
|
278
|
+
# (e.g. Tauri: desktop/ has svelte.config.js + desktop/src-tauri/ has Cargo.toml)
|
|
279
|
+
for nested in _iter_subdirs(subdir):
|
|
280
|
+
if str(nested) not in seen_paths and _has_project_signature(nested):
|
|
281
|
+
subprojects.append(_build_project_info(nested, multi=True))
|
|
282
|
+
seen_paths.add(str(nested))
|
|
274
283
|
else:
|
|
275
284
|
for nested in _iter_subdirs(subdir):
|
|
276
|
-
if _has_project_signature(nested):
|
|
285
|
+
if str(nested) not in seen_paths and _has_project_signature(nested):
|
|
277
286
|
subprojects.append(_build_project_info(nested, multi=True))
|
|
287
|
+
seen_paths.add(str(nested))
|
|
278
288
|
|
|
279
289
|
if subprojects:
|
|
280
290
|
return subprojects
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "codebeacon"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.6"
|
|
8
8
|
description = "Source code AST analysis tool for AI context generation — unified multi-framework knowledge graph"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.1.5"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|