From 029319e7c1e438841a2a609360cd6c585d980944 Mon Sep 17 00:00:00 2001 From: ruberoid Date: Fri, 17 Oct 2025 12:40:43 +0400 Subject: [PATCH] docs: Add NuGet Package Management section to CLAUDE.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Document Central Package Management (CPM) with Package Source Mapping - Explain package source configuration (nuget.org vs musk private feed) - Describe how nuget.config is used across different environments - Add troubleshooting context for NU1507 warning resolution 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- CLAUDE.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 4f9aded..e8d4d0d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -141,6 +141,37 @@ When running with docker-compose: - Docker & Docker Compose for containerization - Drone CI/CD on Kubernetes +## NuGet Package Management + +The project uses **Central Package Management (CPM)** with **Package Source Mapping** to manage NuGet dependencies: + +### Package Sources + +- **nuget.org**: All public packages (Microsoft.*, Serilog.*, etc.) +- **musk** (private): Internal `Nocr.*` contract packages + +### Configuration + +The `nuget.config` file in the project root defines package source mapping: +```xml + + + + + + + + +``` + +### How It Works + +1. **Local Development**: Copy `nuget.config` to each submodule root when needed +2. **CI/CD**: Drone automatically copies `nuget.config` to `/root/.nuget/NuGet/NuGet.Config` +3. **Docker Builds**: Kaniko copies `nuget.config` to submodule root before building + +This eliminates NuGet warning NU1507 and ensures consistent package resolution across all environments. + ## CI/CD Pipeline **📖 See [_deploy/README.md](_deploy/README.md) for full CI/CD documentation.**