codebeacon 0.1.6__tar.gz → 0.1.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. {codebeacon-0.1.6 → codebeacon-0.1.7}/PKG-INFO +1 -1
  2. codebeacon-0.1.7/codebeacon/__init__.py +1 -0
  3. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/contextmap/generator.py +24 -28
  4. {codebeacon-0.1.6 → codebeacon-0.1.7}/pyproject.toml +1 -1
  5. codebeacon-0.1.6/codebeacon/__init__.py +0 -1
  6. {codebeacon-0.1.6 → codebeacon-0.1.7}/.cursorrules +0 -0
  7. {codebeacon-0.1.6 → codebeacon-0.1.7}/.github/CODEOWNERS +0 -0
  8. {codebeacon-0.1.6 → codebeacon-0.1.7}/.github/dependabot.yml +0 -0
  9. {codebeacon-0.1.6 → codebeacon-0.1.7}/.github/workflows/ci.yml +0 -0
  10. {codebeacon-0.1.6 → codebeacon-0.1.7}/.github/workflows/release.yml +0 -0
  11. {codebeacon-0.1.6 → codebeacon-0.1.7}/.gitignore +0 -0
  12. {codebeacon-0.1.6 → codebeacon-0.1.7}/AGENTS.md +0 -0
  13. {codebeacon-0.1.6 → codebeacon-0.1.7}/CLAUDE.md +0 -0
  14. {codebeacon-0.1.6 → codebeacon-0.1.7}/LICENSE +0 -0
  15. {codebeacon-0.1.6 → codebeacon-0.1.7}/README.de.md +0 -0
  16. {codebeacon-0.1.6 → codebeacon-0.1.7}/README.es.md +0 -0
  17. {codebeacon-0.1.6 → codebeacon-0.1.7}/README.fr.md +0 -0
  18. {codebeacon-0.1.6 → codebeacon-0.1.7}/README.ja.md +0 -0
  19. {codebeacon-0.1.6 → codebeacon-0.1.7}/README.ko.md +0 -0
  20. {codebeacon-0.1.6 → codebeacon-0.1.7}/README.md +0 -0
  21. {codebeacon-0.1.6 → codebeacon-0.1.7}/README.pt-BR.md +0 -0
  22. {codebeacon-0.1.6 → codebeacon-0.1.7}/README.zh-CN.md +0 -0
  23. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/__main__.py +0 -0
  24. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/cache.py +0 -0
  25. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/cli.py +0 -0
  26. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/common/__init__.py +0 -0
  27. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/common/filters.py +0 -0
  28. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/common/symbols.py +0 -0
  29. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/common/types.py +0 -0
  30. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/config.py +0 -0
  31. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/contextmap/__init__.py +0 -0
  32. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/discover/__init__.py +0 -0
  33. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/discover/detector.py +0 -0
  34. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/discover/scanner.py +0 -0
  35. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/export/__init__.py +0 -0
  36. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/export/mcp.py +0 -0
  37. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/export/obsidian.py +0 -0
  38. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/__init__.py +0 -0
  39. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/base.py +0 -0
  40. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/components.py +0 -0
  41. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/dependencies.py +0 -0
  42. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/entities.py +0 -0
  43. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/README.md +0 -0
  44. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/actix.scm +0 -0
  45. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/angular.scm +0 -0
  46. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/aspnet.scm +0 -0
  47. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/django.scm +0 -0
  48. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/express.scm +0 -0
  49. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/fastapi.scm +0 -0
  50. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/flask.scm +0 -0
  51. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/gin.scm +0 -0
  52. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/ktor.scm +0 -0
  53. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/laravel.scm +0 -0
  54. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/nestjs.scm +0 -0
  55. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/rails.scm +0 -0
  56. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/react.scm +0 -0
  57. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/spring_boot.scm +0 -0
  58. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/svelte.scm +0 -0
  59. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/tauri.scm +0 -0
  60. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/vapor.scm +0 -0
  61. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/queries/vue.scm +0 -0
  62. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/routes.py +0 -0
  63. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/semantic.py +0 -0
  64. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/extract/services.py +0 -0
  65. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/graph/__init__.py +0 -0
  66. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/graph/analyze.py +0 -0
  67. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/graph/build.py +0 -0
  68. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/graph/cluster.py +0 -0
  69. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/graph/enrich.py +0 -0
  70. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/skill/SKILL.md +0 -0
  71. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/wave.py +0 -0
  72. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/wiki/__init__.py +0 -0
  73. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/wiki/generator.py +0 -0
  74. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/wiki/index.py +0 -0
  75. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon/wiki/templates.py +0 -0
  76. {codebeacon-0.1.6 → codebeacon-0.1.7}/codebeacon.yaml.example +0 -0
  77. {codebeacon-0.1.6 → codebeacon-0.1.7}/docs/TRANSLATION_STATUS.md +0 -0
  78. {codebeacon-0.1.6 → codebeacon-0.1.7}/public-plan.md +0 -0
  79. {codebeacon-0.1.6 → codebeacon-0.1.7}/skill/SKILL.md +0 -0
  80. {codebeacon-0.1.6 → codebeacon-0.1.7}/skill/install.py +0 -0
  81. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/__init__.py +0 -0
  82. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/conftest.py +0 -0
  83. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/actix/main.rs +0 -0
  84. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/angular/app.component.ts +0 -0
  85. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/aspnet/UserController.cs +0 -0
  86. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/django/views.py +0 -0
  87. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/express/userRouter.js +0 -0
  88. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/fastapi/main.py +0 -0
  89. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/flask/app.py +0 -0
  90. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/gin/main.go +0 -0
  91. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/ktor/UserRoutes.kt +0 -0
  92. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/laravel/UserController.php +0 -0
  93. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/nestjs/user.controller.ts +0 -0
  94. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/rails/users_controller.rb +0 -0
  95. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/react/UserPage.tsx +0 -0
  96. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/spring_boot/UserController.java +0 -0
  97. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/sveltekit/+page.svelte +0 -0
  98. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/vapor/routes.swift +0 -0
  99. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/fixtures/vue/UserList.vue +0 -0
  100. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/test_discover.py +0 -0
  101. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/test_entities.py +0 -0
  102. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/test_filters.py +0 -0
  103. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/test_graph.py +0 -0
  104. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/test_resolve.py +0 -0
  105. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/test_routes.py +0 -0
  106. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/test_services.py +0 -0
  107. {codebeacon-0.1.6 → codebeacon-0.1.7}/tests/test_wiki.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codebeacon
3
- Version: 0.1.6
3
+ Version: 0.1.7
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.7"
@@ -273,40 +273,42 @@ def _build_content(
273
273
  lines = [
274
274
  "# CLAUDE.md",
275
275
  "",
276
- "## MANDATORY: Lookup Strategy",
276
+ "## Lookup strategy",
277
277
  "",
278
- "> **Read these before ANY code exploration. No exceptions.**",
279
- ">",
280
- "> Skipping these steps and reading source files directly is a rule violation.",
278
+ "> This repo ships a pre-built index in `.codebeacon/`. Check it first —",
279
+ "> most \"where is X\" questions resolve in one read without a full-repo search.",
281
280
  "",
282
281
  ]
283
282
  elif tool == "cursor":
284
283
  lines = [
285
284
  "# Project Context",
286
285
  "",
287
- "## Lookup Strategy",
286
+ "## Lookup strategy",
288
287
  "",
289
- "> Always follow this 3-step lookup before editing code.",
288
+ "> A pre-built index lives in `.codebeacon/`. Use the 3-step lookup below",
289
+ "> before reaching for Glob or Grep.",
290
290
  "",
291
291
  ]
292
292
  else: # agents
293
293
  lines = [
294
294
  "# AGENTS.md",
295
295
  "",
296
- "## Context Lookup Protocol",
296
+ "## Lookup strategy",
297
297
  "",
298
- "> All agents MUST follow this 3-step lookup before writing or modifying code.",
298
+ "> A pre-built index lives in `.codebeacon/`. Follow the 3-step lookup below",
299
+ "> so parallel agents converge on the same answer.",
299
300
  "",
300
301
  ]
301
302
 
302
303
  # ── Step 1: wiki ──
303
304
  lines += [
304
- "### Step 1 codebeacon wiki (routes, controllers, services, entities) — ALWAYS",
305
+ "### Step 1 codebeacon wiki",
306
+ "Routes, controllers, services, entities.",
305
307
  "```",
306
- f"{codebeacon_dir}/wiki/index.md ← MUST read at session start",
307
- f"{codebeacon_dir}/wiki/{{project}}/controllers/{{Name}}.md ← for controller logic",
308
- f"{codebeacon_dir}/wiki/{{project}}/services/{{Name}}.md ← for service methods",
309
- f"{codebeacon_dir}/wiki/{{project}}/entities/{{Name}}.md ← for data models",
308
+ f"{codebeacon_dir}/wiki/index.md ← global index",
309
+ f"{codebeacon_dir}/wiki/{{project}}/controllers/{{Name}}.md ← controller logic",
310
+ f"{codebeacon_dir}/wiki/{{project}}/services/{{Name}}.md ← service methods",
311
+ f"{codebeacon_dir}/wiki/{{project}}/entities/{{Name}}.md ← data models",
310
312
  f"{codebeacon_dir}/wiki/routes.md ← all API routes across projects",
311
313
  "```",
312
314
  "",
@@ -314,11 +316,9 @@ def _build_content(
314
316
 
315
317
  # ── Step 2: obsidian ──
316
318
  lines += [
317
- "### Step 2 codebeacon obsidian (methods, fields, connections) — ALWAYS",
318
- "**MUST read even if Step 1 found results.** Obsidian notes contain method lists,",
319
- "field definitions, and class-level connections that wiki articles do not have.",
320
- "",
321
- f"Look up by class name — replace `{{project}}` with the relevant folder:",
319
+ "### Step 2 obsidian notes",
320
+ "Class-level detail (methods, fields, incoming/outgoing edges) the wiki omits.",
321
+ "Look up by class name replace `{project}` with the relevant folder:",
322
322
  "```",
323
323
  f"{obsidian_path}/{{project}}/{{ClassName}}.md",
324
324
  "```",
@@ -351,21 +351,17 @@ def _build_content(
351
351
 
352
352
  # ── Step 3 ──
353
353
  lines += [
354
- "### Step 3 source file (ONLY files identified in Steps 1-2)",
355
- "Read only the specific source files whose paths were found in Steps 1-2.",
356
- "No directory exploration, no Glob scans, no broad Grep searches.",
354
+ "### Step 3 source file",
355
+ "Open the paths surfaced by Steps 12.",
357
356
  "",
358
357
  ]
359
358
 
360
359
  if tool == "claude":
361
360
  lines += [
362
- "### Prohibited actions (before completing Steps 1-2)",
363
- "- **DO NOT use Explore agent**",
364
- "- **DO NOT use Glob for directory scans**",
365
- "- **DO NOT use Grep for broad searches**",
366
- "- **DO NOT Read source files directly without checking Steps 1-2 first**",
367
- "",
368
- "Proceed to Step 3 only when Steps 1-2 are insufficient.",
361
+ "### Fall back to direct search",
362
+ "Reach for Glob, Grep, or the Explore agent when the index does not cover",
363
+ "what you need new files, deep implementation details, or cross-cutting",
364
+ "searches that span projects.",
369
365
  "",
370
366
  ]
371
367
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "codebeacon"
7
- version = "0.1.6"
7
+ version = "0.1.7"
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.6"
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