diff --git a/AGENTS.md b/AGENTS.md index b1b5976..7c34d71 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -137,6 +137,23 @@ A drift between `_atom/IBuild.cs` and the committed YAML should be treated as a 4. Update `PublicApiTests.VerifyPublicApiSurface.verified.txt` (see the Verify workflow above). 5. Document it in the relevant `docs/` page and, if user-facing, the README. +## Documentation + +Docs follow the shared Invex documentation standard used by every Invex library: + +- **README.md** is also the NuGet readme. Keep the fixed section order (title, badges, pitch, Features, + Installation, Quick start, Usage, Documentation, Development, License) and use absolute links only + (`https://github.com/Invex-Games/process/blob/main/...` or the docs site), so they work on nuget.org. +- **DocFX site** (`docfx.json`, `toc.yml`, `index.md`, `docs/`, `api/index.md`), published to + https://invex-games.github.io/process/. `docs/introduction.md` and `docs/getting-started.md` come first; every page + opens with one to three sentences on what it covers and ends with a "See also" or "Next steps" list. Link API + types with ``, not file paths. +- **`api/index.md`** is the only hand-written file under `api/`; everything else there is generated. Put per-type + detail in XML docs, not in hand-written API pages. +- **XML docs are enforced.** `CS1591` is not suppressed for shipped projects, so every public type and member needs + ``, plus ``, ``, `` and `` where they apply, `` for + non-obvious behaviour, and ``/``/`` for references. + ## Defer to the docs For anything beyond the above, prefer these over duplicating detail: @@ -150,5 +167,5 @@ For anything beyond the above, prefer these over duplicating detail: - `docs/transforming-output.md` — per-line rewriting and suppression. - `docs/cancellation.md` — what cancellation does and doesn't do. - `docs/testing.md` — faking `IProcessRunner` in consumer tests. -- `api/SemVer.md` — the versioning policy and what counts as the public API. +- `docs/versioning.md` — the versioning policy and what counts as the public API. diff --git a/Directory.Build.props b/Directory.Build.props index 0a46cbf..fc6cf48 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -6,7 +6,8 @@ icon.png README.md MIT - A process runner library + Runs external processes behind an injectable IProcessRunner with logging, real-time output streaming, full output capture and fail-fast error handling + https://invex-games.github.io/process/ true true diff --git a/README.md b/README.md index be10838..61a121b 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![Build](https://github.com/Invex-Games/process/actions/workflows/Build.yml/badge.svg)](https://github.com/Invex-Games/process/actions/workflows/Build.yml) [![NuGet](https://img.shields.io/nuget/v/Invex.Process.svg)](https://www.nuget.org/packages/Invex.Process) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/Invex-Games/process/blob/main/LICENSE.txt) -[![.NET](https://img.shields.io/badge/.NET-8.0%20%7C%209.0%20%7C%2010.0-512BD4.svg)](https://dotnet.microsoft.com/) +[![.NET](https://img.shields.io/badge/.NET-10.0-512BD4.svg)](https://dotnet.microsoft.com/) A small, focused .NET library for running external processes with first-class logging, real-time output streaming, full output capture, and fail-fast error handling. It wraps `System.Diagnostics.Process` behind a clean, injectable