Skip to content

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 24 Sep 10:47
f387a38

0.7.1

Package types resolve from restore, not from whatever landed in bin/

Until now csmesh took package assemblies only from bin/. A class library does not copy its
PackageReference closure there, so on library-heavy solutions whether Refit.RestService or a
Hangfire type bound depended on which app project happened to copy it.

0.7.1 reads each in-scope project's obj/project.assets.json, the same resolved graph the compiler
uses, and gives every project its own reference list. On that solution, with bin/ still empty,
unbound call sites drop to 250. A restore is enough; a build is needed only for source-generator
output.

  • Per-project references: a package referenced by one project no longer binds in another, and two
    projects on different versions of a package each compile against their own. Previously every
    compilation saw every assembly under every bin/.
  • Projects without an assets file (never restored) keep the old bin/ behaviour.
  • A restore now marks the index dirty: the next csmesh index runs a full pass instead of
    reporting the tree current, and the review base cache is keyed on the assets files too.
  • Design: docs/adr/0003-package-assemblies-from-assets.md.

doctor

  • The references line reports three sources: runtime, assets, bin/.
  • Unrestored projects are counted and the advice is dotnet restore. The "nothing from bin/, run
    dotnet build" message fires only when neither source supplied packages.
  • The instruction-drift line prints ASCII; the previous arrow rendered as a control picture on the
    Windows console.

skill --install

  • Rewriting an existing file keeps its line endings. A CRLF AGENTS.md used to come back with LF
    lines inside it.
  • The rules block renders as LF regardless of the checkout the binary was built from, so every
    release binary writes the same bytes.
  • Each target path is written once per install. AGENTS.md, shared by several agents, was written
    three times.

📦 Installation & Upgrades

Global .NET Tool

dotnet tool update --global CsMesh

Automatic One-Line Install Script

Linux & macOS:

curl -fsSL https://raw.githubusercontent.com/nRafinia/CsMesh/main/install.sh | sh

Windows (PowerShell):

irm https://raw.githubusercontent.com/nRafinia/CsMesh/main/install.ps1 | iex

Quick Setup for AI Assistants

# Install skills and register MCP server in one command:
csmesh install -g --all
csmesh index --full