- Home
- Skills
- Nikiforovall
- Claude Code Rules
- Dotnet Run File
dotnet-run-file_skill
83
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill nikiforovall/claude-code-rules --skill dotnet-run-file- SKILL.md2.8 KB
Overview
This skill runs script-like C# programs directly using .NET 10's run-file feature. It helps you execute single-file programs, feed one-liners via stdin, and use run-file directives for packages, SDKs, and properties. Use it to prototype, script shell tasks, or convert quick scripts into full projects.
How this skill works
The skill invokes dotnet run on a .cs file or on stdin (dash -) to execute top-level statements without creating a project. It recognizes run-file directives placed at the top of the file (#:package, #:sdk, #:property, #:project) and applies the specified NuGet packages, SDK selection, and MSBuild properties. For multi-line inputs, heredoc patterns are recommended; for repeatable work you can convert a run file to a full project.
When to use it
- Execute C# quickly without creating a project or solution
- Run one-liner scripts or small snippets via stdin for AI-assisted workflows
- Add NuGet packages or SDK hints via run-file directives
- Create executable shell scripts in C# for automation
- Convert a proof-of-concept single file into a full project when it grows
Best practices
- Prefer stdin (dotnet run -) for short, ephemeral calculations or AI-driven snippets
- Use heredoc (<< 'EOF') for readable multi-line inputs in scripts
- Place directives at the top of the file to declare packages, SDK, and properties before code
- Pin package versions when reproducibility matters; wildcards are allowed for rapid prototyping
- Convert to a proper project (dotnet project convert) for larger codebases or when you need tighter build control
Example use cases
- Quickly print or transform data: echo 'Console.WriteLine(DateTime.Now);' | dotnet run -
- Use a package in a one-off script: heredoc with #:package Humanizer@* and run via dotnet run -
- Create a C# command-line helper as an executable shell script using a .cs run file
- Prototype API calls, then convert the working run file into a full project with dotnet project convert
- Produce JSON output from scripts for downstream parsing: dotnet run script.cs | jq .
FAQ
Yes. Add a directive like #:package PackageName@version at the top. Wildcards are allowed, but pin versions for reproducible runs.
When should I convert a run file to a project?
Convert when the script grows in complexity, needs tests, multiple files, or stricter build configuration. Use dotnet project convert to migrate.