AIGuiders.Platform.Modeling.Gdl.Command
0.1.0
dotnet add package AIGuiders.Platform.Modeling.Gdl.Command --version 0.1.0
NuGet\Install-Package AIGuiders.Platform.Modeling.Gdl.Command -Version 0.1.0
<PackageReference Include="AIGuiders.Platform.Modeling.Gdl.Command" Version="0.1.0" />
<PackageVersion Include="AIGuiders.Platform.Modeling.Gdl.Command" Version="0.1.0" />
<PackageReference Include="AIGuiders.Platform.Modeling.Gdl.Command" />
paket add AIGuiders.Platform.Modeling.Gdl.Command --version 0.1.0
#r "nuget: AIGuiders.Platform.Modeling.Gdl.Command, 0.1.0"
#:package AIGuiders.Platform.Modeling.Gdl.Command@0.1.0
#addin nuget:?package=AIGuiders.Platform.Modeling.Gdl.Command&version=0.1.0
#tool nuget:?package=AIGuiders.Platform.Modeling.Gdl.Command&version=0.1.0
AIGuiders.Platform.Modeling.Gdl.Command
Slash command descriptors: domain·object·intent naming, canonical paths with aliases, and arg-tail policies for command catalogs and palettes.
What you get
CommandDescriptor— the cross-product command row: DOI triple (Domain/Object/Intent), canonicalPath+PathAliases,Help,Group,ArgTailwire, surfaces, scope tags, required capabilities, tierCommandArgTailPolicy— arg-tail semantics after the slash path:parse— wire string →CommandArgTailKind(None/Optional/Required/Picker/ImplicitSelection/ImplicitLineRange); unknown falls back toOptionalshouldAutoRunOnCommit— the auto-run gate (exact path? trailing space? arg tail present?)extractSuggestionId/extractCompositeConstructorIds— picker ids out ofpicker:/suggest:/picker+constructor:tails
CatalogRouteEntry— resolved catalog row (path + command id + arg tail + DOI fields);fromDescriptorresolves the path role,resolvePathRoletells canonical from alias case-insensitivelyCatalogSemanticFields— the DOI triple plus path role;DomainOmittedInPathfor elision rendering- Picker/constructor menu data —
CommandPickerChoice,ArgConstructorBinding,ArgTailProfile(structured arg menus from catalog profiles) CommandDescriptor.allPaths— canonical path plus non-empty aliases
Quick start
open AIGuiders.Platform.Modeling.Gdl.Command
// Arg-tail wire → kind (unknown/empty falls back to Optional)
let kind = CommandArgTailPolicy.parse "picker:files"
// Commit-time auto-run gate: does "go to file " (trailing space) run the command?
let autoRun =
CommandArgTailPolicy.shouldAutoRunOnCommit
CommandArgTailKind.Picker // kind
false // isExactPath
true // endsWithSpace
false // hasArgTail
// Canonical vs alias, case-insensitive
// given descriptor : CommandDescriptor with Path = "/goto/file"
let role = CatalogRouteEntry.resolvePathRole descriptor "/GOTO/File" // Canonical
Problem
- Command palettes and chat surfaces each re-invent the command row by hand:
- what arguments a command takes after its path — none, optional, required, a picker, an implicit selection or line range
- whether typing the path plus a space should auto-run, or wait
- which spelling is canonical and which are aliases
- Those answers end up as per-surface strings and if-chains, so two clients disagree about the same command.
Solution
- One descriptor row carries the whole contract: DOI naming, canonical path + aliases, arg-tail policy, picker and constructor menus.
- Arg-tail and auto-run semantics become named, testable functions instead of per-client strings.
- Battle-tested as the command catalog spine of the Guiders federation — CIDE ADR-0150 · CIDE ADR-0154 · ADR-0047.
When not to use
- Command file parsing (TOML/JSON profiles) — this is the IR; wire formats are parsed by catalog adapters.
- Command execution or dispatch — descriptors describe, surfaces execute.
- Keybinding capture — gesture normalization lives in
Notations.Keyboard, bindings inGdl.Command.Binding.
Learn more
- CIDE ADR-0150 — slash line canonical resolution
- CIDE ADR-0154 — slash catalog DOI
- ADR-0047 — command for DOI
- ADR-0044 — command catalog scope
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. |
-
net10.0
- FSharp.Core (>= 10.1.401)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on AIGuiders.Platform.Modeling.Gdl.Command:
| Package | Downloads |
|---|---|
|
AIGuiders.Platform.Modeling.Gdl.Core
GDL spine types — discriminated union project model (Guiders federation). |
|
|
AIGuiders.Platform.Modeling.Gdl.Parse.Catalog
GDL catalog quarry parser — F# mirror of Platform Authoring.Command.Catalog (phase 1: structure + spine mapping). Parity gaps vs C# authoring emit path: profile bundle resolution (ICatalogBundleLibrary / CatalogProfileResolver), command-profile cross-validation, import-alias bundle path resolution, full notation grammar wire validation (C# injects keyboard parsers), CatalogPhraseSlotIndex codegen inputs. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 133 | 10/24/2026 |