@nrafinia/csmesh 0.8.2 → 0.10.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 +11 -10
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -23,14 +23,14 @@ Built for AI coding agents and developers who are tired of multi-turn "file-hopp
23
23
  ```bash
24
24
  $ csmesh trace PaymentController.Post --budget 600
25
25
 
26
- PaymentController.Post {http:POST /charge} Api/PaymentController.cs:14
27
- -> CreatePaymentCommandHandler.Handle [mediatr via Send(CreatePaymentCommand)] App/CreatePaymentCommand.cs:18
26
+ PaymentController.Post {http:POST /charge} Api/PaymentController.cs:14-26
27
+ -> CreatePaymentCommandHandler.Handle [mediatr via Send(CreatePaymentCommand)] App/CreatePaymentCommand.cs:18-31
28
28
  -> IPaymentGateway.Authorize Infra/Repositories.cs:11
29
- -> StripeGateway.Authorize [impl, di-bound] Infra/Repositories.cs:29
29
+ -> StripeGateway.Authorize [impl, di-bound] Infra/Repositories.cs:29-33
30
30
  -> IPaymentRepository.Add Infra/Repositories.cs:7
31
- -> PaymentRepository.Add [impl, di-bound] Infra/Repositories.cs:17
32
- -> AppDbContext.SavePayment Infra/Repositories.cs:34
33
- -> InMemoryPaymentRepository.Add [impl] Infra/Repositories.cs:23
31
+ -> PaymentRepository.Add [impl, di-bound] Infra/Repositories.cs:17-22
32
+ -> AppDbContext.SavePayment Infra/Repositories.cs:35-40
33
+ -> InMemoryPaymentRepository.Add [impl] Infra/Repositories.cs:24-27
34
34
  ```
35
35
 
36
36
 
@@ -187,7 +187,7 @@ Times below are the same 2026-09-21 medians as the table above, measured on the
187
187
  - **💥 Blast Radius & Impact Analysis:** Computes the reverse call graph to surface all direct/indirect callers, affected controllers, and background consumers before modifying a symbol.
188
188
  - **🧩 Nested Type & Member Resolution:** Resolves members declared inside nested types seamlessly (e.g. `Container.Compute` automatically resolves `Container.Inner.Compute`), avoiding lookup misses without shadowing direct matches.
189
189
  - **🌐 Universal AI Agent Integration:** Installs native prompt rules and skills for **12+ AI tools** (Claude Code, Cursor, Antigravity, OpenCode, Windsurf, Cline, Copilot, MiMo Code, etc.) with both local and `--global` machine-wide support.
190
- - **🔄 Incremental Re-indexing:** Node identity is a compiler symbol key, not an array position, so an edit re-binds only the files that moved and every edge into them survives. Rows from files the index has not caught up with are tagged `[STALE]`; `--heal` re-binds them before answering. Falls back to a full pass when an edit touches something that binds across files.
190
+ - **🔄 Incremental Re-indexing:** Node identity is a compiler symbol key, not an array position, so an edit re-binds only the files that moved and every edge into them survives. Queries re-bind changed files before answering by default; a `[STALE]` row means that heal could not run, and the note says why. `--no-heal` answers from the current graph instead. Falls back to a full pass when an edit touches something that binds across files.
191
191
  - **🧭 Entry by Description, Not by Name:** `csmesh where <term>` searches names, namespaces, file paths and route templates, then ranks by how many entrypoints reach each hit — so the handler outranks the DTO that shares its name.
192
192
 
193
193
  ---
@@ -209,8 +209,8 @@ Anything below the threshold prints its score and origin inline rather than blen
209
209
  ```text
210
210
  $ csmesh impl IStore --budget 300
211
211
  IStore -- 2 implementation(s)
212
- SqlStore [di:scoped, ?0.75 assembly-scan] src/Data/SqlStore.cs:12 @ src/Api/Startup.cs:41
213
- InMemoryStore [test] tests/Fakes/InMemoryStore.cs:8
212
+ SqlStore [di:scoped, ?0.75 assembly-scan] src/Data/SqlStore.cs:12-40 @ src/Api/Startup.cs:41
213
+ InMemoryStore [test] tests/Fakes/InMemoryStore.cs:8-20
214
214
  ```
215
215
 
216
216
  And what csmesh could not resolve is an answer too, not a silence:
@@ -383,7 +383,8 @@ csmesh entrypoints orders
383
383
  | `--project <PATH>` | Pick one project when a name repeats across assemblies, e.g. `--project src/Api`. Exit `3` lists each candidate's project. Two overloads in one project need the parameter list instead, e.g. `Type.Member(int, string)`. |
384
384
  | `--budget <N>` | Hard token limit for stdout. Exits code `2` on overflow. Defaults per command below. |
385
385
  | `--depth <N>` | Traversal depth limit (`trace` 6, `blast-radius` 3, `context` 3, `path` 12, `diff` 3, `export` neighbourhood 1) |
386
- | `--heal` | Re-bind changed files before answering, instead of marking rows `[STALE]` |
386
+ | `--heal` | Heal changed files explicitly before answering. Healing is the default; this form makes a contended index write exit `75` instead of answering stale. |
387
+ | `--no-heal` | Answer from the current graph without healing, marking rows from changed files `[STALE]` |
387
388
  | `--json` | Output results in structured JSON format |
388
389
  | `--debug` | Print verbose diagnostics to stderr |
389
390
  | `--no-telemetry` | Skip recording the invocation in local usage metrics |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrafinia/csmesh",
3
- "version": "0.8.2",
3
+ "version": "0.10.0",
4
4
  "description": "Structural code intelligence & call-graph engine for C# and .NET — built for AI coding agents under hard token budgets",
5
5
  "bin": {
6
6
  "csmesh": "./bin/run.js"