project-conventions

Enforce .NET project conventions across multi-project solutions.

Updated Feb 7, 2026
One-click install
npx skills add https://github.com/jsamuelsen11/claude-config --skill project-conventions-jsamuelsen11
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: project-conventions
Source: https://github.com/jsamuelsen11/claude-config/tree/main/plugins/ccfg-csharp/skills/project-conventions
Command: npx skills add https://github.com/jsamuelsen11/claude-config --skill project-conventions-jsamuelsen11

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill codifies best practices for .NET project structure, central dependency management, and solution organization to reduce configuration drift and build issues across multiple projects.

Core Features & Use Cases

  • Consistent project structure: guidelines for minimal .csproj, Directory.Build.props, and Directory.Packages.props usage.
  • Central Package Management (CPM): enforce centralized versioning and transitive pinning.
  • Solution organization: standardized directory layout and solution layout across src/ and tests/.

Quick Start

Set up a new .NET solution following the project conventions, Central Package Management, and Directory.Build.props guidance.

Frequently Asked Questions about project-conventions

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

FAQPage Schema
How do I set up Central Package Management in a .NET multi-project solution?

Central Package Management is set up by creating a Directory.Packages.props file at the root to enforce centralized NuGet versioning. This reduces configuration drift by pinning transitive dependencies across all projects within the solution.

What is the best way to organize .csproj files across a large repository?

The best way to organize .csproj files is by using Directory.Build.props for shared build settings and a standardized src/ and tests/ directory layout. This structure ensures minimal project files and consistent solution organization.

Why does central package management require Directory.Packages.props?

Central package management requires Directory.Packages.props to define and enforce centralized NuGet versions. By moving versioning out of individual .csproj files, it prevents dependency conflicts and ensures consistent transitive pinning across the repository.

Can I enforce global.json and .editorconfig settings alongside CPM?

Yes, you can enforce standard global.json and .editorconfig settings alongside Central Package Management. Standardizing these configurations ensures consistent .NET SDK versions and coding styles across all projects in your solution.

How do I standardize .NET project conventions across multiple projects?

You standardize .NET project conventions by applying minimal .csproj guidelines, Directory.Build.props, and Central Package Management. This minimizes configuration drift, centralizes dependency versions, and standardizes solution layouts across src/ and tests/.

When do I need Directory.Build.props in my .NET solution?

You need Directory.Build.props when managing a multi-project .NET solution to define shared MSBuild properties globally. It prevents configuration drift by ensuring every project inherits identical build settings without duplicating code in individual .csproj files.