{
  "added_at": "2026-10-20",
  "additional_evidence_urls": [
    "https://github.com/akiselev/ilspy-cli/blob/089895f16a9031bb8391db13c2160def9a2e8b60/src/main.rs",
    "https://github.com/akiselev/ilspy-cli/blob/089895f16a9031bb8391db13c2160def9a2e8b60/src/ilspy/detect.rs",
    "https://github.com/akiselev/ilspy-cli/blob/089895f16a9031bb8391db13c2160def9a2e8b60/src/bridge/mod.rs",
    "https://github.com/akiselev/ilspy-cli/blob/089895f16a9031bb8391db13c2160def9a2e8b60/bridge/IlSpyBridge.cs",
    "https://github.com/akiselev/ilspy-cli/blob/089895f16a9031bb8391db13c2160def9a2e8b60/bridge/IlSpyBridge.csproj",
    "https://github.com/akiselev/ilspy-cli/blob/089895f16a9031bb8391db13c2160def9a2e8b60/tests/integration_tests.rs",
    "https://github.com/akiselev/ilspy-cli/blob/089895f16a9031bb8391db13c2160def9a2e8b60/tests/fixtures/SampleLib/SampleClass.cs",
    "https://github.com/akiselev/ilspy-cli/blob/089895f16a9031bb8391db13c2160def9a2e8b60/Cargo.toml",
    "https://github.com/akiselev/ilspy-cli/blob/089895f16a9031bb8391db13c2160def9a2e8b60/AGENTS.md"
  ],
  "category": "dotnet",
  "description_en": "Rust CLI that hosts an ILSpy C# bridge in-process for assembly, type and named-method decompilation, source search and structured JSON output. A separate PE-header detector identifies managed assemblies without loading the .NET runtime.",
  "description_zh": "通过进程内托管的 ILSpy C# 桥接层，提供程序集、类型和指定方法的反编译、源码搜索及结构化 JSON 输出的 Rust CLI；独立的 PE 头检测器无需加载 .NET 运行时即可识别托管程序集。",
  "entry_url": "https://awesomerea.org/resources/akiselev-ilspy-cli/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/akiselev-ilspy-cli/",
  "evidence_url": "https://github.com/akiselev/ilspy-cli/blob/089895f16a9031bb8391db13c2160def9a2e8b60/README.md",
  "group": "tools",
  "id": "akiselev-ilspy-cli",
  "json_url": "https://awesomerea.org/resources/akiselev-ilspy-cli/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/akiselev-ilspy-cli/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/akiselev-ilspy-cli/index.md",
  "name": "ilspy-cli: targeted .NET decompilation for agents",
  "name_zh": "ilspy-cli：面向 Agent 的定向 .NET 反编译",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Building requires a Rust toolchain and .NET 8 SDK; build.rs invokes dotnet publish for the C# bridge, whose project pins ICSharpCode.Decompiler 9.1.0.7988. Decompilation needs the .NET 8 runtime; the detect command follows a separate Rust-only path.",
    "Method selection matches the first method with the requested name within the named type; it does not disambiguate overloads by signature. Source search skips types whose decompilation throws, so an empty result is not proof that the requested pattern is absent from the complete assembly.",
    "The integration suite builds one small SampleLib fixture and checks command output, including a simple Add method.",
    "README and Cargo metadata declare GPL-3.0, but the complete pinned tree has no separate LICENSE/COPYING text. The upstream ILSpy engine and user-provided assemblies retain their own licensing conditions."
  ],
  "requirements_zh": [
    "构建需要 Rust 工具链与 .NET 8 SDK；build.rs 调用 dotnet publish 构建 C# 桥接层，其项目固定使用 ICSharpCode.Decompiler 9.1.0.7988。反编译需要 .NET 8 运行时，detect 命令走独立的纯 Rust 路径。",
    "方法选择仅在指定类型内取第一个同名方法，不按签名区分重载；源码搜索会跳过反编译抛异常的类型，因此空结果不证明整个程序集中没有所查模式。",
    "集成测试构建一个小型 SampleLib 样例并检查命令输出，包括简单的 Add 方法。",
    "README 与 Cargo 元数据声明 GPL-3.0，但完整固定提交中没有单独的 LICENSE／COPYING 正文；上游 ILSpy 引擎与用户提供的程序集仍适用各自的许可条件。"
  ],
  "targets": [
    "app"
  ],
  "url": "https://github.com/akiselev/ilspy-cli",
  "verification": "source-reviewed",
  "verified_at": "2026-10-20"
}
