Skip to content

docs(postguard-dotnet): document the pg-ffi pin, testing and the tracked public API surface - #128

Draft
dobby-coder[bot] wants to merge 1 commit into
mainfrom
docs/postguard-dotnet-build-detail
Draft

docs(postguard-dotnet): document the pg-ffi pin, testing and the tracked public API surface#128
dobby-coder[bot] wants to merge 1 commit into
mainfrom
docs/postguard-dotnet-build-detail

Conversation

@dobby-coder

@dobby-coder dobby-coder Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Adds three things to docs/repos/postguard-dotnet.md that were only written down in that repo's CLAUDE.md.

Why now

encryption4all/dobby-code#696 cuts postguard-dotnet's CLAUDE.md back to orientation: what the repo is, where it sits, which siblings a change touches. The rest of that file splits into detail that is documentation and detail that is a durable check. Point 7 of the cross-repo picture in dobby-code#675 says where the documentation half goes:

Detail belongs in docs.postguard.eu, not in CLAUDE.md. Every encryption4all repo already has a documentation home at docs.postguard.eu/repos/<name>, and its README points there.

This is that half. The cut itself is encryption4all/postguard-dotnet#55, and this PR should land first: the cut file forwards readers here for the tracked public API surface, and the page carries nothing about it until this merges.

What is added

The pinned pg-ffi release. The page said CI downloads native libraries "from the postguard releases" without saying which. It downloads the release named in .github/pg-ffi-version, a one-line file both workflows feed to gh release download. Worth stating: an agent that reads the vague version reaches for a "newest release" lookup, which changes what ships without a commit.

Testing. A dotnet test invocation, and the note that the solution multi-targets net8.0 and net10.0, so a plain run needs both runtimes.

Public API surface. The largest piece: src/PublicAPI.Shipped.txt and src/PublicAPI.Unshipped.txt, checked by PublicApiAnalyzers during dotnet build with no separate CI step. How to add a member, how to record a removal, why severity is in the .csproj and not .editorconfig, and what has to happen at release time that release-please does not do.

Style

Written to this repo's CLAUDE.md rules: prose rather than lists, zero em dashes, no bold in running prose, none of the banned vocabulary. All content is from the source repo at 40004d5, not invented.

npm run docs:build passes.

Noticed, not fixed

"Run the example" on this page still links to postguard-examples, which is archived. postguard-dotnet's README was corrected in postguard-dotnet#54 to point at postguard-js/examples/pg-dotnet instead. Left alone here to keep this PR to one concern, but it is a real dead link and worth its own small PR.

…ked public API surface

Landed from postguard-dotnet's CLAUDE.md, which encryption4all/dobby-code#696
cuts back to orientation. This is the half of that file that was documentation
rather than a durable check: how the pinned pg-ffi release is consumed, how to
run the tests across both target frameworks, and how PublicApiAnalyzers gates
the public surface.

Refs: encryption4all/dobby-code#696
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants