Table of Contents

🇫🇷 Version française

See also: ADR-004 — Naming twins (superseded) · Back to the index

ADR-007 — D3 settled: rename Orkeon.Cli.Scripting to Orkeon.Cli.Commands.Scripting

Status: Accepted · Date: 2026-08-17 · Supersedes: ADR-004 · Closes: decision D3 (publication gate), ORG-007 · Scope: src/cli/Orkeon.Cli.Commands.Scripting, tests/cli/Orkeon.Cli.Commands.Scripting.Tests

Context

ADR-004 documented the near-anagram pair Orkeon.Cli.Scripting (library of TypeScript-scripted interactive commands) / Orkeon.Scripting.Cli (the installable orkeon dotnet tool) without settling the rename — it deferred it to a separate decision (ORG-007). The NuGet publication matrix gated every ecosystem publish on that decision (D3), because the rename window closes permanently at the first dotnet nuget push: PackageIds are locked for life.

Three options were weighed (PUB-02 fiche): A keep both names and live with the permanent cognitive collision; B rename the library (4,746 LOC, internal consumers only); C rename the tool (483 LOC, but its PackageId is the dotnet tool install command — the most publicly visible name of the project).

Decision

Option B. The command library is renamed:

Before After
PackageId / assembly / root namespace Orkeon.Cli.Scripting Orkeon.Cli.Commands.Scripting
Project folder src/cli/Orkeon.Cli.Scripting/ src/cli/Orkeon.Cli.Commands.Scripting/
Test project Orkeon.Cli.Scripting.Tests Orkeon.Cli.Commands.Scripting.Tests

Orkeon.Scripting.Cli (the orkeon tool) keeps its name: its PackageId is the install command users type, and the ADR-004 mnemonic ("last segment Cli = the executable") stays true everywhere it was anchored.

The rename cost is paid once, before anything is published: no NuGet package ever carried the old name, so there is no redirect, no deprecation shim, no consumer breakage outside this repository.

Consequences

  • D3 is lifted in docs/reference/publication-matrix.md — NuGet expansion now only awaits the maintainer's product confirmation (and PUB-03 wiring).
  • The new name states the role directly: commands for the CLI, implemented via scripting — no longer a permutation of the tool's name.
  • Historical mentions (CHANGELOG.md, ADR-004) keep the old name on purpose; everything active (code, solution, docs and FR mirrors, examples) uses the new one.
  • ORG-007 is closed by this ADR.