Dotnet-skills dotnet-project-setup
Create or reorganize .NET solutions with clean project boundaries, repeatable SDK settings, and a maintainable baseline for libraries, apps, tests, CI, and local development.
install
source · Clone the upstream repo
git clone https://github.com/managedcode/dotnet-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/managedcode/dotnet-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/catalog/Platform/Project-Setup/skills/dotnet-project-setup" ~/.claude/skills/managedcode-dotnet-skills-dotnet-project-setup && rm -rf "$T"
manifest:
catalog/Platform/Project-Setup/skills/dotnet-project-setup/SKILL.mdsource content
.NET Project Setup
Trigger On
- creating a new .NET solution or restructuring an existing one
- setting up
, shared package management, or repo-wide defaultsDirectory.Build.props - defining project layout for apps, libraries, and test projects
Workflow
- Start from the app model and deployment target, then choose the smallest correct SDK and target framework set.
- Use solution folders and project names that reflect bounded contexts or product areas, not temporary implementation details.
- Centralize shared build settings, analyzer rules, nullable context, and package versions where it reduces duplication without hiding important differences.
- Create test projects and CI hooks early so new projects do not drift into unverified templates.
- Prefer project references and composition over circular dependencies or utility dumping grounds.
- Document the local build, test, and run path in repo docs or
when the workflow is not obvious.AGENTS.md
Deliver
- a coherent solution structure
- shared build defaults that are easy to reason about
- starter quality and testing hooks for future work
Validate
- projects have explicit responsibility boundaries
- shared MSBuild settings do not accidentally override platform-specific needs
- a new contributor can build and test the repo without guessing
References
- patterns.md: solution layout conventions,
,Directory.Build.props
, Central Package Management,Directory.Build.targets
,global.json
, analyzers, multi-targeting, and source linknuget.config - templates.md:
templates for console apps, class libraries, ASP.NET Core APIs, worker services, Blazor, test projects, .NET Aspire, and gRPC servicesdotnet new