sigmap 5.3.0 → 5.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.
- package/CHANGELOG.md +11 -0
- package/README.md +39 -4
- package/gen-context.js +2 -2
- package/package.json +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/core/package.json +1 -1
- package/src/mcp/server.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,17 @@ Format: [Semantic Versioning](https://semver.org/)
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
+
## [5.4.0] — 2026-04-17
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- **Neovim plugin (`sigmap.nvim`)** — first-class Neovim integration in `neovim-plugin/`. Provides `:SigMap [args]` (async regen), `:SigMapQuery <text>` (TF-IDF retrieval in a floating window), `auto_run = true` (`BufWritePost` autocmd for source files), `require('sigmap').statusline()` for lualine/statusline widgets, and `:checkhealth sigmap` (validates Node 18+, binary presence, context file freshness).
|
|
18
|
+
- **Binary auto-detection** — plugin resolves the sigmap binary automatically: global `sigmap` → `npx sigmap` → local `gen-context.js` fallback; no manual config needed for most setups.
|
|
19
|
+
- **`release-neovim.yml` workflow** — tag `neovim-v*` to validate Lua files, run the full integration suite across Node 18/20/22, package the plugin as a `.tar.gz`, and create a GitHub Release.
|
|
20
|
+
- **CI now runs integration tests** — `ci.yml` runs both `node test/run.js` and `node test/integration/all.js` on every push and pull request.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
13
24
|
## [5.3.0] — 2026-04-17
|
|
14
25
|
|
|
15
26
|
### Added
|
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ npx sigmap # 10 seconds. zero config. your AI never reads the wrong file again
|
|
|
25
25
|
- Fewer retries (1.69 vs 2.84 prompts per task)
|
|
26
26
|
- Far smaller context (~2K–4K tokens instead of ~80K)
|
|
27
27
|
|
|
28
|
-
> Latest: **v5.
|
|
28
|
+
> Latest: **v5.4.0** — Neovim plugin (`sigmap.nvim`). `:SigMap`, `:SigMapQuery`, auto-run on save, statusline widget, and `:checkhealth sigmap` for the #1 most-admired editor.
|
|
29
29
|
|
|
30
30
|
**What is new in v5.2**
|
|
31
31
|
- `sigmap ask` creates task-focused context in one step
|
|
@@ -99,6 +99,7 @@ Measured on 90 coding tasks across 18 real public repos. Full methodology and ra
|
|
|
99
99
|
| [Standalone binaries](docs/readmes/binaries.md) | macOS, Linux, Windows — no Node required |
|
|
100
100
|
| [VS Code extension](#-vs-code-extension) | Status bar, stale alerts, commands |
|
|
101
101
|
| [JetBrains plugin](#-jetbrains-plugin) | IntelliJ IDEA, WebStorm, PyCharm support |
|
|
102
|
+
| [Neovim plugin](#-neovim-plugin) | `:SigMap`, `:SigMapQuery`, statusline, health check |
|
|
102
103
|
| [Languages supported](#-languages-supported) | 29 languages |
|
|
103
104
|
| [Context strategies](#-context-strategies) | full / per-module / hot-cold |
|
|
104
105
|
| [MCP server](#-mcp-server) | 8 on-demand tools |
|
|
@@ -518,6 +519,35 @@ Compatible with **IntelliJ IDEA 2024.1+** (Community & Ultimate), **WebStorm**,
|
|
|
518
519
|
|
|
519
520
|
---
|
|
520
521
|
|
|
522
|
+
## 🖥️ Neovim plugin
|
|
523
|
+
|
|
524
|
+
The official SigMap Neovim plugin (`sigmap.nvim`) brings first-class integration to the #1 most-admired editor (Stack Overflow 2025, 83% admiration rate). Power users who live in the terminal get context regeneration, ranked retrieval, and health checks without leaving Neovim.
|
|
525
|
+
|
|
526
|
+
| Feature | Detail |
|
|
527
|
+
|---|---|
|
|
528
|
+
| **`:SigMap [args]`** | Regenerate your AI context file asynchronously |
|
|
529
|
+
| **`:SigMapQuery <text>`** | TF-IDF ranked retrieval — results appear in a centered floating window |
|
|
530
|
+
| **Auto-run on save** | `auto_run = true` triggers regen on `BufWritePost` for `.js/ts/py/go/rs/java/rb/lua` |
|
|
531
|
+
| **Statusline widget** | `require('sigmap').statusline()` returns `sm:✓` (fresh) or `sm:⚠ Nh` (stale) |
|
|
532
|
+
| **`:checkhealth sigmap`** | Validates Node 18+, binary presence, and context file freshness |
|
|
533
|
+
| **Binary auto-detection** | Finds `sigmap` → `npx sigmap` → local `gen-context.js` automatically |
|
|
534
|
+
|
|
535
|
+
**Install (lazy.nvim):**
|
|
536
|
+
```lua
|
|
537
|
+
{ 'manojmallick/sigmap',
|
|
538
|
+
config = function()
|
|
539
|
+
require('sigmap').setup({
|
|
540
|
+
auto_run = true, -- regenerate on save
|
|
541
|
+
float_query = true, -- show query results in a floating window
|
|
542
|
+
})
|
|
543
|
+
end,
|
|
544
|
+
}
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
**Source:** [`neovim-plugin/`](neovim-plugin/) | **Docs:** [`neovim-plugin/README.md`](neovim-plugin/README.md)
|
|
548
|
+
|
|
549
|
+
---
|
|
550
|
+
|
|
521
551
|
## 🌐 Languages supported
|
|
522
552
|
|
|
523
553
|
> 29 languages and formats. All implemented with zero external dependencies — pure regex + Node built-ins.
|
|
@@ -811,7 +841,7 @@ Every run now prints a coverage line alongside token reduction:
|
|
|
811
841
|
|
|
812
842
|
```
|
|
813
843
|
───────────────────────────────────────────
|
|
814
|
-
SigMap v5.
|
|
844
|
+
SigMap v5.4.0
|
|
815
845
|
Files scanned : 76
|
|
816
846
|
Symbols found : 332
|
|
817
847
|
Token reduction: 94% (65,227 → 4,103)
|
|
@@ -830,7 +860,7 @@ sigmap --report
|
|
|
830
860
|
|
|
831
861
|
```
|
|
832
862
|
[sigmap] report:
|
|
833
|
-
version : 5.
|
|
863
|
+
version : 5.4.0
|
|
834
864
|
files processed : 76
|
|
835
865
|
reduction : 93.7%
|
|
836
866
|
coverage : A (97%) — 76 of 78 source files included
|
|
@@ -874,7 +904,7 @@ sigmap --health --json
|
|
|
874
904
|
Every output file now carries a metadata line so you can inspect freshness at a glance:
|
|
875
905
|
|
|
876
906
|
```
|
|
877
|
-
<!-- sigmap: version=5.
|
|
907
|
+
<!-- sigmap: version=5.4.0 confidence=HIGH coverage=97% dropped=2 commit=8540612 -->
|
|
878
908
|
```
|
|
879
909
|
|
|
880
910
|
### Diff risk score
|
|
@@ -1009,6 +1039,11 @@ sigmap/
|
|
|
1009
1039
|
│ ├── package.json ← manifest — commands, settings, activation
|
|
1010
1040
|
│ └── src/extension.js ← status bar, stale notification, commands
|
|
1011
1041
|
│
|
|
1042
|
+
├── neovim-plugin/ ← Neovim plugin — sigmap.nvim (v5.4)
|
|
1043
|
+
│ ├── lua/sigmap/init.lua ← M.setup(), M.run(), M.query(), M.statusline()
|
|
1044
|
+
│ ├── lua/sigmap/health.lua ← :checkhealth sigmap
|
|
1045
|
+
│ └── plugin/sigmap.lua ← :SigMap and :SigMapQuery user commands
|
|
1046
|
+
│
|
|
1012
1047
|
├── test/
|
|
1013
1048
|
│ ├── fixtures/ ← one source file per language
|
|
1014
1049
|
│ ├── expected/ ← expected extractor output
|
package/gen-context.js
CHANGED
|
@@ -4853,7 +4853,7 @@ __factories["./src/mcp/server"] = function(module, exports) {
|
|
|
4853
4853
|
|
|
4854
4854
|
const SERVER_INFO = {
|
|
4855
4855
|
name: 'sigmap',
|
|
4856
|
-
version: '5.
|
|
4856
|
+
version: '5.4.0',
|
|
4857
4857
|
description: 'SigMap MCP server — code signatures on demand',
|
|
4858
4858
|
};
|
|
4859
4859
|
|
|
@@ -6571,7 +6571,7 @@ const path = require('path');
|
|
|
6571
6571
|
const os = require('os');
|
|
6572
6572
|
const { execSync } = require('child_process');
|
|
6573
6573
|
|
|
6574
|
-
const VERSION = '5.
|
|
6574
|
+
const VERSION = '5.4.0';
|
|
6575
6575
|
const MARKER = '\n\n## Auto-generated signatures\n<!-- Updated by gen-context.js -->\n';
|
|
6576
6576
|
|
|
6577
6577
|
function requireSourceOrBundled(key) {
|
package/package.json
CHANGED
package/src/mcp/server.js
CHANGED