Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"name": "codebase-index",
"displayName": "Codebase Index",
"description": "Local-first hybrid codebase index. Auto-provisions its Python CLI on first session start; the skill searches the index so Claude reads only the most relevant files.",
"version": "1.4.0",
"version": "1.5.0",
"author": {
"name": "codebase-index contributors"
},
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/codebase-index/.skill_version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.4.0
1.5.0
2 changes: 1 addition & 1 deletion .codex/skills/codebase-index/.skill_version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.4.0
1.5.0
2 changes: 1 addition & 1 deletion .opencode/skills/codebase-index/.skill_version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.4.0
1.5.0
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ All notable changes to this project are documented here. The format is based on

## [Unreleased]

## [1.5.0] - 2026-06-24

### Added — graph visualization upgrade + interop exports
- **HTML graph is now legible at a glance**: nodes are coloured by module
(community), sized by connectivity (god nodes are biggest), and edges are styled
Expand Down Expand Up @@ -361,7 +363,8 @@ All notable changes to this project are documented here. The format is based on
- Hooks example + `watch` mode for keeping the index fresh without blocking the edit loop (M8).
- `doctor`, `stats`, `clean` diagnostics/maintenance commands.

[Unreleased]: https://github.com/denfry/codebase-index/compare/v1.4.0...HEAD
[Unreleased]: https://github.com/denfry/codebase-index/compare/v1.5.0...HEAD
[1.5.0]: https://github.com/denfry/codebase-index/compare/v1.4.0...v1.5.0
[1.4.0]: https://github.com/denfry/codebase-index/compare/v1.3.0...v1.4.0
[1.3.0]: https://github.com/denfry/codebase-index/compare/v1.2.1...v1.3.0
[1.2.1]: https://github.com/denfry/codebase-index/compare/v1.2.0...v1.2.1
Expand Down
40 changes: 25 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ If you are opening this repository for the first time, follow this order:
If you only need the shortest path, run:

```bash
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.4.0"
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.5.0"
cd your-project
codebase-index init # prompts for Claude Code / Codex CLI / OpenCode
codebase-index index
Expand All @@ -73,18 +73,28 @@ codebase-index search "where is authentication implemented?"

## Project Status

**`1.4.0` is released.** The current release includes repository discovery,
**`1.5.0` is released.** The current release includes repository discovery,
SQLite FTS5 storage, Tree-sitter symbols and references, hybrid ranking, graph
impact analysis, token-budgeted retrieval packets, optional local embeddings,
hooks/watch support, multi-CLI installation, MCP server support, and a tested
GitHub-only `pipx` install path.

The `1.4.0` release hardens the MCP contract (a `schema_version` + `tool`
envelope on every payload, golden-locked per tool, plus a fix so the server
loads on current `mcp`/`pydantic`), dampens the god-class `in_degree` rerank
tiebreak (logarithmic, validated no-regression on the public benchmark), and
labels config/IaC files (Dockerfile, Terraform, HCL, INI, Makefiles) so infra
surfaces in `stats` and search.
The `1.5.0` release turns the dependency graph into a navigable map: every edge
carries a `confidence` audit trail (`extracted`/`inferred`/`ambiguous`, surfaced
in `refs`/`impact`); a new zero-dependency analytics pass computes modules
(communities), god nodes, and surprising cross-module links, exposed via the
`architecture` command/MCP tool; `path` traces the shortest dependency chain
between two symbols and `describe` prints a symbol's node card; and the HTML
graph is coloured by module and sized by connectivity, with `--format
graphml|dot|neo4j` exports for external tools. Requires a one-time reindex
(schema 2 → 3).

The earlier `1.4.0` release hardened the MCP contract (a `schema_version` +
`tool` envelope on every payload, golden-locked per tool, plus a fix so the
server loads on current `mcp`/`pydantic`), dampened the god-class `in_degree`
rerank tiebreak (logarithmic, validated no-regression on the public benchmark),
and labelled config/IaC files (Dockerfile, Terraform, HCL, INI, Makefiles) so
infra surfaces in `stats` and search.

The earlier `1.3.0` release added a content-addressed embedding cache (rebuilds reuse
vectors for unchanged content), a batched graph build (7–28× faster edge
Expand Down Expand Up @@ -118,7 +128,7 @@ For most users, install the package from the tagged GitHub release and run
`init` inside the repository you want to index:

```bash
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.4.0"
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.5.0"
cd your-project
codebase-index init # choose Claude Code, Codex CLI, OpenCode, or all
codebase-index index
Expand Down Expand Up @@ -156,7 +166,7 @@ fetch the package; later sessions are offline. The skill builds its index on
your first codebase question, so there is no manual `index` step.

**Distribution note:** the plugin bootstrap installs the pinned requirement from
`requirements.lock`. In `1.4.0`, that lock points at the tagged GitHub release
`requirements.lock`. In `1.5.0`, that lock points at the tagged GitHub release
instead of PyPI. You can override it with `CBX_INSTALL_SPEC` when testing a local
checkout or a different Git ref.

Expand Down Expand Up @@ -293,7 +303,7 @@ irm https://raw.githubusercontent.com/denfry/codebase-index/main/install.ps1 | i

```bash
cd your-project
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.4.0"
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.5.0"
codebase-index init
codebase-index index
```
Expand All @@ -313,13 +323,13 @@ the `pipx` environment was likely created with an older Python version. Reinstal
```powershell
pipx uninstall codebase-index
py -0p
pipx install --python "<path-to-python-3.11-or-newer>\python.exe" "git+https://github.com/denfry/codebase-index.git@v1.4.0"
pipx install --python "<path-to-python-3.11-or-newer>\python.exe" "git+https://github.com/denfry/codebase-index.git@v1.5.0"
```

For example:

```powershell
pipx install --python "C:\Users\you\AppData\Local\Programs\Python\Python312\python.exe" "git+https://github.com/denfry/codebase-index.git@v1.4.0"
pipx install --python "C:\Users\you\AppData\Local\Programs\Python\Python312\python.exe" "git+https://github.com/denfry/codebase-index.git@v1.5.0"
```

Then run initialization again:
Expand All @@ -333,7 +343,7 @@ codebase-index index
### Option 2: Install with pipx from GitHub

```bash
pipx install "git+https://github.com/denfry/codebase-index.git@v1.4.0"
pipx install "git+https://github.com/denfry/codebase-index.git@v1.5.0"
cd your-project
codebase-index init --target auto
codebase-index index
Expand All @@ -351,7 +361,7 @@ pip install -e ".[dev]"

PyPI, `uvx`, Homebrew, signed release checksums, and SBOMs are important for a
tool that reads entire repositories, but they are not all verified as shipped in
`1.4.0`. Target install story:
`1.5.0`. Target install story:

```bash
uvx codebase-index init
Expand Down
2 changes: 1 addition & 1 deletion docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## 1. Overview

`codebase-index` is a **local-first** code intelligence layer for AI coding agents. In `1.4.0`
`codebase-index` is a **local-first** code intelligence layer for AI coding agents. In `1.5.0`
it has two shipped faces:

1. **A Claude Code Skill** (`.claude/skills/codebase-index/SKILL.md`) that Claude auto-invokes for
Expand Down
6 changes: 3 additions & 3 deletions docs/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This page answers the most common questions about installing, running, and trust
with `pipx` (isolated) or `pip`, pinned to a release tag for reproducibility:

```bash
pipx install "git+https://github.com/denfry/codebase-index.git@v1.4.0"
pipx install "git+https://github.com/denfry/codebase-index.git@v1.5.0"
```

Then run `codebase-index init` inside your project and `codebase-index index` to build
Expand Down Expand Up @@ -158,8 +158,8 @@ Yes. Use any of these methods:

## Is it production-ready?

Yes — `codebase-index` is released as **v1.4.0**. The core indexing and search
functionality is implemented and tested. The current `1.4.0` package includes:
Yes — `codebase-index` is released as **v1.5.0**. The core indexing and search
functionality is implemented and tested. The current `1.5.0` package includes:

- Hybrid FTS/path/symbol/vector retrieval
- Import/call/reference graph expansion and `impact`
Expand Down
20 changes: 10 additions & 10 deletions docs/INSTALLATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
This page explains how to install `codebase-index` and make it available in Claude Code, Codex CLI, or OpenCode.

> **Distribution:** `codebase-index` is **not on PyPI**. It is installed directly
> from GitHub via `git+https://...@<tag>`. Pin to a release tag (e.g. `@v1.4.0`)
> from GitHub via `git+https://...@<tag>`. Pin to a release tag (e.g. `@v1.5.0`)
> for reproducible installs; use `@main` to track the latest.

## Choose Your Path
Expand All @@ -28,7 +28,7 @@ Install the tagged GitHub release and scaffold the skill into your project:

```bash
cd your-project
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.4.0"
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.5.0"
codebase-index init
codebase-index index
```
Expand Down Expand Up @@ -62,13 +62,13 @@ ln -s ~/codebase-index/skill ~/.claude/skills/codebase-index

```bash
# Using pip from the tagged GitHub release
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.4.0"
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.5.0"

# Using pipx from GitHub (isolated environment)
pipx install "git+https://github.com/denfry/codebase-index.git@v1.4.0"
pipx install "git+https://github.com/denfry/codebase-index.git@v1.5.0"

# Using uv from GitHub
uv tool install "git+https://github.com/denfry/codebase-index.git@v1.4.0"
uv tool install "git+https://github.com/denfry/codebase-index.git@v1.5.0"

# From source (editable mode)
git clone https://github.com/denfry/codebase-index.git
Expand All @@ -91,7 +91,7 @@ pip install -e ".[embeddings-local,watch,dev]"

### PyPI / uvx / Homebrew status

As of `1.4.0`, this documentation treats GitHub tag installs as the verified
As of `1.5.0`, this documentation treats GitHub tag installs as the verified
path. PyPI, `uvx codebase-index init`, Homebrew tap installation, signed
checksums, and SBOMs are distribution targets for a more complete release story.

Expand All @@ -108,7 +108,7 @@ brew install denfry/tap/codebase-index
On a machine with only Python + pipx:

```bash
pipx install "git+https://github.com/denfry/codebase-index.git@v1.4.0"
pipx install "git+https://github.com/denfry/codebase-index.git@v1.5.0"
cd /path/to/your/repo
codebase-index init # writes .claude/skills/codebase-index/ + .gitignore rules
codebase-index index # builds .claude/cache/codebase-index/index.sqlite
Expand All @@ -131,7 +131,7 @@ Expected output:
=== codebase-index Doctor ===

[OK] Python 3.12 (requires 3.11+)
[OK] codebase-index package installed (v1.4.0)
[OK] codebase-index package installed (v1.5.0)
[OK] tree-sitter is available
[INFO] Cache directory not yet created: ...
[INFO] Skill not installed in .claude/skills/
Expand Down Expand Up @@ -188,7 +188,7 @@ Use `codebase-index doctor` to verify which hooks are enabled. For heavy editing
For heavy editing sessions, `watch` mode keeps the index fresh via a debounced filesystem observer. Requires the `[watch]` extra:

```bash
pip install "codebase-index[watch] @ git+https://github.com/denfry/codebase-index.git@v1.4.0"
pip install "codebase-index[watch] @ git+https://github.com/denfry/codebase-index.git@v1.5.0"
codebase-index watch --debounce 500
```

Expand Down Expand Up @@ -278,7 +278,7 @@ Set `allow_external` to `false` to disable external API calls.
## Recommended Flow for First-Time Users

```bash
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.4.0"
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.5.0"
cd your-project
codebase-index init
codebase-index index
Expand Down
2 changes: 1 addition & 1 deletion docs/MCP.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
`codebase-index` ships a stdio MCP server powered by the optional `mcp` extra:

```bash
pip install "codebase-index[mcp] @ git+https://github.com/denfry/codebase-index.git@v1.4.0"
pip install "codebase-index[mcp] @ git+https://github.com/denfry/codebase-index.git@v1.5.0"
codebase-index mcp --root /path/to/repo
```

Expand Down
2 changes: 1 addition & 1 deletion docs/QUICKSTART.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Use this guide if you are new to `codebase-index` and want the fastest path to y
## Step 1: Install

```bash
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.4.0"
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.5.0"
```

Or from source:
Expand Down
4 changes: 2 additions & 2 deletions docs/SEO.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ Features:
- Secret redaction
- Respects .gitignore

Install: pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.4.0"
Install: pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.5.0"
GitHub: https://github.com/denfry/codebase-index
```

Expand All @@ -192,5 +192,5 @@ codebase-index builds a local hybrid index so Claude finds the right files witho
- No network by default
- Token-efficient output

pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.4.0"
pip install "codebase-index @ git+https://github.com/denfry/codebase-index.git@v1.5.0"
```
4 changes: 2 additions & 2 deletions docs/installer.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ pwsh ./install.ps1 -Target claude -InstallDir "D:\skills\codebase-index"
**Pinning по ветке/тегу** (воспроизводимость и безопасность):

```sh
sh install.sh --branch v1.4.0
sh install.sh --branch v1.5.0
```

---
Expand Down Expand Up @@ -151,7 +151,7 @@ sh install.sh --branch v1.4.0
```json
{
"skill_name": "codebase-index",
"version": "1.4.0",
"version": "1.5.0",
"installed_at": "2026-05-29T12:00:00Z",
"target": "claude",
"os": "linux",
Expand Down
2 changes: 1 addition & 1 deletion requirements.lock
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
codebase-index @ https://github.com/denfry/codebase-index/archive/refs/tags/v1.4.0.tar.gz
codebase-index @ https://github.com/denfry/codebase-index/archive/refs/tags/v1.5.0.tar.gz
tree-sitter==0.25.2
tree-sitter-language-pack==1.8.1
2 changes: 1 addition & 1 deletion src/codebase_index/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
See docs/ARCHITECTURE.md for the module map.
"""

__version__ = "1.4.0"
__version__ = "1.5.0"
Loading