code-atlas-mcp 0.1.2__tar.gz → 0.2.0.dev1__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 (133) hide show
  1. code_atlas_mcp-0.2.0.dev1/.dockerignore +56 -0
  2. code_atlas_mcp-0.2.0.dev1/.github/workflows/release.yml +94 -0
  3. code_atlas_mcp-0.2.0.dev1/CHANGELOG.md +323 -0
  4. code_atlas_mcp-0.2.0.dev1/Dockerfile +63 -0
  5. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/PKG-INFO +2 -2
  6. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/atlas.toml +8 -4
  7. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/pyproject.toml +41 -2
  8. code_atlas_mcp-0.2.0.dev1/src/code_atlas/__init__.py +5 -0
  9. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/cli.py +64 -58
  10. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/events.py +2 -0
  11. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/graph/client.py +109 -7
  12. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/indexing/consumers.py +66 -41
  13. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/indexing/orchestrator.py +306 -142
  14. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/languages/cpp.py +2 -2
  15. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/languages/go.py +1 -1
  16. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/languages/jvm.py +2 -2
  17. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/languages/php.py +1 -1
  18. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/languages/python.py +226 -3
  19. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/languages/ruby.py +1 -1
  20. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/languages/rust.py +1 -1
  21. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/languages/typescript.py +106 -3
  22. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/search/embeddings.py +44 -25
  23. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/search/engine.py +31 -2
  24. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/search/guidance.py +24 -2
  25. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/server/analysis.py +277 -1
  26. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/server/mcp.py +20 -4
  27. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/settings.py +31 -4
  28. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/telemetry.py +2 -2
  29. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/server/test_mcp.py +51 -0
  30. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/indexing/test_orchestrator.py +77 -6
  31. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/parsing/test_python.py +175 -0
  32. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/parsing/test_typescript.py +79 -0
  33. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/search/test_embeddings.py +66 -0
  34. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/search/test_engine.py +102 -0
  35. code_atlas_mcp-0.1.2/.github/workflows/release.yml +0 -55
  36. code_atlas_mcp-0.1.2/Dockerfile +0 -32
  37. code_atlas_mcp-0.1.2/src/code_atlas/__init__.py +0 -3
  38. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.atlasignore +0 -0
  39. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.env.dist +0 -0
  40. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.github/FUNDING.yml +0 -0
  41. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  42. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  43. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  44. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  45. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.github/dependabot.yml +0 -0
  46. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.github/labels.yml +0 -0
  47. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.github/workflows/ci.yml +0 -0
  48. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.github/workflows/labels.yml +0 -0
  49. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.github/workflows/security.yml +0 -0
  50. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.gitignore +0 -0
  51. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.pre-commit-config.yaml +0 -0
  52. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.prettierignore +0 -0
  53. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/.prettierrc.yaml +0 -0
  54. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/CLAUDE.md +0 -0
  55. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/CONTRIBUTING.md +0 -0
  56. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/LICENSE +0 -0
  57. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/README.md +0 -0
  58. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/agent.md +0 -0
  59. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docker-compose.yml +0 -0
  60. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/adr/0000-template.md +0 -0
  61. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/adr/0001-memgraph-as-database.md +0 -0
  62. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/adr/0002-build-from-scratch.md +0 -0
  63. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/adr/0003-python-rust-hybrid.md +0 -0
  64. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/adr/0004-event-driven-tiered-pipeline.md +0 -0
  65. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/adr/0005-deployment-process-model.md +0 -0
  66. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/adr/0006-pure-python-tree-sitter.md +0 -0
  67. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/adr/0007-qualified-name-strategy.md +0 -0
  68. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/adr/README.md +0 -0
  69. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/architecture.md +0 -0
  70. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/benchmarks.md +0 -0
  71. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/guides/adding-languages.md +0 -0
  72. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/guides/configuration.md +0 -0
  73. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/guides/repo-guidelines.md +0 -0
  74. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/guides/usage.md +0 -0
  75. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/docs/landscape.md +0 -0
  76. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/ruff.toml +0 -0
  77. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/graph/__init__.py +0 -0
  78. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/indexing/__init__.py +0 -0
  79. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/indexing/daemon.py +0 -0
  80. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/indexing/watcher.py +0 -0
  81. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/__init__.py +0 -0
  82. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/ast.py +0 -0
  83. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/detectors.py +0 -0
  84. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/languages/__init__.py +0 -0
  85. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/parsing/languages/markdown.py +0 -0
  86. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/schema.py +0 -0
  87. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/search/__init__.py +0 -0
  88. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/server/__init__.py +0 -0
  89. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/src/code_atlas/server/health.py +0 -0
  90. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/__init__.py +0 -0
  91. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/bench/__init__.py +0 -0
  92. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/bench/conftest.py +0 -0
  93. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/bench/test_bench_concurrent.py +0 -0
  94. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/bench/test_bench_indexing.py +0 -0
  95. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/bench/test_bench_memory.py +0 -0
  96. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/bench/test_bench_parser.py +0 -0
  97. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/bench/test_bench_query.py +0 -0
  98. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/conftest.py +0 -0
  99. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/__init__.py +0 -0
  100. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/conftest.py +0 -0
  101. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/graph/__init__.py +0 -0
  102. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/graph/test_client.py +0 -0
  103. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/indexing/__init__.py +0 -0
  104. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/indexing/test_consumers.py +0 -0
  105. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/indexing/test_monorepo.py +0 -0
  106. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/indexing/test_orchestrator.py +0 -0
  107. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/indexing/test_watcher.py +0 -0
  108. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/search/__init__.py +0 -0
  109. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/search/test_embeddings.py +0 -0
  110. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/search/test_engine.py +0 -0
  111. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/integration/server/__init__.py +0 -0
  112. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/__init__.py +0 -0
  113. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/conftest.py +0 -0
  114. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/indexing/__init__.py +0 -0
  115. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/indexing/test_monorepo.py +0 -0
  116. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/indexing/test_watcher.py +0 -0
  117. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/parsing/__init__.py +0 -0
  118. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/parsing/test_cpp.py +0 -0
  119. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/parsing/test_detectors.py +0 -0
  120. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/parsing/test_go.py +0 -0
  121. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/parsing/test_jvm.py +0 -0
  122. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/parsing/test_php.py +0 -0
  123. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/parsing/test_ruby.py +0 -0
  124. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/parsing/test_rust.py +0 -0
  125. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/search/__init__.py +0 -0
  126. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/search/test_guidance.py +0 -0
  127. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/server/__init__.py +0 -0
  128. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/server/test_health.py +0 -0
  129. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/server/test_mcp.py +0 -0
  130. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/test_cli.py +0 -0
  131. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/test_schema.py +0 -0
  132. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/tests/unit/test_telemetry.py +0 -0
  133. {code_atlas_mcp-0.1.2 → code_atlas_mcp-0.2.0.dev1}/uv.lock +0 -0
@@ -0,0 +1,56 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ dist/
6
+ build/
7
+ .venv/
8
+ .uv/
9
+
10
+ # Test / lint caches
11
+ .pytest_cache/
12
+ .mypy_cache/
13
+ .ty_cache/
14
+ .ruff_cache/
15
+ .coverage
16
+ htmlcov/
17
+ coverage.xml
18
+
19
+ # IDE
20
+ .idea/
21
+ .vscode/
22
+ *.swp
23
+ *.swo
24
+ *~
25
+
26
+ # OS
27
+ .DS_Store
28
+ Thumbs.db
29
+
30
+ # Node (pre-commit)
31
+ node_modules/
32
+
33
+ # Docker
34
+ docker-compose.yml
35
+ docker-compose.override.yml
36
+ Dockerfile
37
+ .dockerignore
38
+
39
+ # Git
40
+ .git/
41
+ .gitignore
42
+
43
+ # Agent / local config
44
+ .claude/
45
+ .tasks/
46
+ CLAUDE.md
47
+ CLAUDE.local.md
48
+
49
+ # Data / secrets
50
+ data/
51
+ .env
52
+ .env.*
53
+ atlas.local.toml
54
+
55
+ # Tests (not needed in production image)
56
+ tests/
@@ -0,0 +1,94 @@
1
+ name: Release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ force:
7
+ description: "Force bump level (empty = auto-detect from commits)"
8
+ required: false
9
+ type: choice
10
+ options: ["", patch, minor, major]
11
+ default: ""
12
+ prerelease:
13
+ description: "Create a prerelease version"
14
+ required: false
15
+ type: boolean
16
+ default: false
17
+
18
+ permissions:
19
+ contents: read
20
+
21
+ jobs:
22
+ # ------------------------------------------------------------------- #
23
+ # Job 1: Version bump, changelog, tag, push, GitHub Release
24
+ # ------------------------------------------------------------------- #
25
+ release:
26
+ runs-on: ubuntu-latest
27
+ concurrency:
28
+ group: release
29
+ cancel-in-progress: false
30
+ permissions:
31
+ contents: write
32
+
33
+ steps:
34
+ - uses: actions/checkout@v6
35
+ with:
36
+ fetch-depth: 0
37
+ ref: ${{ github.ref_name }}
38
+
39
+ - name: Pin to triggering SHA
40
+ run: git reset --hard ${{ github.sha }}
41
+
42
+ - name: Semantic Release
43
+ id: release
44
+ uses: python-semantic-release/python-semantic-release@v10
45
+ with:
46
+ github_token: ${{ secrets.GITHUB_TOKEN }}
47
+ git_committer_name: "github-actions[bot]"
48
+ git_committer_email: "github-actions[bot]@users.noreply.github.com"
49
+ force: ${{ inputs.force || '' }}
50
+ prerelease: ${{ inputs.prerelease || false }}
51
+
52
+ - name: Publish GitHub Release
53
+ if: steps.release.outputs.released == 'true'
54
+ uses: python-semantic-release/publish-action@v10
55
+ with:
56
+ github_token: ${{ secrets.GITHUB_TOKEN }}
57
+ tag: ${{ steps.release.outputs.tag }}
58
+
59
+ outputs:
60
+ released: ${{ steps.release.outputs.released }}
61
+ version: ${{ steps.release.outputs.version }}
62
+ tag: ${{ steps.release.outputs.tag }}
63
+ is_prerelease: ${{ steps.release.outputs.is_prerelease }}
64
+
65
+ # ------------------------------------------------------------------- #
66
+ # Job 2: Build and publish to PyPI
67
+ # ------------------------------------------------------------------- #
68
+ publish-pypi:
69
+ needs: release
70
+ if: needs.release.outputs.released == 'true'
71
+ runs-on: ubuntu-latest
72
+ environment:
73
+ name: pypi
74
+ url: https://pypi.org/p/code-atlas-mcp
75
+ permissions:
76
+ contents: read
77
+ id-token: write
78
+
79
+ steps:
80
+ - uses: actions/checkout@v6
81
+ with:
82
+ ref: ${{ needs.release.outputs.tag }}
83
+
84
+ - uses: astral-sh/setup-uv@v7
85
+ with:
86
+ enable-cache: true
87
+
88
+ - uses: actions/setup-python@v6
89
+ with:
90
+ python-version: "3.14-dev"
91
+
92
+ - run: uv build
93
+
94
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,323 @@
1
+ # CHANGELOG
2
+
3
+ <!-- version list -->
4
+
5
+ ## v0.2.0-dev.1 (2026-02-23)
6
+
7
+ ### Bug Fixes
8
+
9
+ - Address PR #2 review — schema logging, concurrency tests, duration
10
+ ([#2](https://github.com/SerPeter/code-atlas/pull/2),
11
+ [`5107b24`](https://github.com/SerPeter/code-atlas/commit/5107b24a7dfbcb44cadc7917f632ae6a9743c057))
12
+
13
+ - **ci**: Resolve ty check failures with --all-extras in CI
14
+ ([`3f74816`](https://github.com/SerPeter/code-atlas/commit/3f7481635091d2d676aed75c3fbcaa5db4332242))
15
+
16
+ - **consumers**: Group batches by project in Tier1/Tier2
17
+ ([#2](https://github.com/SerPeter/code-atlas/pull/2),
18
+ [`5107b24`](https://github.com/SerPeter/code-atlas/commit/5107b24a7dfbcb44cadc7917f632ae6a9743c057))
19
+
20
+ ### Build System
21
+
22
+ - **release**: Add python-semantic-release v10 for automated releases
23
+ ([`044e9a3`](https://github.com/SerPeter/code-atlas/commit/044e9a31c5f7673a4be45a6519860d247e1b3cb1))
24
+
25
+ ### Features
26
+
27
+ - **analysis**: Add quality sub-analysis with health score
28
+ ([#4](https://github.com/SerPeter/code-atlas/pull/4),
29
+ [`37f2113`](https://github.com/SerPeter/code-atlas/commit/37f2113efa2ed776dec97a685b9e199014fb7f4a))
30
+
31
+ - **analysis**: Quality sub-analysis with health score
32
+ ([#4](https://github.com/SerPeter/code-atlas/pull/4),
33
+ [`37f2113`](https://github.com/SerPeter/code-atlas/commit/37f2113efa2ed776dec97a685b9e199014fb7f4a))
34
+
35
+ - **docker**: Add McpSettings, multi-stage Dockerfile, and .dockerignore
36
+ ([`88ac0ba`](https://github.com/SerPeter/code-atlas/commit/88ac0ba93d2fc4d56fb362805c257c77e978351e))
37
+
38
+ - **parser**: Type-only import distinction + USES_TYPE edges
39
+ ([#4](https://github.com/SerPeter/code-atlas/pull/4),
40
+ [`37f2113`](https://github.com/SerPeter/code-atlas/commit/37f2113efa2ed776dec97a685b9e199014fb7f4a))
41
+
42
+ - **parser**: Type-only import distinction + USES_TYPE edges
43
+ ([#3](https://github.com/SerPeter/code-atlas/pull/3),
44
+ [`23ba25c`](https://github.com/SerPeter/code-atlas/commit/23ba25cbe0417b7d4816387744e5c51f4331a618))
45
+
46
+ - **scope**: Ruff-style include/exclude pattern system
47
+ ([#2](https://github.com/SerPeter/code-atlas/pull/2),
48
+ [`5107b24`](https://github.com/SerPeter/code-atlas/commit/5107b24a7dfbcb44cadc7917f632ae6a9743c057))
49
+
50
+ - **search**: Add label boost and code_only filter to hybrid search
51
+ ([#2](https://github.com/SerPeter/code-atlas/pull/2),
52
+ [`5107b24`](https://github.com/SerPeter/code-atlas/commit/5107b24a7dfbcb44cadc7917f632ae6a9743c057))
53
+
54
+ ### Performance Improvements
55
+
56
+ - **indexing**: Concurrent embeddings, shared monorepo pipeline, clean logs
57
+ ([#2](https://github.com/SerPeter/code-atlas/pull/2),
58
+ [`5107b24`](https://github.com/SerPeter/code-atlas/commit/5107b24a7dfbcb44cadc7917f632ae6a9743c057))
59
+
60
+ ### Refactoring
61
+
62
+ - **cli**: Shift verbosity levels — silent default, logs behind -v
63
+ ([#2](https://github.com/SerPeter/code-atlas/pull/2),
64
+ [`5107b24`](https://github.com/SerPeter/code-atlas/commit/5107b24a7dfbcb44cadc7917f632ae6a9743c057))
65
+
66
+
67
+ ## v0.1.2 (2026-02-17)
68
+
69
+ ### Bug Fixes
70
+
71
+ - Bump version to 0.1.2 in pyproject.toml and update uv.lock
72
+ ([`f0baf60`](https://github.com/SerPeter/code-atlas/commit/f0baf6030a522b869e5b4cfcc066b8321714ee8a))
73
+
74
+ - Prevent Memgraph OOM crashes with Docker memory limit
75
+ ([`e4dc6a9`](https://github.com/SerPeter/code-atlas/commit/e4dc6a93b3784a420cdd496e9c9b0d08ae2505ff))
76
+
77
+ - **cli**: Clean up atlas index output with progress bar and quieter logs
78
+ ([`a0104cf`](https://github.com/SerPeter/code-atlas/commit/a0104cf978f469cf7702fad7f67ab82eed773c92))
79
+
80
+ - **doctor**: Show loaded config file paths in diagnostics
81
+ ([`21f7bf2`](https://github.com/SerPeter/code-atlas/commit/21f7bf26ea36837a9a42b51b76ef2dfb488bb0e7))
82
+
83
+ - **graph**: Replace OR scans with uid-only lookups in embedding queries
84
+ ([`71e5cef`](https://github.com/SerPeter/code-atlas/commit/71e5cefbb0ddc027392d41422b5c326c952ebeb5))
85
+
86
+ ### Chores
87
+
88
+ - Update cryptography package version to 46.0.5 in uv.lock
89
+ ([`aea84db`](https://github.com/SerPeter/code-atlas/commit/aea84dbcd73914b8423b5f3b4f3a215ff01455a0))
90
+
91
+
92
+ ## v0.1.1 (2026-02-16)
93
+
94
+ ### Bug Fixes
95
+
96
+ - Bump version to 0.1.1 in pyproject.toml
97
+ ([`9889860`](https://github.com/SerPeter/code-atlas/commit/988986038b9faefe994f8cf21f99d8a531cc9c9b))
98
+
99
+ - Load .env from cwd so uvx installs pick up API keys
100
+ ([`68e1f2c`](https://github.com/SerPeter/code-atlas/commit/68e1f2c234ab07fcc19f9973bc7760b670c21cc5))
101
+
102
+ ### Documentation
103
+
104
+ - Update Quick Start for PyPI install via uvx
105
+ ([`5ce16cb`](https://github.com/SerPeter/code-atlas/commit/5ce16cbda7fab88184205c7f65f12fbbf22c15f5))
106
+
107
+
108
+ ## v0.1.0 (2026-02-15)
109
+
110
+ ### Bug Fixes
111
+
112
+ - Bump version to 0.1.0 in pyproject.toml
113
+ ([`222542a`](https://github.com/SerPeter/code-atlas/commit/222542ab5a698c8c32bbe4f69473567114fce712))
114
+
115
+ - Replace placeholder username with SerPeter and rename PyPI package to code-atlas-mcp
116
+ ([`08a438f`](https://github.com/SerPeter/code-atlas/commit/08a438fa62a2a77b729a3787367484a0f8b69898))
117
+
118
+ - Replace placeholder username with SerPeter and rename PyPI package to code-atlas-mcp
119
+ ([`0a83fd4`](https://github.com/SerPeter/code-atlas/commit/0a83fd4b1fb4f4d424d3170e27b2815ee072ea5f))
120
+
121
+ - Resolve end-to-end indexing and search pipeline issues
122
+ ([`04bce9a`](https://github.com/SerPeter/code-atlas/commit/04bce9a239162923987882e8a32ba42f7ca9de90))
123
+
124
+ - Resolve live MCP tool testing issues
125
+ ([`0a4a9ec`](https://github.com/SerPeter/code-atlas/commit/0a4a9ecda02bc07e01d5c8f78ec69c163ed5556a))
126
+
127
+ - **graph**: Tighten CALLS strategy 4 to unique-name-only matching
128
+ ([`e3d8238`](https://github.com/SerPeter/code-atlas/commit/e3d82385f9255742073f7ee1cd621cbc05022a69))
129
+
130
+ - **mcp**: Resolve CALLS edges, ranking noise, staleness, and visibility boost
131
+ ([`c7e788e`](https://github.com/SerPeter/code-atlas/commit/c7e788ef4a107fdaec44368c86083e85eeea9201))
132
+
133
+ - **search**: Finalize Epic 2 — migrate to Memgraph 3.7 DDL and fix integration bugs
134
+ ([`bceff4c`](https://github.com/SerPeter/code-atlas/commit/bceff4c34a92066dcffcfa5b11ab17cb0716e2e1))
135
+
136
+ ### Chores
137
+
138
+ - Update dependencies, pre-commit hooks, and Docker images to latest
139
+ ([`80f87eb`](https://github.com/SerPeter/code-atlas/commit/80f87ebacb679159e5241ff9d0ab08aa1a2d0085))
140
+
141
+ - Update setup-uv and CodeQL action versions in CI/CD workflows
142
+ ([`25572cf`](https://github.com/SerPeter/code-atlas/commit/25572cf10cd5a4d7ac60286d2109525cf7661332))
143
+
144
+ ### Documentation
145
+
146
+ - Add landscape, configuration, usage guides and enrich MCP tool schemas
147
+ ([`951ddc8`](https://github.com/SerPeter/code-atlas/commit/951ddc8095ce4a0b01b7798d779ae7cbf182ce9f))
148
+
149
+ - Add task tracking section to CLAUDE.md and project documentation
150
+ ([`8ddda04`](https://github.com/SerPeter/code-atlas/commit/8ddda044432322e6f1795ed03e40059c9337d113))
151
+
152
+ - Clean up references and move local planning to CLAUDE.local.md
153
+ ([`b6c8788`](https://github.com/SerPeter/code-atlas/commit/b6c8788240474b09dd2b0c57ace14632afdf7b25))
154
+
155
+ - **adr**: Finalize ADR-0004 and ADR-0005, update architecture
156
+ ([`0e8ad11`](https://github.com/SerPeter/code-atlas/commit/0e8ad11febe7ac6c43bff313456d138af235c3b9))
157
+
158
+ - **adr**: Refine ADR-0005 with deployment model research findings
159
+ ([`8453162`](https://github.com/SerPeter/code-atlas/commit/8453162e67a62abb47c307e1eedb5bc61421e626))
160
+
161
+ - **guidelines**: Add repository guidelines for Code Atlas indexing
162
+ ([`3ec3412`](https://github.com/SerPeter/code-atlas/commit/3ec34129a2eeb15576b551053e143b8a5e7be1c2))
163
+
164
+ ### Features
165
+
166
+ - Scaffold project structure
167
+ ([`1d9c2bb`](https://github.com/SerPeter/code-atlas/commit/1d9c2bbfc267c750ba22e280d5db731ee424388a))
168
+
169
+ - **cli**: Add global --quiet, --json, --verbose, --no-color output modes
170
+ ([`098cfeb`](https://github.com/SerPeter/code-atlas/commit/098cfebf86f73fdd909cd7325e2ffc6f4eacf80b))
171
+
172
+ - **detectors**: Add pluggable pattern detector framework
173
+ ([`fa5f39d`](https://github.com/SerPeter/code-atlas/commit/fa5f39df9304b44c866c1e6fcf7dac0d7aca9d90))
174
+
175
+ - **detectors**: Implement 6 core pattern detectors
176
+ ([`eae3340`](https://github.com/SerPeter/code-atlas/commit/eae3340a3bc2b57e98b14bcf958a65956d806570))
177
+
178
+ - **docs**: Add heuristic doc-code linking via DOCUMENTS edges
179
+ ([`f8672bd`](https://github.com/SerPeter/code-atlas/commit/f8672bd0487d7063b7fdbb81a05d84bf8a5efd76))
180
+
181
+ - **docs**: Add markdown parser with tree-sitter-markdown
182
+ ([`e8d372c`](https://github.com/SerPeter/code-atlas/commit/e8d372c162652d6d73d1f66da5e14a61fcb2136a))
183
+
184
+ - **embeddings**: Add EmbedClient with litellm routing and Tier 3 pipeline
185
+ ([`ad7c972`](https://github.com/SerPeter/code-atlas/commit/ad7c9726f2e48fdb8746b50547089c5c483bcb75))
186
+
187
+ - **embeddings**: Add three-tier embedding cache with Valkey backend
188
+ ([`9bc9b4c`](https://github.com/SerPeter/code-atlas/commit/9bc9b4ce6997e1a47fa70b96d1a632cff84de152))
189
+
190
+ - **embeddings**: Handle embedding model changes robustly
191
+ ([`c03990b`](https://github.com/SerPeter/code-atlas/commit/c03990bea435fb3ade935ef91a364aa0c9fa40d0))
192
+
193
+ - **graph**: Add library stub resolution for external dependencies
194
+ ([`699fc1b`](https://github.com/SerPeter/code-atlas/commit/699fc1bc2163053a3d2e78ffe111992ce6ecd113))
195
+
196
+ - **graph**: Add query timeout protection for read queries
197
+ ([`4c15338`](https://github.com/SerPeter/code-atlas/commit/4c153386fe40ce86015d92513ae4e48d8686b604))
198
+
199
+ - **health**: Add health/doctor CLI commands and MCP health_check tool
200
+ ([`3f0a761`](https://github.com/SerPeter/code-atlas/commit/3f0a76189106997161cf24ff887577b9a4622b6c))
201
+
202
+ - **indexer**: Add FileScope class with nested .gitignore support
203
+ ([`becbe91`](https://github.com/SerPeter/code-atlas/commit/becbe91bea050a2d353d6e543a83998200c855c6))
204
+
205
+ - **indexer**: Add git-based staleness detection for query results
206
+ ([`7ddd19f`](https://github.com/SerPeter/code-atlas/commit/7ddd19fdf0d337c29f8bd4d61ea95aae218405fc))
207
+
208
+ - **indexer**: Implement Python indexer with atlas index and status commands
209
+ ([`8a8c3dd`](https://github.com/SerPeter/code-atlas/commit/8a8c3dd8caacfa9fc61c08c44a429900a11112f6))
210
+
211
+ - **infra**: Add Valkey to Docker stack and Redis settings
212
+ ([`a566e01`](https://github.com/SerPeter/code-atlas/commit/a566e01cffcf3cb9abfce8151eccd8a1653ea03c))
213
+
214
+ - **mcp**: Add 5-stage matching cascade and disambiguation ranking to get_node
215
+ ([`5a0043f`](https://github.com/SerPeter/code-atlas/commit/5a0043ffd4a34322f1e129fb0cb7a11fff43c655))
216
+
217
+ - **mcp**: Add detail parameter to search tools for compact/full output modes
218
+ ([`e6756c1`](https://github.com/SerPeter/code-atlas/commit/e6756c10122865c1bb27abfb5dd538c241fc5973))
219
+
220
+ - **mcp**: Add MCP Roots support with git root fallback
221
+ ([`546b243`](https://github.com/SerPeter/code-atlas/commit/546b243dec3fa9f1bd9c48c535ee8fbd004c823d))
222
+
223
+ - **mcp**: Add subagent guidance tools for AI coding agents
224
+ ([`3bd3ab2`](https://github.com/SerPeter/code-atlas/commit/3bd3ab26d057c2de2fcabd5dbec77ec6e404c02d))
225
+
226
+ - **mcp**: Implement MCP server with 7 tools for AI agent access
227
+ ([`ea19cf8`](https://github.com/SerPeter/code-atlas/commit/ea19cf81c29ea08d964c41612f26c79b9bcea700))
228
+
229
+ - **monorepo**: Add monorepo support with sub-project detection and cross-project resolution
230
+ ([`5d8c029`](https://github.com/SerPeter/code-atlas/commit/5d8c029d849f46d929be57f7a7614dcf57f07a68))
231
+
232
+ - **naming**: Worktree-aware naming and monorepo sub-project prefixing
233
+ ([`2acdfb3`](https://github.com/SerPeter/code-atlas/commit/2acdfb33ba4b486f966272a01cf8a37f670661f6))
234
+
235
+ - **parser**: Add py-tree-sitter parser, implement Tier 2 pipeline, drop Rust
236
+ ([`d56e7d2`](https://github.com/SerPeter/code-atlas/commit/d56e7d2a686ec279a52d85bbc4903f4d85f51a4e))
237
+
238
+ - **parsing**: Add multi-language support (10 languages, 7 modules)
239
+ ([`2c53ec8`](https://github.com/SerPeter/code-atlas/commit/2c53ec8b5c406fc21e1484aadfba723e2966c664))
240
+
241
+ - **parsing**: Add Python meta-programming quick wins
242
+ ([`7e57c1d`](https://github.com/SerPeter/code-atlas/commit/7e57c1da0b347f906b1d54b995a70af6ca973869))
243
+
244
+ - **pipeline**: Add AST diffing with content-hash delta upsert
245
+ ([`c265cd1`](https://github.com/SerPeter/code-atlas/commit/c265cd1dd68df376726d987841176df8d08f8b2d))
246
+
247
+ - **pipeline**: Add event bus and tiered consumer prototype
248
+ ([`42d5983`](https://github.com/SerPeter/code-atlas/commit/42d5983a4f28bbc8a21593801c496b7e7c48bc48))
249
+
250
+ - **pipeline**: Add git-based delta indexing with file-level change detection
251
+ ([`368973c`](https://github.com/SerPeter/code-atlas/commit/368973ca46baaa99a2d40ddc339edb6bf55b29be))
252
+
253
+ - **pipeline**: Compute actual significance level for delta gating
254
+ ([`62b5076`](https://github.com/SerPeter/code-atlas/commit/62b507618e8f83e07d3635b952f115e10cdf6a4d))
255
+
256
+ - **schema**: Implement Memgraph graph schema with language-agnostic model
257
+ ([`ec310b2`](https://github.com/SerPeter/code-atlas/commit/ec310b268a156061e55a9a1b335ec28ff85b0c56))
258
+
259
+ - **search**: Add configurable post-fusion result filtering
260
+ ([`39f9ac3`](https://github.com/SerPeter/code-atlas/commit/39f9ac36ce1a1498319f68cda9180ade0fdd25f8))
261
+
262
+ - **search**: Add context expander with parallel Cypher queries
263
+ ([`6edb1f2`](https://github.com/SerPeter/code-atlas/commit/6edb1f29c26aa6f89b8358d57fc3daa8ccd44611))
264
+
265
+ - **search**: Add full-body source text to entity indexing
266
+ ([`3fbe54b`](https://github.com/SerPeter/code-atlas/commit/3fbe54bf30b65d57e6a2d7ae731583b45af061f3))
267
+
268
+ - **search**: Add hybrid search with RRF fusion across graph, vector, and BM25 channels
269
+ ([`11977f8`](https://github.com/SerPeter/code-atlas/commit/11977f8387fb0054d70ad9d3f28da7f56171cde3))
270
+
271
+ - **search**: Add token-budget context assembly with priority ordering
272
+ ([`e4b0bd2`](https://github.com/SerPeter/code-atlas/commit/e4b0bd216a48f3738a2fff6707fa28d29f137958))
273
+
274
+ - **search**: Add vector index DDL, scope/threshold filtering, and query cache
275
+ ([`8f7e053`](https://github.com/SerPeter/code-atlas/commit/8f7e05305c2b4f692c0a59cc94f70aeeb248e14b))
276
+
277
+ - **server**: Add analyze_repo and generate_diagram MCP tools
278
+ ([`ff875c5`](https://github.com/SerPeter/code-atlas/commit/ff875c5f6e91a5579e6c2b021d1fd0b9667a161a))
279
+
280
+ - **settings**: Add lightweight mode (no embeddings)
281
+ ([`57d290c`](https://github.com/SerPeter/code-atlas/commit/57d290c12b5fa2ff8111d1e2ded647dc47562cb8))
282
+
283
+ - **telemetry**: Add OpenTelemetry tracing and metrics integration
284
+ ([`e1544ce`](https://github.com/SerPeter/code-atlas/commit/e1544ce490532a8a32fbdc8d23b2313c9f6a7193))
285
+
286
+ - **watcher**: Add file watcher with hybrid debounce for real-time indexing
287
+ ([`95b4757`](https://github.com/SerPeter/code-atlas/commit/95b4757593c4e81556b0ed43e38e20a5145d77d0))
288
+
289
+ ### Performance Improvements
290
+
291
+ - Fix event loop blocking + add benchmark suite
292
+ ([`0774451`](https://github.com/SerPeter/code-atlas/commit/0774451ef1ec2145bce3aa8b5332fd536e2a903f))
293
+
294
+ - **graph**: Optimize graph_search with UNION ALL query
295
+ ([`b90cd19`](https://github.com/SerPeter/code-atlas/commit/b90cd191a12b425694c90a807866a0a941ae819e))
296
+
297
+ ### Refactoring
298
+
299
+ - Reorganize flat layout into feature-based package structure
300
+ ([`e8c8366`](https://github.com/SerPeter/code-atlas/commit/e8c83664d42288de0439ecaca0d26b7dfc8cffde))
301
+
302
+ - **parsing**: Extract language-specific code into plugin system
303
+ ([`be44dc7`](https://github.com/SerPeter/code-atlas/commit/be44dc7f716d598dafbf41e100a455e8a1d39925))
304
+
305
+ - **schema**: Remove unused ADR node label
306
+ ([`2b54b86`](https://github.com/SerPeter/code-atlas/commit/2b54b86247ce562416d7881ee1a860364425967d))
307
+
308
+ - **tests**: Reorganize test directory to mirror source layout
309
+ ([`fb63c57`](https://github.com/SerPeter/code-atlas/commit/fb63c577e8d075e4c2dd1986d81b3ece110585a8))
310
+
311
+ ### Testing
312
+
313
+ - Prune 27 trivial unit tests that violate high-gear principle
314
+ ([`a18af95`](https://github.com/SerPeter/code-atlas/commit/a18af950a419215e16891a5c0066a10bc8023d1e))
315
+
316
+ - **infra**: Add testcontainers for auto-managed integration test infrastructure
317
+ ([`a6958d2`](https://github.com/SerPeter/code-atlas/commit/a6958d2bbbaccb825bf09d11f9fec3b0d5e95d35))
318
+
319
+ - **mcp**: Add lock and ignore staleness mode tests
320
+ ([`69646d8`](https://github.com/SerPeter/code-atlas/commit/69646d84c46756e160d3c31e9286599544ac2ff1))
321
+
322
+ - **watcher**: Add end-to-end file change integration test
323
+ ([`6c594df`](https://github.com/SerPeter/code-atlas/commit/6c594df1a6328de189f643c548457479927e9ae9))
@@ -0,0 +1,63 @@
1
+ # =============================================================================
2
+ # Code Atlas — CLI + MCP server
3
+ #
4
+ # Use cases:
5
+ # docker run -v /project:/data/project atlas index /data/project
6
+ # docker run -p 8000:8000 atlas mcp
7
+ # docker run atlas search "query"
8
+ #
9
+ # Note: stdio MCP transport requires a local process, not a container.
10
+ # For AI agent sessions, prefer running `atlas mcp` directly on the host.
11
+ # =============================================================================
12
+
13
+ FROM python:3.14-slim AS builder
14
+
15
+ WORKDIR /app
16
+
17
+ # Install uv
18
+ COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
19
+
20
+ # Install Python dependencies first (cached layer — changes less than source)
21
+ COPY pyproject.toml uv.lock ./
22
+ RUN --mount=type=cache,target=/root/.cache/uv \
23
+ uv sync --frozen --no-dev --no-install-project
24
+
25
+ # Copy source + metadata, then install the project itself
26
+ COPY src/ src/
27
+ COPY README.md ./
28
+ RUN --mount=type=cache,target=/root/.cache/uv \
29
+ uv sync --frozen --no-dev
30
+
31
+ # =============================================================================
32
+ FROM python:3.14-slim AS runtime
33
+
34
+ WORKDIR /app
35
+
36
+ # System deps: git for delta indexing / staleness checking
37
+ RUN apt-get update && \
38
+ apt-get install -y --no-install-recommends git && \
39
+ rm -rf /var/lib/apt/lists/*
40
+
41
+ # Non-root user
42
+ RUN groupadd --gid 1000 atlas && \
43
+ useradd --uid 1000 --gid atlas --create-home atlas
44
+
45
+ # Copy uv binary and the fully-built virtualenv from builder
46
+ COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
47
+ COPY --from=builder --chown=atlas:atlas /app /app
48
+
49
+ # Container-sensible defaults: HTTP transport, bind all interfaces.
50
+ # Override at runtime with -e or docker-compose environment.
51
+ ENV ATLAS_MCP__TRANSPORT=streamable-http \
52
+ ATLAS_MCP__HOST=0.0.0.0
53
+
54
+ EXPOSE 8000
55
+
56
+ USER atlas
57
+
58
+ LABEL org.opencontainers.image.title="code-atlas" \
59
+ org.opencontainers.image.description="Code intelligence graph — index, search, and serve codebases via MCP" \
60
+ org.opencontainers.image.licenses="Apache-2.0"
61
+
62
+ ENTRYPOINT ["uv", "run", "atlas"]
63
+ CMD ["mcp"]
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-atlas-mcp
3
- Version: 0.1.2
3
+ Version: 0.2.0.dev1
4
4
  Summary: A code intelligence graph that gives AI coding agents deep, token-efficient understanding of your codebase.
5
5
  Project-URL: Homepage, https://github.com/SerPeter/code-atlas
6
6
  Project-URL: Documentation, https://github.com/SerPeter/code-atlas/tree/main/docs
7
7
  Project-URL: Repository, https://github.com/SerPeter/code-atlas
8
8
  Project-URL: Issues, https://github.com/SerPeter/code-atlas/issues
9
- Project-URL: Changelog, https://github.com/SerPeter/code-atlas/releases
9
+ Project-URL: Changelog, https://github.com/SerPeter/code-atlas/blob/main/CHANGELOG.md
10
10
  Author: SerPeter
11
11
  License-Expression: Apache-2.0
12
12
  License-File: LICENSE
@@ -2,10 +2,14 @@
2
2
  # See: https://github.com/SerPeter/code-atlas
3
3
 
4
4
  [scope]
5
- # Whitelist paths to index (leave empty to index everything)
6
- include_paths = []
7
- # Additional exclude patterns beyond .gitignore and .atlasignore
8
- exclude_patterns = []
5
+ # Restrict indexing to these directory paths (leave empty for everything)
6
+ paths = []
7
+ # Override defaults entirely (uncomment to customize):
8
+ # include = ["*.py", "*.pyi"]
9
+ # exclude = [".git/", "node_modules/"]
10
+ # Extend defaults (recommended):
11
+ extend_include = []
12
+ extend_exclude = []
9
13
 
10
14
  [libraries]
11
15
  # Fully index these libraries (parse source, embed, full graph)
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "code-atlas-mcp"
7
- version = "0.1.2"
7
+ version = "0.2.0-dev.1"
8
8
  description = "A code intelligence graph that gives AI coding agents deep, token-efficient understanding of your codebase."
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -82,7 +82,7 @@ Homepage = "https://github.com/SerPeter/code-atlas"
82
82
  Documentation = "https://github.com/SerPeter/code-atlas/tree/main/docs"
83
83
  Repository = "https://github.com/SerPeter/code-atlas"
84
84
  Issues = "https://github.com/SerPeter/code-atlas/issues"
85
- Changelog = "https://github.com/SerPeter/code-atlas/releases"
85
+ Changelog = "https://github.com/SerPeter/code-atlas/blob/main/CHANGELOG.md"
86
86
 
87
87
  # --------------------------------------------------------------------------- #
88
88
  # Dev dependencies
@@ -149,4 +149,43 @@ allowed-unresolved-imports = [
149
149
  "opentelemetry.*.*.*",
150
150
  "opentelemetry.*.*.*.*",
151
151
  "opentelemetry.*.*.*.*.*",
152
+ # tree-sitter grammars are optional extras — may not be installed.
153
+ "tree_sitter_c",
154
+ "tree_sitter_cpp",
155
+ "tree_sitter_c_sharp",
156
+ "tree_sitter_go",
157
+ "tree_sitter_java",
158
+ "tree_sitter_javascript",
159
+ "tree_sitter_php",
160
+ "tree_sitter_ruby",
161
+ "tree_sitter_rust",
162
+ "tree_sitter_typescript",
152
163
  ]
164
+
165
+ # --------------------------------------------------------------------------- #
166
+ # Semantic Release
167
+ # --------------------------------------------------------------------------- #
168
+ [tool.semantic_release]
169
+ version_toml = ["pyproject.toml:project.version"]
170
+ commit_parser = "conventional"
171
+ allow_zero_version = true # project is 0.x
172
+ major_on_zero = false # breaking changes bump minor while 0.x
173
+ tag_format = "v{version}" # matches existing v0.1.0, v0.1.1, v0.1.2
174
+
175
+ [tool.semantic_release.branches.main]
176
+ match = "(main|master)"
177
+ prerelease = false
178
+ prerelease_token = "rc"
179
+
180
+ [tool.semantic_release.branches.feature]
181
+ match = "feature/.*"
182
+ prerelease = true
183
+ prerelease_token = "dev"
184
+
185
+ [tool.semantic_release.changelog]
186
+ exclude_commit_patterns = ['chore\(release\):.*']
187
+
188
+ [tool.semantic_release.changelog.default_templates]
189
+ changelog_file = "CHANGELOG.md"
190
+ output_format = "md"
191
+ mask_initial_release = false # include full details for first PSR-managed release
@@ -0,0 +1,5 @@
1
+ """Code Atlas — code intelligence graph for AI coding agents."""
2
+
3
+ from importlib.metadata import version
4
+
5
+ __version__ = version("code-atlas-mcp")