From bf552202a65412e804268e787471c58d8283ceef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tayfun=20Y=C4=B1lmaz?= Date: Tue, 8 Sep 2026 15:27:17 +0300 Subject: [PATCH] chore: ignore .local-feed/ and document build/pack-local.sh in CLAUDE.md .local-feed/ (the repo-local NuGet feed written by build/pack-local.sh and consumed by vnext as ../aether/.local-feed) was ignored only through .git/info/exclude, which is per clone; a fresh checkout following the local-feed procedure saw an untracked directory. It is now in the committed .gitignore. CLAUDE.md's NuGet section only described the release-v* publishing job; it now also documents the local feed: pack-local.sh usage, the -local version rule, why the script purges the NuGet cache before packing, the consumer-side wiring in vnext (nuget.config source + packageSourceMapping, AetherPackageVersion) and the revert-before-PR rule, with a link to the full procedure in vnext. Co-Authored-By: Claude Fable 5.1 --- .gitignore | 2 ++ CLAUDE.md | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/.gitignore b/.gitignore index 7b1c112..5f69a1e 100644 --- a/.gitignore +++ b/.gitignore @@ -154,6 +154,8 @@ PublishScripts/ # NuGet Packages *.nupkg *.snupkg +# Repo-local NuGet feed written by build/pack-local.sh (consumed by vnext as ../aether/.local-feed) +.local-feed/ # The packages folder can be ignored because of Package Restore **/packages/* # except build/, which is used as an MSBuild target. diff --git a/CLAUDE.md b/CLAUDE.md index 4ad7036..f02df75 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -29,6 +29,21 @@ dotnet run --project framework/src/BBT.Aether.Cli create PROJECT_NAME -tm TEAM_N ### NuGet Packaging Packages are published automatically via GitHub Actions on `release-v*` branches. Version is auto-calculated from the branch name (e.g., `release-v1.0` โ†’ `1.0.0`, `1.0.1`, ...). +#### Local feed for unreleased work (consumed by vnext) + +```bash +./build/pack-local.sh # packs every framework/src library as 1.0.NN-local into .local-feed/ +./build/pack-local.sh 1.0.41-local # explicit version; must end in -local (the script refuses otherwise) +``` + +- `.local-feed/` is git-ignored; `-local` versions can never shadow a published release. +- The script purges `~/.nuget/packages/bbt.aether.*/` before packing โ€” without that, re-packing + the same version silently keeps the old contents in the build ("the member I just added does not exist"). +- Consumer side (vnext): uncomment **both** the `aether-local` source (`../aether/.local-feed`) and its + `packageSourceMapping` block in `nuget.config`, then set `` in + `Directory.Build.props` to the packed version. Revert both before opening a vnext PR โ€” CI cannot restore + a `-local` version. Full procedure: vnext `docs/testing/integration-testing.md` ยง8. + ## Architecture Aether is a .NET 10 SDK/framework targeting enterprise cloud-native applications, published as 13 NuGet packages. The solution file is `framework/BBT.Aether.slnx` (modern `.slnx` format).