basemind-opencode 0.2.3 → 0.2.5

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.
package/package.json CHANGED
@@ -1,36 +1,36 @@
1
1
  {
2
2
  "name": "basemind-opencode",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "Full AI context layer over MCP — tree-sitter code-map, document RAG (PDF/Office/HTML/email + OCR + reranker), shared agent memory, on-demand web crawl, git history + blame + per-symbol diff. 300+ languages, 8 coding-agent harnesses, content-addressed Fjall + LanceDB.",
5
- "type": "module",
6
- "main": "basemind.js",
7
5
  "keywords": [
8
- "mcp",
9
6
  "agent-context",
10
- "rag",
11
7
  "code-map",
8
+ "mcp",
9
+ "rag",
12
10
  "tree-sitter"
13
11
  ],
12
+ "homepage": "https://github.com/Goldziher/basemind#opencode",
13
+ "bugs": {
14
+ "url": "https://github.com/Goldziher/basemind/issues"
15
+ },
16
+ "license": "MIT",
14
17
  "author": {
15
18
  "name": "Na'aman Hirschfeld",
16
19
  "email": "nhirschfeld@gmail.com"
17
20
  },
18
- "license": "MIT",
19
21
  "repository": {
20
22
  "type": "git",
21
23
  "url": "git+https://github.com/Goldziher/basemind.git",
22
24
  "directory": "opencode-plugin"
23
25
  },
24
- "homepage": "https://github.com/Goldziher/basemind#opencode",
25
- "bugs": {
26
- "url": "https://github.com/Goldziher/basemind/issues"
27
- },
28
26
  "files": [
29
27
  "basemind.js",
30
28
  "skills/",
31
29
  "commands/",
32
30
  "README.md"
33
31
  ],
32
+ "type": "module",
33
+ "main": "basemind.js",
34
34
  "engines": {
35
35
  "node": ">=18"
36
36
  }
@@ -8,11 +8,24 @@ description: >-
8
8
  or open many files to find structural information.
9
9
  ---
10
10
 
11
- # basemind — code-map MCP server
11
+ # basemind — the indexed context layer
12
12
 
13
- basemind is a tree-sitter-backed code map plus git context, served over MCP. It
14
- pre-indexes a repository into a Fjall inverted index so structural and historical
15
- questions resolve in milliseconds — without you reading whole files.
13
+ basemind is the full context layer for this repository, served over MCP. It pre-indexes the
14
+ repo into a content-addressed blob store + Fjall inverted index (and, when enabled, a LanceDB
15
+ vector store) so structural, historical, and semantic questions resolve in milliseconds —
16
+ without you reading whole files.
17
+
18
+ ## Capabilities
19
+
20
+ - **Code map across 300+ languages** — tree-sitter outlines, symbol search, references,
21
+ callers, call graphs, implementations, dependents.
22
+ - **Full-text + symbol search** — indexed regex over content (`workspace_grep`) and substring
23
+ symbol lookup (`search_symbols`).
24
+ - **Git intelligence** — history, blame, and structural diffs at symbol resolution, plus churn.
25
+ - **Document RAG over 90+ file formats** — PDFs, Office, HTML, email, images (OCR) → semantic
26
+ search with cross-encoder reranking (`search_documents`).
27
+ - **Shared memory** — per-repo, scope-keyed key-value + semantic memory across sessions.
28
+ - **Web crawl** — scrape / follow-link crawl into the same searchable document store.
16
29
 
17
30
  ## When to reach for it (instead of `grep` / `read_file`)
18
31
 
@@ -29,6 +42,28 @@ If you are about to open more than two or three files just to learn structure, s
29
42
  and use basemind first. The tools return paths + line numbers; you only `read_file`
30
43
  once you know exactly which span you need.
31
44
 
45
+ ## Context economy — the operating discipline
46
+
47
+ basemind tools return **paths, line numbers, and signatures — not file bodies**, so a
48
+ structural answer costs a fraction of the tokens of reading source. Treat that as the
49
+ default workflow, not an optimization:
50
+
51
+ - **`outline` a file before you open it.** Read the whole file only when you have already
52
+ identified the exact span you need from the outline; then `read_file` that range, not the file.
53
+ - **`search_symbols` instead of `grep`/`rg` for a definition.** It matches on indexed symbol
54
+ names and returns `path:line`, skipping the comment/string/test-name noise grep drowns you in.
55
+ - **`find_references` / `find_callers` instead of grepping call sites.** Indexed call edges,
56
+ not text matches.
57
+ - **`workspace_grep` instead of shelling out to ripgrep** when you genuinely need regex over
58
+ content — it runs over the in-RAM index and returns capped, structured hits.
59
+ - **`rescan` after you edit code**, not a server reconnect. Pass `paths: [...]` to limit it to
60
+ the files you touched.
61
+ - **Do not re-read a file basemind already mapped.** If the outline answered the question, stop.
62
+
63
+ Rule of thumb: if a question is about _where_, _what calls_, _what shape_, _who changed_, or
64
+ _what's indexed_, a basemind tool answers it cheaper than reading files. Reach for `read_file`
65
+ only to see the actual implementation of a span you have already located.
66
+
32
67
  ## Tool routing (copy this into your mental model)
33
68
 
34
69
  | Question | Tool |