Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bot/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ This folder is reserved for local-only AI working material such as:
- design alternatives
- temporary agent state

Keep this folder out of source control. Move only finalized, non-confidential guidance into `AGENTS.md`.
The `.bot/README.md` file itself is intentionally tracked in source control. All other `.bot/` working material remains local-only and excluded from source control. Move only finalized, non-confidential guidance into `AGENTS.md`.
2 changes: 1 addition & 1 deletion .docfx/BuildDocfxImage.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$version = minver -i -t v -v w
$version = minver -i -t v -v w
docfx metadata docfx.json
docker buildx build -t jcr.codebelt.net/geekle/bootstrapper-docfx:$version --platform linux/arm64,linux/amd64 --load -f Dockerfile.docfx .
get-childItem -recurse -path api -include *.yml, .manifest | remove-item
2 changes: 1 addition & 1 deletion .docfx/api/namespaces/Codebelt.Bootstrapper.Console.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
---
uid: Codebelt.Bootstrapper.Console
summary: *content
---
Expand Down
2 changes: 1 addition & 1 deletion .docfx/api/namespaces/Codebelt.Bootstrapper.Web.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
---
uid: Codebelt.Bootstrapper.Web
summary: *content
---
Expand Down
2 changes: 1 addition & 1 deletion .docfx/api/namespaces/Codebelt.Bootstrapper.Worker.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
---
uid: Codebelt.Bootstrapper.Worker
summary: *content
---
Expand Down
2 changes: 1 addition & 1 deletion .docfx/api/namespaces/Codebelt.Bootstrapper.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
---
uid: Codebelt.Bootstrapper
summary: *content
---
Expand Down
2 changes: 1 addition & 1 deletion .docfx/includes/availability-default.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Availability: .NET 10, .NET 9 and .NET Standard 2.0
Availability: .NET 10 and .NET 11
2 changes: 1 addition & 1 deletion .docfx/includes/availability-modern.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Availability: .NET 10 and .NET 9
Availability: .NET 10 and .NET 11
67 changes: 35 additions & 32 deletions .docfx/nginx.conf
Original file line number Diff line number Diff line change
@@ -1,37 +1,40 @@
server {
listen 8080;
server_name _;
# The ingress terminates TLS; keep redirects from exposing this container port.
absolute_redirect off;
# Only successful asset responses and revalidation responses may be cached.
map $status $fingerprinted_asset_cache_control {
default "no-store";
~^2 "public, max-age=31536000, immutable";
304 "public, max-age=31536000, immutable";
}

root /usr/share/nginx/html;
index index.html;
server {
listen 8080;
server_name _;
# The ingress terminates TLS; keep redirects from exposing this container port.
absolute_redirect off;

# DocFX fingerprints these generated dependencies in their filenames. They can be
# cached permanently because changed content is published under a different URL.
location ~ "^/public/.+-[A-Z0-9]{8}(?:-[A-Z0-9]{8})?(?:\.min)?\.(?:(?:css|js)(?:\.map)?|woff2?)$" {
error_page 404 = @not_found;
try_files $uri =404;
add_header Cache-Control "public, max-age=31536000, immutable";
add_header Vary "Accept-Encoding" always;
}
root /usr/share/nginx/html;
index index.html;

location @not_found {
add_header Cache-Control "no-store" always;
return 404;
}
# DocFX fingerprints these generated dependencies in their filenames. They can be
# cached permanently because changed content is published under a different URL.
location ~ "^/public/.+-[A-Z0-9]{8}(?:-[A-Z0-9]{8})?(?:\.min)?\.(?:(?:css|js)(?:\.map)?|woff2?)$" {
try_files $uri =404;
# Range errors are generated after headers are set, so serve complete assets.
max_ranges 0;
add_header Cache-Control $fingerprinted_asset_cache_control always;
add_header Vary "Accept-Encoding" always;
}

# Pages, navigation data, images, and DocFX entry assets keep stable URLs. Do not
# retain them across deployments, and ignore validators cached under an old policy.
location / {
# Nginx derives ETags from modification time and file size. Those values can be
# reused by files copied from different image layers, producing a false 304.
etag off;
if_modified_since off;
try_files $uri $uri/ =404;
add_header Cache-Control "no-store, no-cache, must-revalidate, max-age=0" always;
add_header Expires "0" always;
add_header Pragma "no-cache" always;
add_header Vary "Accept-Encoding" always;
}
# Pages, navigation data, images, and DocFX entry assets keep stable URLs. Do not
# retain them across deployments, and ignore validators cached under an old policy.
location / {
# Nginx derives ETags from modification time and file size. Those values can be
# reused by files copied from different image layers, producing a false 304.
etag off;
if_modified_since off;
try_files $uri $uri/ =404;
add_header Cache-Control "no-store, no-cache, must-revalidate, max-age=0" always;
add_header Expires "0" always;
add_header Pragma "no-cache" always;
add_header Vary "Accept-Encoding" always;
}
}
7 changes: 4 additions & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ dotnet_diagnostic.IDE0063.severity = none
dotnet_diagnostic.IDE0071.severity = none

# S3267: Loops should be simplified with "LINQ" expressions
# https://rules.sonarsource.com/csharp/RSPEC-3267
# https://sonarcloud.io/organizations/sonarcloud/rules?open=csharpsquid:S3267&rule_key=csharpsquid:S3267
dotnet_diagnostic.S3267.severity = none

# CA1859: Use concrete types when possible for improved performance
Expand All @@ -57,9 +57,10 @@ indent_size = 4

# IDE0161: Namespace declaration preferences
# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0161
# Prefer file-scoped namespaces for new files; existing block-scoped files should not be converted unless explicitly asked
# File-scoped namespaces are mandatory for new and existing C# files.
[*.cs]
csharp_style_namespace_declarations = file_scoped:suggestion
csharp_style_namespace_declarations = file_scoped:error
dotnet_diagnostic.IDE0161.severity = error

# Top-level statements: DO NOT USE
# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0210-ide0211
Expand Down
8 changes: 4 additions & 4 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
* text=auto eol=lf

###############################################################################
# Set default behavior for command prompt diff.
Expand All @@ -17,7 +17,7 @@
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
Expand Down Expand Up @@ -46,9 +46,9 @@

###############################################################################
# diff behavior for common document formats
#
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
Expand Down
9 changes: 5 additions & 4 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This repository is part of the Codebelt .NET library estate. The instructions be
## Before you start

- Read the repository `README.md` and open an issue before starting a non-trivial feature or behavioral change.
- Use an installed .NET SDK that can build the target frameworks listed below. This repository currently targets: **net10.0, net9.0**.
- Use an installed .NET SDK that can build the target frameworks listed below. The libraries and tests target **net10.0 and net11.0**; the sample applications target **net10.0**.
- The solution is `Codebelt.Bootstrapper.slnx`. Central package versions are maintained in `Directory.Packages.props`.
- The shared build behavior is in `Directory.Build.props` and `Directory.Build.targets`; repository-specific TFMs, package references and metadata remain local to this library.

Expand Down Expand Up @@ -39,12 +39,13 @@ foreach ($project in $testProjects) {
}
```

The CI test plan currently runs **6** project(s) and excludes **0** project(s). The workflow also has an optional macOS test job.
The CI test plan currently runs **6** test projects on both target frameworks in the Linux and Windows matrices. The workflow also has an optional macOS test job.

## Integration and infrastructure

- `WSL-Ubuntu` — WSL distribution `Ubuntu-24.04`.
- `Docker-Ubuntu` — Docker image `codebeltnet/ubuntu-testrunner:8-9-10-11`.
- `WSL-Ubuntu` — WSL distribution `Ubuntu-26.04`.
- `Docker-Ubuntu (net10.0)` — Docker image `codebeltnet/ubuntu-testrunner:10`.
- `Docker-Ubuntu (net11.0)` — Docker image `codebeltnet/ubuntu-testrunner:11`.

This repository has no repository-local `docker-compose.yml` service dependency in the current checkout.
Use the environments declared in `testenvironments.json` when you need the estate test runner.
Expand Down
164 changes: 0 additions & 164 deletions .github/prompts/benchmark.prompt.md

This file was deleted.

Loading
Loading