ironcode-ai 1.13.3 → 1.14.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 +15 -0
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -24,6 +24,16 @@
24
24
 
25
25
  ## 🎉 What's New
26
26
 
27
+ ### Feb 26, 2026 - Native Bash Permissions Layer
28
+
29
+ **Shell permission checks are now fully native — faster and more accurate:**
30
+
31
+ - **Wildcard matching** — Ported from JS to native Rust (`rexile`). Handles `*`/`?` glob patterns including the tricky `"ls *"` form that matches both `"ls"` and `"ls -la"`. Zero JS overhead on every permission check.
32
+
33
+ - **Bash command parser** — `shell.rs` replaces the old WASM tree-sitter path with a native tree-sitter-bash parser. Extracts filesystem arguments, full command patterns, and `always`-allow prefixes (`"npm run *"`) used by the permission system. **50-100x faster** than WASM.
34
+
35
+ - **Smart command prefix (RETE rule engine)** — 137 GRL rules loaded into a RETE `IncrementalEngine` classify every command to its correct prefix length. `npm run dev` → `"npm run *"`, `docker compose up` → `"docker compose *"`, `git config --global` → `"git config *"`. Longest-match always wins regardless of rule firing order.
36
+
27
37
  ### Feb 23, 2026 - Local Code Search (BM25 + tree-sitter)
28
38
 
29
39
  **Offline semantic code search — no embeddings, no ML model download required:**
@@ -297,6 +307,8 @@ IronCode rewrites key operations in native Rust with **measured real-world perfo
297
307
  - ✅ **Directory Listing**: Fast recursive directory traversal
298
308
  - ✅ **VCS Info**: Lightning-fast git repository information (libgit2 vs subprocess)
299
309
  - ✅ **Code Search (BM25)**: Local semantic code search with tree-sitter symbol extraction — finds functions by concept, not just exact text
310
+ - ✅ **Wildcard Matching**: `*`/`?` glob patterns via `rexile`, including trailing `" *"` form — replaces JS impl
311
+ - ✅ **Command Prefix (RETE)**: GRL rule engine (137 rules) maps commands → arity for permission `always`-allow prefixes
300
312
  - ✅ **System Stats**: CPU and memory monitoring
301
313
 
302
314
  **Benefits:**
@@ -776,6 +788,8 @@ IronCode is built with:
776
788
  │ │ • Glob/Grep (optimized) │ │
777
789
  │ │ • Git operations (libgit2) │ │
778
790
  │ │ • BM25 + tree-sitter search │ │
791
+ │ │ • Wildcard matching (rexile) │ │
792
+ │ │ • Command prefix (RETE) │ │
779
793
  │ │ • System stats (sysinfo) │ │
780
794
  │ └─────────────────────────────────┘ │
781
795
  └─────────────────────────────────────────┘
@@ -807,6 +821,7 @@ Contributions are welcome! Please read [CONTRIBUTING.md](./CONTRIBUTING.md) befo
807
821
 
808
822
  **Recent Contributions:**
809
823
 
824
+ - ✅ **Native Wildcard + Bash Parser + Command Prefix (RETE)** (wildcard matching, tree-sitter bash, RETE rule engine - Feb 2026)
810
825
  - ✅ **Local Code Search** (BM25 + tree-sitter semantic search, 7 languages, offline - Feb 2026)
811
826
  - ✅ **Editor & Terminal** (External editor with auto-install + redesigned terminal with autosuggest - Feb 2026)
812
827
  - ✅ **Code Changes Panel** (Diff viewer with hunk revert & inline comments - Feb 2026)
package/package.json CHANGED
@@ -6,11 +6,11 @@
6
6
  "scripts": {
7
7
  "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
8
8
  },
9
- "version": "1.13.3",
9
+ "version": "1.14.0",
10
10
  "license": "MIT",
11
11
  "optionalDependencies": {
12
- "ironcode-darwin-arm64": "1.13.3",
13
- "ironcode-linux-x64-modern": "1.13.3",
14
- "ironcode-windows-x64-modern": "1.13.3"
12
+ "ironcode-linux-x64-modern": "1.14.0",
13
+ "ironcode-windows-x64-modern": "1.14.0",
14
+ "ironcode-darwin-arm64": "1.14.0"
15
15
  }
16
16
  }