AIGuiders.Platform.Modeling.Notations.Argument
0.1.0
dotnet add package AIGuiders.Platform.Modeling.Notations.Argument --version 0.1.0
NuGet\Install-Package AIGuiders.Platform.Modeling.Notations.Argument -Version 0.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AIGuiders.Platform.Modeling.Notations.Argument" Version="0.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AIGuiders.Platform.Modeling.Notations.Argument" Version="0.1.0" />
<PackageReference Include="AIGuiders.Platform.Modeling.Notations.Argument" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AIGuiders.Platform.Modeling.Notations.Argument --version 0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: AIGuiders.Platform.Modeling.Notations.Argument, 0.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AIGuiders.Platform.Modeling.Notations.Argument@0.1.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AIGuiders.Platform.Modeling.Notations.Argument&version=0.1.0
#tool nuget:?package=AIGuiders.Platform.Modeling.Notations.Argument&version=0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
AIGuiders.Platform.Modeling.Notations.Argument
A notation-neutral schema for command argument tails: slot definitions, reader ids, and one normalized result type that every argument syntax lands in.
What you get
ArgumentSlot— one accepted slot:Name,Kind,LongOption,ShortOptionArgumentSlotKind— what a slot carries:Flag— present/absent switchValue— named valuePositional— position-significant token
ArgumentNotationProfile— a command's declared tail:ReaderId+Slots, withIsEmptyand a staticMerge(non-empty incoming fields win, empty incoming keeps existing)ArgumentReaders— the canonical reader id literals:Kv="kv",Cli="cli",Positional="positional",Delimited="delimited",Colon="colon",Raw="raw"
NormalizedArguments— the one normalized result:Rawtext,Slotsdictionary,ReaderId; constructorsFromRaw/FromSlots
Quick start
open AIGuiders.Platform.Modeling.Notations.Argument
// Declare the argument tail a command accepts — syntax-neutral
let profile =
ArgumentNotationProfile(
ArgumentReaders.Kv,
[| ArgumentSlot("file", ArgumentSlotKind.Positional)
ArgumentSlot("force", ArgumentSlotKind.Flag) |])
// Whatever syntax the user typed, your reader normalizes it to one shape
let args = NormalizedArguments.FromRaw("README.md --force", ArgumentReaders.Cli)
Problem
- Command argument tails come in many dialects: space-separated tokens,
key=valuepairs, bare flags, positional arguments — and every plugin or UI hand-rolls its own stringly-typed parsing of them. - Consumers (completion lists, validation, docs) have no shared way to ask "what arguments does this command accept, and what did the user actually pass?"
Solution
- One neutral slot schema to declare what a command accepts, and one normalized result type to carry what the user passed — many syntaxes, one IR, reader ids to tag which syntax produced it.
- The argument branch of the Guiders Notations family, used across its command surfaces — ADR-0021.
When not to use
- No parsing here: the package is schema + result IR only — turning
key=valueor CLI text intoNormalizedArgumentsis your reader's job (the platform ships profile-driven readers separately). ArgumentNotationProfile.Mergeis coarse: a non-empty incoming slot list replaces the whole list; slots are never merged one by one.- C#-wire interop style: mutable, null-tolerant classes — not immutable F# records, and nothing validates slot names or option spellings.
Learn more
MIT · Source & issues · part of the Guiders federation
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- FSharp.Core (>= 10.1.401)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on AIGuiders.Platform.Modeling.Notations.Argument:
| Package | Downloads |
|---|---|
|
AIGuiders.Platform.Modeling.Notations.Command
Command notation wire and invocation surfaces SSOT (GUIDERS-ADR-0021, ADR-0008). |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 107 | 10/24/2026 |