@nrafinia/csmesh 0.5.0 → 0.6.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 +5 -4
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -217,7 +217,7 @@ csmesh silence IStore # why a symbol has no callers: unbound sites, out-
217
217
  csmesh doctor # index health, reference count, stale generated sources, version drift
218
218
  ```
219
219
 
220
- The graph is a semantic reconstruction of what the code most likely does at runtime, built from Roslyn plus project structure plus known framework conventions. On a compilation with unresolved references it still answers — and `doctor` tells you how much of it stands on solid ground.
220
+ The graph is a semantic reconstruction of what the code most likely does at runtime, built from Roslyn plus project structure plus known framework conventions. Each in-scope project is compiled on its own, so a project whose references did not all resolve still answers — and `doctor` tells you how much of it stands on solid ground.
221
221
 
222
222
  ## 📦 Installation
223
223
 
@@ -365,6 +365,7 @@ csmesh entrypoints orders
365
365
  |:---|:---|
366
366
  | `--repo <PATH>` | Target repository root (default: nearest `.sln`, `.slnx`, or `.git` above cwd) |
367
367
  | `--under <PATH>` | Restrict the answer to a subtree, e.g. `--under src/Api`. Narrow before raising the budget. |
368
+ | `--project <PATH>` | Pick one project when a name repeats across assemblies, e.g. `--project src/Api`. Exit `3` lists each candidate's project. |
368
369
  | `--budget <N>` | Hard token limit for stdout. Exits code `2` on overflow. Defaults per command below. |
369
370
  | `--depth <N>` | Traversal depth limit (`trace` 6, `blast-radius` 3, `context` 3, `path` 12, `diff` 3) |
370
371
  | `--heal` | Re-bind changed files before answering, instead of marking rows `[STALE]` |
@@ -395,10 +396,10 @@ csmesh find "POST /orders"
395
396
  ```
396
397
 
397
398
  #### `csmesh index`
398
- Builds or refreshes the Roslyn symbol graph stored in `.csmesh/graph.json`. Incremental by default: only the files that changed since the last index are re-bound, and their symbols keep their existing identity so every edge into them survives the edit. Falls back to a full pass when an edit touches something that binds across files — an interface declaration, a handler, a container registration.
399
+ Builds or refreshes the Roslyn symbol graph stored in `.csmesh/graph.json`. Incremental by default: only the files that changed since the last index are re-bound, and their symbols keep their existing identity so every edge into them survives the edit. Falls back to a full pass when an edit touches something that binds across files — an interface declaration, a handler, a container registration. The `.csmesh/` directory is added to `.git/info/exclude` when it is created, so it never shows up as untracked in a work repository.
399
400
  ```bash
400
401
  csmesh index
401
- csmesh index --full # force a whole-solution rebuild
402
+ csmesh index --full # force a full re-index of every in-scope project
402
403
  csmesh index --all # include projects no solution file builds
403
404
  csmesh index --repo ./src
404
405
  ```
@@ -585,7 +586,7 @@ A symbol graph is not a replacement for text search or reading code; it is a rep
585
586
  | `0` | **Success** | Complete answer returned within budget. | Parse output directly. |
586
587
  | `1` | **Not Found** | Symbol does not exist in repository. | Check spelling or verify namespace. |
587
588
  | `2` | **Over Budget** | Answer exists but exceeds `--budget`. | Re-run with narrower `--depth` or query a specific callee. |
588
- | `3` | **Ambiguous** | Multiple symbols match query. | Re-run with qualified `Type.Member` instead of bare member name. |
589
+ | `3` | **Ambiguous** | Multiple symbols match query, including the same name declared in more than one project. | Re-run with qualified `Type.Member`, or with `--project <path>` taken from the candidate list. |
589
590
  | `4` | **No Index** | No usable graph: not generated, or (for `review`) the index predates HEAD. | Execute `csmesh index` and retry. |
590
591
  | `5` | **Changed** (`review` only) | Unaccepted structural change vs. the base revision. | Review the finding, then `csmesh review --accept` if it's fine to keep. |
591
592
  | `64`| **Usage Error** | Invalid flags, syntax, or arguments, including `review --accept` while the index predates HEAD. | Run `csmesh <cmd> --help`. |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrafinia/csmesh",
3
- "version": "0.5.0",
3
+ "version": "0.6.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"