project-structure

Create a modern .NET project structure with centralized build configuration.

71|10|Updated Feb 11, 2026
One-click install
npx skills add https://github.com/wshaddix/dotnet-skills --skill project-structure-wshaddix
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: project-structure
Source: https://github.com/wshaddix/dotnet-skills/tree/main/skills/project-structure
Command: npx skills add https://github.com/wshaddix/dotnet-skills --skill project-structure-wshaddix

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a standardized and efficient way to structure .NET projects, ensuring consistency, maintainability, and ease of collaboration across development teams.

Core Features & Use Cases

  • Solution Layout: Defines a clear separation of concerns with src/ and tests/ directories.
  • Centralized Configuration: Utilizes Directory.Build.props, Directory.Packages.props, and global.json for unified build properties, package management, and SDK versioning.
  • Modern Formats: Supports the .slnx solution file format for improved merge conflict resolution and readability.
  • Code Style Enforcement: Integrates .editorconfig for consistent coding standards.
  • Use Case: When starting a new .NET solution, use this Skill to establish a robust project structure that incorporates best practices for build configuration, package management, and SDK versioning from the outset.

Quick Start

Set up a new .NET solution with a recommended project structure and centralized build configuration.

Frequently Asked Questions about project-structure

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is the best way to organize a .NET project structure for maintainability?

The best way to organize a .NET project structure involves separating concerns into `src/` and `tests/` directories, using `Directory.Build.props` for centralized properties, and managing dependencies with `Directory.Packages.props`.

How do I set up centralized NuGet package management in .NET?

To set up centralized NuGet package management, you create a `Directory.Packages.props` file at the solution root to define shared package versions, ensuring consistent dependency versions across all projects in the solution.

Does .NET support a modern solution file format to avoid merge conflicts?

.NET supports the `.slnx` solution file format, which improves readability and significantly reduces merge conflicts in source control compared to traditional `.sln` files.

How do I enforce consistent code style rules across a .NET solution?

You can enforce consistent code style rules across a .NET solution by integrating an `.editorconfig` file, which defines formatting and naming conventions that apply uniformly to all projects.

Why do I need global.json in my .NET project repository?

You need a `global.json` file to pin the .NET SDK version, ensuring that all developers on the team use the exact same SDK version for building the solution, which prevents environment-specific build failures.

Can I use Directory.Build.props to centralize MSBuild configuration?

You can use `Directory.Build.props` to centralize MSBuild configuration by defining common build properties once at the root, automatically applying them to all underlying projects without duplicating settings.