@nrafinia/csmesh 0.2.8 → 0.3.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/README.md +15 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -81,7 +81,8 @@ In layered, enterprise .NET applications, **lexical text search (`grep`, `ripgre
|
|
|
81
81
|
1. **Dependency Injection Bindings** (`AddScoped<IService, Service>()`)
|
|
82
82
|
2. **CQRS / MediatR Handler Dispatches** (`_mediator.Send(cmd)`)
|
|
83
83
|
3. **Interface Implementation Ranking** (distinguishing production services from mock fakes)
|
|
84
|
-
4. **Attribute-based Endpoint Routing** (`[HttpGet]`, `[HttpPost]`, `
|
|
84
|
+
4. **Attribute-based & Blazor Endpoint Routing** (`[HttpGet]`, `[HttpPost]`, `@page "/..."`)
|
|
85
|
+
5. **Razor & Blazor Components** (types, `@code` methods, and parameter bindings compiled via Roslyn source generators)
|
|
85
86
|
|
|
86
87
|
**`csmesh` solves this in a single shell command.** It parses your codebase's AST and semantic model via Roslyn into a pre-compiled, frozen symbol graph that returns exact answers in milliseconds.
|
|
87
88
|
|
|
@@ -174,10 +175,12 @@ The evaluation measured four critical dimensions:
|
|
|
174
175
|
## ✨ Key Features
|
|
175
176
|
|
|
176
177
|
- **🚀 Native AOT & .NET 10 Ready:** Instantaneous sub-millisecond execution, zero JIT warm-up, and zero-allocation queries via `System.Collections.Frozen`.
|
|
178
|
+
- **🎨 Blazor & Razor Component Intelligence:** Indexes Blazor components, `@code` methods, component parameters, and Razor Pages / MVC views. Automatically discovers `@page "/..."` routes as HTTP entrypoints and accurately maps line numbers back to `.razor` and `.cshtml` source files via Roslyn `#line` directives.
|
|
177
179
|
- **🛡️ Token-Budget Enforcement (`--budget N`):** Hard limits on output tokens. Prevents agent context exhaustion by exiting with actionable tips when a query is too broad.
|
|
178
180
|
- **💉 DI & IoC Container Intelligence:** Reads service registrations in every form they take — two-argument, `typeof` pairs, keyed, factory lambdas, and alias registrations such as `sp => sp.GetRequiredService<Concrete>()` — and ranks the class the container actually returns ahead of the ones nobody registered.
|
|
179
181
|
- **📨 MediatR & CQRS Linking:** Resolves `_mediator.Send(...)` and `Publish(...)` calls to their concrete request handlers across decoupled project boundaries.
|
|
180
182
|
- **💥 Blast Radius & Impact Analysis:** Computes the reverse call graph to surface all direct/indirect callers, affected controllers, and background consumers before modifying a symbol.
|
|
183
|
+
- **🧩 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.
|
|
181
184
|
- **🌐 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.
|
|
182
185
|
- **🔄 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.
|
|
183
186
|
- **🧭 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.
|
|
@@ -214,7 +217,7 @@ dotnet tool install --global --add-source ./src/CsMesh/bin/Release CsMesh
|
|
|
214
217
|
dotnet tool update --global CsMesh
|
|
215
218
|
```
|
|
216
219
|
|
|
217
|
-
|
|
220
|
+
### 2. Via npm / npx
|
|
218
221
|
```bash
|
|
219
222
|
Bash
|
|
220
223
|
# Run directly without global installation
|
|
@@ -223,8 +226,8 @@ npx @nrafinia/csmesh --help
|
|
|
223
226
|
# Or install globally across Windows, macOS, and Linux
|
|
224
227
|
npm install -g @nrafinia/csmesh
|
|
225
228
|
```
|
|
226
|
-
|
|
227
|
-
###
|
|
229
|
+
|
|
230
|
+
### 3. As a Standalone Native AOT Binary (Zero Runtime Dependency)
|
|
228
231
|
|
|
229
232
|
You can compile a single, standalone binary with zero dependencies on the .NET SDK:
|
|
230
233
|
|
|
@@ -253,6 +256,13 @@ csmesh index
|
|
|
253
256
|
# indexed 28 files -> 161 nodes, 380 edges in 0.1s
|
|
254
257
|
```
|
|
255
258
|
|
|
259
|
+
> [!TIP]
|
|
260
|
+
> **For Blazor & Razor projects:** Run your build with compiler-generated files enabled once, so Roslyn outputs component sources for `csmesh` to discover:
|
|
261
|
+
> ```bash
|
|
262
|
+
> dotnet build --no-incremental -p:EmitCompilerGeneratedFiles=true
|
|
263
|
+
> csmesh index
|
|
264
|
+
> ```
|
|
265
|
+
|
|
256
266
|
### 2. Configure Your AI Coding Assistants
|
|
257
267
|
```bash
|
|
258
268
|
# Install skill and rule files in the current repository:
|
|
@@ -378,7 +388,7 @@ csmesh blast PaymentService.Process --depth 2
|
|
|
378
388
|
```
|
|
379
389
|
|
|
380
390
|
#### `csmesh entrypoints [filter]`
|
|
381
|
-
Finds HTTP endpoints (`[HttpGet]`, `[HttpPost]`), message handlers, consumers, and background services.
|
|
391
|
+
Finds HTTP endpoints (`[HttpGet]`, `[HttpPost]`, Blazor `@page`), message handlers, consumers, and background services.
|
|
382
392
|
```bash
|
|
383
393
|
csmesh entrypoints
|
|
384
394
|
csmesh entrypoints payments
|
package/package.json
CHANGED