From a7ab10bae430131accd96c588dad16f2c5eb923b Mon Sep 17 00:00:00 2001 From: "codebelt-aicia[bot]" Date: Sat, 6 Jun 2026 18:34:38 +0000 Subject: [PATCH 1/4] V5.1.1/service update --- .../Codebelt.Bootstrapper.Console/PackageReleaseNotes.txt | 6 ++++++ .nuget/Codebelt.Bootstrapper.Web/PackageReleaseNotes.txt | 6 ++++++ .../Codebelt.Bootstrapper.Worker/PackageReleaseNotes.txt | 6 ++++++ .nuget/Codebelt.Bootstrapper/PackageReleaseNotes.txt | 6 ++++++ CHANGELOG.md | 4 ++++ Directory.Packages.props | 8 ++++---- 6 files changed, 32 insertions(+), 4 deletions(-) diff --git a/.nuget/Codebelt.Bootstrapper.Console/PackageReleaseNotes.txt b/.nuget/Codebelt.Bootstrapper.Console/PackageReleaseNotes.txt index 184ef75..2e0ea47 100644 --- a/.nuget/Codebelt.Bootstrapper.Console/PackageReleaseNotes.txt +++ b/.nuget/Codebelt.Bootstrapper.Console/PackageReleaseNotes.txt @@ -1,3 +1,9 @@ +Version: 5.1.1 +Availability: .NET 10 and .NET 9 + +# ALM +- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs) + Version: 5.1.0 Availability: .NET 10 and .NET 9 diff --git a/.nuget/Codebelt.Bootstrapper.Web/PackageReleaseNotes.txt b/.nuget/Codebelt.Bootstrapper.Web/PackageReleaseNotes.txt index 4892fbf..a9325a1 100644 --- a/.nuget/Codebelt.Bootstrapper.Web/PackageReleaseNotes.txt +++ b/.nuget/Codebelt.Bootstrapper.Web/PackageReleaseNotes.txt @@ -1,3 +1,9 @@ +Version: 5.1.1 +Availability: .NET 10 and .NET 9 + +# ALM +- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs) + Version: 5.1.0 Availability: .NET 10 and .NET 9 diff --git a/.nuget/Codebelt.Bootstrapper.Worker/PackageReleaseNotes.txt b/.nuget/Codebelt.Bootstrapper.Worker/PackageReleaseNotes.txt index c59f6a0..8ddbac4 100644 --- a/.nuget/Codebelt.Bootstrapper.Worker/PackageReleaseNotes.txt +++ b/.nuget/Codebelt.Bootstrapper.Worker/PackageReleaseNotes.txt @@ -1,3 +1,9 @@ +Version: 5.1.1 +Availability: .NET 10 and .NET 9 + +# ALM +- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs) + Version: 5.1.0 Availability: .NET 10 and .NET 9 diff --git a/.nuget/Codebelt.Bootstrapper/PackageReleaseNotes.txt b/.nuget/Codebelt.Bootstrapper/PackageReleaseNotes.txt index fc098da..dafacb3 100644 --- a/.nuget/Codebelt.Bootstrapper/PackageReleaseNotes.txt +++ b/.nuget/Codebelt.Bootstrapper/PackageReleaseNotes.txt @@ -1,3 +1,9 @@ +Version: 5.1.1 +Availability: .NET 10 and .NET 9 + +# ALM +- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs) + Version: 5.1.0 Availability: .NET 10 and .NET 9 diff --git a/CHANGELOG.md b/CHANGELOG.md index 19578f0..b8c291f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), For more details, please refer to `PackageReleaseNotes.txt` on a per assembly basis in the `.nuget` folder. +## [5.1.1] - 2026-06-06 + +This is a service update that focuses on package dependencies. + ## [5.1.0] - 2026-05-28 This is a minor release focused on environment configuration defaults for local development, expanded test coverage to 95%, dependency updates, and CI/CD improvements for macOS testing. diff --git a/Directory.Packages.props b/Directory.Packages.props index 0db70ed..992876c 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -3,10 +3,10 @@ true - - - - + + + + From 5c069f5d5131b36a24b4d658d09aae93b8bdf361 Mon Sep 17 00:00:00 2001 From: gimlichael Date: Sun, 7 Jun 2026 03:03:40 +0200 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=99=88=20add=20bot=20workspace=20giti?= =?UTF-8?q?gnore=20and=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The .bot/ folder serves as a local-only workspace for AI agent ideation, PRDs, design proposals, and agentic loop state. This configuration excludes the folder from version control while preserving the README file as documentation of the workspace's purpose. --- .bot/README.md | 10 ++++++++++ .gitignore | 6 +++++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 .bot/README.md diff --git a/.bot/README.md b/.bot/README.md new file mode 100644 index 0000000..2cfca89 --- /dev/null +++ b/.bot/README.md @@ -0,0 +1,10 @@ +# .bot Workspace + +This folder is reserved for local-only AI working material such as: + +- brainstorm notes +- draft implementation plans +- design alternatives +- temporary agent state + +Keep this folder out of source control. Move only finalized, non-confidential guidance into `AGENTS.md` or `.github/copilot-instructions.md`. diff --git a/.gitignore b/.gitignore index d7cd8b5..0bcfe95 100644 --- a/.gitignore +++ b/.gitignore @@ -366,4 +366,8 @@ FodyWeavers.xsd *.snk # Resharper -*.DotSettings \ No newline at end of file +*.DotSettings + +# Bot workspace (local-only AI agent ideation, PRDs, and agentic loop state) +.bot/* +!.bot/README.md \ No newline at end of file From 8fd5dea207430e3d54713abc01b881f68ab5ce2b Mon Sep 17 00:00:00 2001 From: gimlichael Date: Sun, 7 Jun 2026 03:03:48 +0200 Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=92=AC=20add=20agent=20instructions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Establish official guidance for AI agents working in this repository, including project overview, coding standards, project structure, test conventions, build configuration, and git operations safeguards. --- AGENTS.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..92a400c --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,76 @@ +# Agent Instructions for Codebelt.Bootstrapper + +This document provides guidance for AI agents working in this repository. + +## Project Overview + +Codebelt.Bootstrapper is an open-source family of assemblies (MIT license) that provide a uniform and consistent way of bootstrapping .NET code with `Program.cs` paired with `Startup.cs` — or using the new `Minimal` equivalent for all project types. The solution targets .NET 10.0, .NET 9.0, and later. It includes: + +- **Codebelt.Bootstrapper** — Core types and interfaces for all project types. +- **Codebelt.Bootstrapper.Console** — Implementation optimized for console applications. +- **Codebelt.Bootstrapper.Web** — Implementation optimized for web, WebAPI, webapp, and MVC applications. +- **Codebelt.Bootstrapper.Worker** — Implementation optimized for worker services. + +## Coding Standards + +- **Text encoding:** UTF-8 for text files (enforced via `.editorconfig`) +- **Template rewrites:** Preserve UTF-8 explicitly when scripts or tools rewrite text files; avoid locale-dependent encoding defaults +- **Namespaces:** File-scoped namespaces are required (enforced via `.editorconfig`) +- **Top-level statements:** Not allowed (enforced via `.editorconfig`) +- **Language version:** Always use the latest C# features (`LangVersion=latest`) +- **Nullable:** Enable nullable reference types in all new code +- **XML documentation:** All public APIs must have XML documentation comments +- **Testing:** Use xUnit v3 with Codebelt.Extensions.Xunit.App base classes + +## Project Structure + +- `src/` — Production source code + - `Codebelt.Bootstrapper/` — Core bootstrapper types and interfaces + - `Codebelt.Bootstrapper.Console/` — Console application implementation + - `Codebelt.Bootstrapper.Web/` — Web application implementation + - `Codebelt.Bootstrapper.Worker/` — Worker service implementation +- `app/` — Sample applications demonstrating bootstrapper usage (both traditional and minimal variants) +- `test/` — Unit and functional tests (project names end with `Tests` or `FunctionalTests`) +- `.nuget/` — Per-package NuGet metadata (icon, README, release notes) +- `.docfx/` — DocFX documentation configuration +- `.github/` — CI/CD workflows, contributing guidelines, Copilot instructions + +## Test Conventions + +- Unit test project names must end with `Tests` (e.g., `Codebelt.Bootstrapper.Tests`) +- Functional test project names must end with `FunctionalTests` (e.g., `Codebelt.Bootstrapper.Web.FunctionalTests`) +- Test classes should inherit from the `Test` base class in `Codebelt.Extensions.Xunit` +- Use `Microsoft.Testing.Platform` as the test runner (`UseMicrosoftTestingPlatformRunner=true`) +- All tests are executable (`OutputType=Exe`) +- Test namespaces must match the SUT namespace (System Under Test), without `.Tests` or `.FunctionalTests` suffix +- See `.github/copilot-instructions.md` for detailed test writing guidelines + +## Build & CI + +- Centralized package versions via `Directory.Packages.props` +- Resolve new or updated `Directory.Packages.props` versions from NuGet.org and keep them on the latest stable listed releases +- Centralized build configuration via `Directory.Build.props` +- MinVer for semantic versioning from Git tags +- Strong-name signing is enabled in CI environments (`CI=true`) +- Keep `.github/dependabot.yml` enabled at the repo root so central NuGet package management stays current + +## .bot/ Folder + +If a `.bot/` folder exists at the root, it contains **confidential, local-only** working material for AI agents — product requirement documents (PRDs), design proposals, agentic loop state, and brainstorming outputs. This folder is gitignored and never committed. + +When starting creative or design work (new features, architecture decisions, PRD drafts), use the [brainstorming skill](https://skills.sh/obra/superpowers/brainstorming) and save outputs to `.bot/`. Only move finalized, non-confidential instructions into `AGENTS.md` or `.github/copilot-instructions.md`. + +## Git Operations Safeguards + +Agents must never automatically commit code changes or push to remote repositories. Both actions require explicit user approval: + +- **Commits**: Always request confirmation from the user before staging and committing code. Present a clear summary of the changes and wait for approval before executing the commit. +- **Remote Operations**: Do not push, pull, fetch, or interact with `origin` or any remote repository without explicit user instruction. These operations modify repository history and can cause data loss if performed unexpectedly. + +**Rationale:** Automatic commits can clutter history with incomplete work, temporary debugging code, or unintended changes. Unexpected remote operations risk overwriting or losing commits on shared branches. Always require explicit user approval before performing these actions. + +## Official Documentation + +- Public API conventions belong in `.docfx/api/namespaces/` and should be treated as the official documentation source for library behavior and naming vocabulary. +- When adding or renaming public APIs, update the relevant namespace page in `.docfx/api/namespaces/` if the change introduces or clarifies a convention. +- Keep internal reasoning, exploratory notes, and agent discussion out of DocFX pages; summarize only stable public guidance. From 08115c4893be09b3c0464e9d69044ec807a1e62d Mon Sep 17 00:00:00 2001 From: gimlichael Date: Sun, 7 Jun 2026 03:03:55 +0200 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=94=A7=20update=20product=20name=20in?= =?UTF-8?q?=20build=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed product display name from 'Codebelt Bootstrapper' to 'Bootstrapper API by Codebelt' to better reflect the API-focused nature of the library and improve discoverability. --- Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Build.props b/Directory.Build.props index 7ccca68..7f5eecd 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -18,7 +18,7 @@ Copyright © Geekle 2021-2026. All rights reserved. gimlichael Geekle - Codebelt Bootstrapper + Bootstrapper API by Codebelt icon.png README.md https://www.codebelt.net/