codeix 0.2.0 → 0.4.0

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 (2) hide show
  1. package/README.md +19 -9
  2. package/package.json +3 -2
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  ```
6
6
  codeix # start MCP server, watch for changes
7
7
  codeix build # parse source files, write .codeindex
8
- codeix serve --no-watch # serve without file watching
8
+ codeix -r ~/project build # build from a specific directory
9
9
  ```
10
10
 
11
11
  ## Why
@@ -30,7 +30,7 @@ AI coding agents spend most of their token budget *finding* code before they can
30
30
  - **Shareable** — library authors can ship `.codeindex` in their npm/PyPI/crates.io package. Consumers get instant navigation of dependencies.
31
31
  - **Composable** — the MCP server auto-discovers dependency indexes and mounts them. Query your code and your dependencies in one place.
32
32
  - **Structured for LLMs** — symbols have kinds, signatures, parent relationships, and line ranges. The agent gets exactly what it needs in one tool call instead of piecing it together from raw text.
33
- - **Prose search** — `search_texts` targets comments, docstrings, and string literals specifically. Find TODOs, find the error message a user reported, find what a function's docstring says — without noise from code.
33
+ - **Prose search** — `search --scope text` targets comments, docstrings, and string literals specifically. Find TODOs, find the error message a user reported, find what a function's docstring says — without noise from code.
34
34
  - **Fast** — builds in seconds, queries in milliseconds. Rust + tree-sitter + in-memory SQLite FTS5 under the hood.
35
35
 
36
36
  ## The `.codeindex` format
@@ -67,13 +67,13 @@ Seven tools, zero setup. The agent queries immediately — no init, no config, n
67
67
 
68
68
  | Tool | What it does |
69
69
  |---|---|
70
- | `list_projects` | List all indexed projects |
71
- | `search_symbols` | Fuzzy search across all symbols (FTS5, BM25-ranked), optionally filtered by project |
72
- | `search_files` | Find files by name, path, or language, optionally filtered by project |
73
- | `search_texts` | Full-text search on comments, docstrings, strings, optionally filtered by project |
70
+ | `explore` | Explore project structure: metadata, subprojects, files grouped by directory |
71
+ | `search` | Unified full-text search across symbols, files, and texts (FTS5, BM25-ranked) with scope/kind/path/project filters |
74
72
  | `get_file_symbols` | List all symbols in a file |
75
- | `get_symbol_children` | Get children of a class/module |
76
- | `get_imports` | List imports for a file |
73
+ | `get_children` | Get children of a class/module |
74
+ | `get_callers` | Find all places that call or reference a symbol |
75
+ | `get_callees` | Find all symbols that a function/method calls |
76
+ | `flush_index` | Flush pending index changes to disk |
77
77
 
78
78
  ## Project discovery
79
79
 
@@ -97,6 +97,13 @@ Tree-sitter grammars, feature-gated at compile time:
97
97
  | C++ | `lang-cpp` | yes | `.cpp` `.cc` `.cxx` `.hpp` `.hxx` |
98
98
  | Ruby | `lang-ruby` | yes | `.rb` `.rake` `.gemspec` |
99
99
  | C# | `lang-csharp` | yes | `.cs` |
100
+ | Markdown | `lang-markdown` | yes | `.md` `.markdown` |
101
+
102
+ ### Markdown support
103
+
104
+ Markdown files are parsed for **headings** (both ATX `#` and Setext underline styles) which are indexed as `section` symbols with hierarchical parent-child relationships — enabling TOC extraction and document structure navigation.
105
+
106
+ Fenced code blocks are extracted as `code` text entries, parented to their containing section.
100
107
 
101
108
  ### Embedded scripts
102
109
 
@@ -141,7 +148,7 @@ All channels install the same single binary. No runtime dependencies.
141
148
  codeix build
142
149
 
143
150
  # Build from a specific directory (discovers all git repos below)
144
- codeix build ~/projects
151
+ codeix -r ~/projects build
145
152
 
146
153
  # Start MCP server (default command, watches for changes)
147
154
  codeix
@@ -149,6 +156,9 @@ codeix
149
156
  # Or explicitly
150
157
  codeix serve
151
158
  codeix serve --no-watch
159
+
160
+ # Serve from a specific directory
161
+ codeix -r ~/projects serve
152
162
  ```
153
163
 
154
164
  ### MCP client configuration
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "codeix",
3
- "version": "0.2.0",
4
- "description": "Portable, composable code index — build with tree-sitter, query via MCP",
3
+ "version": "0.4.0",
4
+ "mcpName": "io.github.montanetech/codeix",
5
+ "description": "Fast semantic code search for AI agents — find symbols, references, and callers across any codebase",
5
6
  "license": "MIT OR Apache-2.0",
6
7
  "repository": {
7
8
  "type": "git",