技能潮 SkillTide 提交收录
官方说明开源项目5 天前
rjmurillo/agentic-roslyn-tool

rjmurillo/agentic-roslyn-tool

Split C# files into one type per file across a whole repo. Fixes StyleCop SA1402 where dotnet format can't. Agent-friendly .NET CLI.
在 GitHub 查看 ↗直链 · 无中转页
★ 数取值
0 ★ · rjmurillo/agentic-roslyn-tool · 取自 GitHub 搜索 API · (2026-10-16 20:00:20 核对)
来源明细
从该仓库的 GitHub 页面直接读取 · 条目类型:开源项目
收录与活跃
收录于 2026-10-12 · 最近见到 2026-10-12 · 共见到 1 次 · 被 1 个来源列出
评分构成
综合分 103 · 1 个来源 · repo
常见问题(答案都来自我们的记录)
怎么安装?
我们【没有】从该仓库取到安装命令(我们的 install 覆盖率只有约 4%)。请看它的 README 或 releases 页。
它适合谁 / 用来做什么?
我们把它归在这些标签下: 开源项目。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库 rjmurillo/agentic-roslyn-tool;我们收录于 2026-10-12;最近见到 2026-10-12。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。
第三方质量标记

AgenticRoslynTool

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

AgenticRoslynTool splits C# files into one class per file across a whole repository, so you can fix StyleCop SA1402 without ReSharper or Visual Studio. Its split-types command gives each top-level type (class, struct, record, interface, enum, delegate) its own file.
It is not an MCP server. For when to use a Roslyn MCP server instead, see docs/roslyn-mcp-vs-cli.md.
Why this exists
dotnet format cannot fix SA1402 across a repository. SA1402CodeFixProvider does not implement Fix All. As a result, this command succeeds without changing files:
Production testing confirmed this behavior before development started. This tool provides the missing repository-wide operation.
Full walkthrough: docs/fix-sa1402-whole-repo.md.
Install
The tool ships as a .NET tool package on NuGet and needs the .NET 10 SDK.
Run it once without installing:
The -- matters. Without it, dnx reads options such as --help as its own.
Install it globally:
Install it into a repository so every contributor gets the same version:
The examples below use agentic-roslyn-tool. Substitute dnx AgenticRoslynTool --
or dotnet agentic-roslyn-tool if you picked one of the other two.
Build from source
Usage
Start with --dry-run. Without --phase or --dry-run, the tool runs the content
phase, which rewrites files. Run plan, then renames, then content, as
docs/fix-sa1402-whole-repo.md walks through.
split-types requires --input, which identifies the C# files to process. It accepts a
directory to scan, a single .cs file, a CSV with a file column, a text file with one
path per line, or - to read paths from standard input.
Use these options to control the operation:
| Option | Purpose |
| --- | --- |
| --phase plan\|renames\|content | Selects a phase. Defaults to content, which rewrites files. |
| --dry-run | Runs the plan phase without changing source files. |
| --input | Supplies the required file list. |
| --repo-root | Sets the repository root. |
| --manifest | Sets the CSV manifest path. |
| --json | Prints one JSON report to standard output instead of CSV. |
| --require-header | Prepends to every emitted file and fails the split if any output does not start with it. Off by default. |
| --exclude | Skips any input whose path contains . Repeatable. Off by default. |
Driving it from an agent
Point it at a tree and read the JSON. Nothing has to be written to disk first:
Discovery walks the directory for .cs files and skips bin and obj, because a build
owns those and recreates them. Piping works too, so a git diff or a ripgrep result can
feed the tool directly:
Standard output carries a parseable document or nothing: the manifest CSV in plan, the
JSON report under --json, and nothing at all in renames and content without --json.
The manifest path, the one-line summary, and every error go to standard error, so a pipe
stays clean. The JSON report leads with counts:
Exit codes are distinct so a caller can branch without parsing anything:
| Code | Meaning |
| --- | --- |
| 0 | The run completed and nothing failed. A run that skips every file also exits 0, so read summary to learn whether work happened. |
| 1 | The run completed and at least one file failed. |
| 2 | The command line was wrong. |
| 3 | The run could not start or could not finish, for example a missing input file. |
Errors print as a single error: line on standard error. No error path prints a
stack trace. --version prints the package version and exits 0.
Use --exclude for directories a generator owns, so the tool records them as skipped
instead of rewriting output that will be regenerated anyway. Matching is case insensitive
and separator agnostic, so one pattern works on Windows and Linux:
Use --require-header when your repository mandates a file header, for example a
license or copyright line. Pass the exact text of the first header line:
The header is normalized to the newline style of each source file, so you can pass it with
来源
github · https://github.com/rjmurillo/agentic-roslyn-tool
按领域浏览
开源项目
收录于
5 天前

更多开源项目

查看开源项目全部 731 条 →

所属领域与标签

每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。

浏览全部领域 →

← 返回索引