Skip to content

Comments

Add OpenCLI integration to Spectre.Console.Cli#1909

Merged
patriksvensson merged 1 commit intospectreconsole:mainfrom
patriksvensson:feature/open-cli
Oct 2, 2025
Merged

Add OpenCLI integration to Spectre.Console.Cli#1909
patriksvensson merged 1 commit intospectreconsole:mainfrom
patriksvensson:feature/open-cli

Conversation

@patriksvensson
Copy link
Contributor

  • I have read the Contribution Guidelines
  • A maintainer has signed off on the changes and the issue was assigned to me
  • All newly added code is adequately covered by tests
  • All existing tests are still running without errors
  • The documentation was modified to reflect the changes OR no documentation changes are required.

Changes

Added OpenCLI integration to Spectre.Console.Cli

Usage

Add the --help-dump-opencli option to your application, and an
OpenCLI description will be written to stdout.

$ ./myapp --help-dump-opencli

If you want to save it to disk, pipe it to a file.

$ ./myapp --help-dump-opencli > myapp.openapi.json

Please upvote 👍 this pull request if you are interested in it.

@patriksvensson patriksvensson merged commit b551bbd into spectreconsole:main Oct 2, 2025
3 checks passed
@patriksvensson patriksvensson deleted the feature/open-cli branch October 2, 2025 00:05
@FrediKats
Copy link

Thx, @patriksvensson <3

Waiting for release with this new feature.

@patriksvensson
Copy link
Contributor Author

Will try making a new release today (probably tonight)

This was referenced Oct 10, 2025
microsoft-github-policy-service bot pushed a commit to Azure/bicep that referenced this pull request Feb 1, 2026
Updated
[Spectre.Console](https://github.com/spectreconsole/spectre.console)
from 0.51.1 to 0.54.0.

<details>
<summary>Release notes</summary>

_Sourced from [Spectre.Console's
releases](https://github.com/spectreconsole/spectre.console/releases)._

## 0.54.0

Version `0.54.0` of Spectre.Console has been released!

## Spectre.Console.Cli has a new home!

We've decided to move `Spectre.Console.Cli` to its own repository, where
we will prepare it for a _1.0_ release. This means that the
_Spectre.Console.Cli_ NuGet packages will no longer be versioned
together with _Spectre.Console_. They will now have a preview version
such as `1.0.0-alpha-0.x`.

There should be no issues staying on version _0.53.0_ of
_Spectre.Console.Cli_ until we release a stable version if you prefer
not to use a pre-release dependency.

## New unit testing package for Spectre.Console.Cli

There is now a new testing package for _Spectre.Console.Cli_ called
[Spectre.Console.Cli.Testing](https://www.nuget.org/packages/Spectre.Console.Cli.Testing).
This is where you will find the `CommandAppTester` from now on.

You can find more information about unit testing in the
[documentation](https://spectreconsole.net/cli/unit-testing).

## What's Changed

* Normalizes paths when writing exceptions to the console for tests. by
[@​phil-scott-78](https://github.com/phil-scott-78) in
[#​1758](spectreconsole/spectre.console#1758)
* Fixes issue with Panel not applying overflow to children by
[@​phil-scott-78](https://github.com/phil-scott-78) in
[#​1942](spectreconsole/spectre.console#1942)
* Remove Spectre.Console.Cli from repository by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1928](spectreconsole/spectre.console#1928)

**Full Changelog**:
spectreconsole/spectre.console@0.53.0...0.54.0

## 0.53.1

This is a hotfix release for 0.53.0, which accidentally included
`OpenCli.Sources` as a dependency, instead of being included in the
package.

As a bonus, a fix for panels was also included in this release 😄 

## What's Changed
* Ensure OpenCli.Sources are not a dependency of the CLI package. by
@​patriksvensson in d61788d6c681745c8d1158ceeb4545ba37a99522
* Normalizes paths when writing exceptions to the console for tests. by
@​phil-scott-78 in
spectreconsole/spectre.console#1758
* Fixes issue with Panel not applying overflow to children by
@​phil-scott-78 in
spectreconsole/spectre.console#1942

**Full Changelog**:
spectreconsole/spectre.console@0.53.0...0.53.1

## 0.53.0

## What's Changed

* Add top-level CancellationToken support to Spectre.Console.Cli by
[@​0xced](https://github.com/0xced) in
[#​1911](spectreconsole/spectre.console#1911)
* Update the Spectre.Console.Cli documentation with CancellationToken by
[@​0xced](https://github.com/0xced) in
[#​1920](spectreconsole/spectre.console#1920)

**Full Changelog**:
spectreconsole/spectre.console@0.52.0...0.53.0

## 0.52.0

## What's Changed

* Add OpenCLI integration to Spectre.Console.Cli by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1909](spectreconsole/spectre.console#1909)
* Fix OPENCLI_VISIBILITY_INTERNAL to DefineConstants concat by
[@​devlead](https://github.com/devlead) in
[#​1912](spectreconsole/spectre.console#1912)

**Full Changelog**:
spectreconsole/spectre.console@0.51.1...0.52.0

Commits viewable in [compare
view](spectreconsole/spectre.console@0.51.1...0.54.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Spectre.Console&package-manager=nuget&previous-version=0.51.1&new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
###### Microsoft Reviewers: [Open in
CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/Azure/bicep/pull/18859)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
RicherTunes pushed a commit to RicherTunes/Lidarr.Plugin.Common that referenced this pull request Feb 17, 2026
Updated
[Spectre.Console](https://github.com/spectreconsole/spectre.console)
from 0.50.0 to 0.54.0.

<details>
<summary>Release notes</summary>

_Sourced from [Spectre.Console's
releases](https://github.com/spectreconsole/spectre.console/releases)._

## 0.54.0

Version `0.54.0` of Spectre.Console has been released!

## Spectre.Console.Cli has a new home!

We've decided to move `Spectre.Console.Cli` to its own repository, where
we will prepare it for a _1.0_ release. This means that the
_Spectre.Console.Cli_ NuGet packages will no longer be versioned
together with _Spectre.Console_. They will now have a preview version
such as `1.0.0-alpha-0.x`.

There should be no issues staying on version _0.53.0_ of
_Spectre.Console.Cli_ until we release a stable version if you prefer
not to use a pre-release dependency.

## New unit testing package for Spectre.Console.Cli

There is now a new testing package for _Spectre.Console.Cli_ called
[Spectre.Console.Cli.Testing](https://www.nuget.org/packages/Spectre.Console.Cli.Testing).
This is where you will find the `CommandAppTester` from now on.

You can find more information about unit testing in the
[documentation](https://spectreconsole.net/cli/unit-testing).

## What's Changed

* Normalizes paths when writing exceptions to the console for tests. by
[@​phil-scott-78](https://github.com/phil-scott-78) in
[#​1758](spectreconsole/spectre.console#1758)
* Fixes issue with Panel not applying overflow to children by
[@​phil-scott-78](https://github.com/phil-scott-78) in
[#​1942](spectreconsole/spectre.console#1942)
* Remove Spectre.Console.Cli from repository by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1928](spectreconsole/spectre.console#1928)

**Full Changelog**:
spectreconsole/spectre.console@0.53.0...0.54.0

## 0.53.1

This is a hotfix release for 0.53.0, which accidentally included
`OpenCli.Sources` as a dependency, instead of being included in the
package.

As a bonus, a fix for panels was also included in this release 😄 

## What's Changed
* Ensure OpenCli.Sources are not a dependency of the CLI package. by
@​patriksvensson in d61788d6c681745c8d1158ceeb4545ba37a99522
* Normalizes paths when writing exceptions to the console for tests. by
@​phil-scott-78 in
spectreconsole/spectre.console#1758
* Fixes issue with Panel not applying overflow to children by
@​phil-scott-78 in
spectreconsole/spectre.console#1942

**Full Changelog**:
spectreconsole/spectre.console@0.53.0...0.53.1

## 0.53.0

## What's Changed

* Add top-level CancellationToken support to Spectre.Console.Cli by
[@​0xced](https://github.com/0xced) in
[#​1911](spectreconsole/spectre.console#1911)
* Update the Spectre.Console.Cli documentation with CancellationToken by
[@​0xced](https://github.com/0xced) in
[#​1920](spectreconsole/spectre.console#1920)

**Full Changelog**:
spectreconsole/spectre.console@0.52.0...0.53.0

## 0.52.0

## What's Changed

* Add OpenCLI integration to Spectre.Console.Cli by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1909](spectreconsole/spectre.console#1909)
* Fix OPENCLI_VISIBILITY_INTERNAL to DefineConstants concat by
[@​devlead](https://github.com/devlead) in
[#​1912](spectreconsole/spectre.console#1912)

**Full Changelog**:
spectreconsole/spectre.console@0.51.1...0.52.0

## 0.51.1

## What's Changed

* Fix IndexOutOfRangeException in ExceptionFormatter by
[@​martincostello](https://github.com/martincostello) in
[#​1800](spectreconsole/spectre.console#1800)
* TestConsole can now be configured and accessed in CommandAppTester by
[@​magiino](https://github.com/magiino) in
[#​1803](spectreconsole/spectre.console#1803)
* Add ShowRowSeparators in Table Widget docs by
[@​bartoginski](https://github.com/bartoginski) in
[#​1807](spectreconsole/spectre.console#1807)
* Add support for required options by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1825](spectreconsole/spectre.console#1825)
* Added documentation for align widget by
[@​Elementttto](https://github.com/Elementttto) in
[#​1746](spectreconsole/spectre.console#1746)
* Fixed link not displayed in markup in Style.cs and added unit test
cases by [@​Elementttto](https://github.com/Elementttto) in
[#​1750](spectreconsole/spectre.console#1750)
* Update System.Memory dependency by
[@​WeihanLi](https://github.com/WeihanLi) in
[#​1832](spectreconsole/spectre.console#1832)
* Reduce memory usage for rune width cache. by
[@​Pannoniae](https://github.com/Pannoniae) in
[#​1756](spectreconsole/spectre.console#1756)
* Fix resizing of Live views with reduced size. by
[@​belucha](https://github.com/belucha) in
[#​1840](spectreconsole/spectre.console#1840)
* Corrects comment for optional text prompt by
[@​aljanabim](https://github.com/aljanabim) in
[#​1857](spectreconsole/spectre.console#1857)
* Update spinners by [@​FroggieFrog](https://github.com/FroggieFrog) in
[#​1873](spectreconsole/spectre.console#1873)
* Support J and K for navigating list prompts by
[@​tobias-tengler](https://github.com/tobias-tengler) in
[#​1877](spectreconsole/spectre.console#1877)
* Fix space triggering selection when items in the selection list have a
space. by [@​mitchdenny](https://github.com/mitchdenny) in
[#​1881](spectreconsole/spectre.console#1881)
* Fix bug setting Header by
[@​mattfennerom](https://github.com/mattfennerom) in
[#​1890](spectreconsole/spectre.console#1890)

## New Contributors
* [@​magiino](https://github.com/magiino) made their first contribution
in [#​1803](spectreconsole/spectre.console#1803)
* [@​bartoginski](https://github.com/bartoginski) made their first
contribution in
[#​1807](spectreconsole/spectre.console#1807)
* [@​Elementttto](https://github.com/Elementttto) made their first
contribution in
[#​1746](spectreconsole/spectre.console#1746)
* [@​WeihanLi](https://github.com/WeihanLi) made their first
contribution in
[#​1832](spectreconsole/spectre.console#1832)
* [@​Pannoniae](https://github.com/Pannoniae) made their first
contribution in
[#​1756](spectreconsole/spectre.console#1756)
* [@​belucha](https://github.com/belucha) made their first contribution
in [#​1840](spectreconsole/spectre.console#1840)
* [@​aljanabim](https://github.com/aljanabim) made their first
contribution in
[#​1857](spectreconsole/spectre.console#1857)
* [@​FroggieFrog](https://github.com/FroggieFrog) made their first
contribution in
[#​1873](spectreconsole/spectre.console#1873)
* [@​tobias-tengler](https://github.com/tobias-tengler) made their first
contribution in
[#​1877](spectreconsole/spectre.console#1877)
* [@​mitchdenny](https://github.com/mitchdenny) made their first
contribution in
[#​1881](spectreconsole/spectre.console#1881)
* [@​mattfennerom](https://github.com/mattfennerom) made their first
contribution in
[#​1890](spectreconsole/spectre.console#1890)

**Full Changelog**:
spectreconsole/spectre.console@0.50.0...0.51.1

Commits viewable in [compare
view](spectreconsole/spectre.console@0.50.0...0.54.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Spectre.Console&package-manager=nuget&previous-version=0.50.0&new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
microsoft-github-policy-service bot pushed a commit to Azure/bicep that referenced this pull request Feb 23, 2026
Updated
[Spectre.Console.Testing](https://github.com/spectreconsole/spectre.console)
from 0.51.1 to 0.54.0.

<details>
<summary>Release notes</summary>

_Sourced from [Spectre.Console.Testing's
releases](https://github.com/spectreconsole/spectre.console/releases)._

## 0.54.0

Version `0.54.0` of Spectre.Console has been released!

## Spectre.Console.Cli has a new home!

We've decided to move `Spectre.Console.Cli` to its own repository, where
we will prepare it for a _1.0_ release. This means that the
_Spectre.Console.Cli_ NuGet packages will no longer be versioned
together with _Spectre.Console_. They will now have a preview version
such as `1.0.0-alpha-0.x`.

There should be no issues staying on version _0.53.0_ of
_Spectre.Console.Cli_ until we release a stable version if you prefer
not to use a pre-release dependency.

## New unit testing package for Spectre.Console.Cli

There is now a new testing package for _Spectre.Console.Cli_ called
[Spectre.Console.Cli.Testing](https://www.nuget.org/packages/Spectre.Console.Cli.Testing).
This is where you will find the `CommandAppTester` from now on.

You can find more information about unit testing in the
[documentation](https://spectreconsole.net/cli/unit-testing).

## What's Changed

* Normalizes paths when writing exceptions to the console for tests. by
[@​phil-scott-78](https://github.com/phil-scott-78) in
[#​1758](spectreconsole/spectre.console#1758)
* Fixes issue with Panel not applying overflow to children by
[@​phil-scott-78](https://github.com/phil-scott-78) in
[#​1942](spectreconsole/spectre.console#1942)
* Remove Spectre.Console.Cli from repository by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1928](spectreconsole/spectre.console#1928)

**Full Changelog**:
spectreconsole/spectre.console@0.53.0...0.54.0

## 0.53.1

This is a hotfix release for 0.53.0, which accidentally included
`OpenCli.Sources` as a dependency, instead of being included in the
package.

As a bonus, a fix for panels was also included in this release 😄 

## What's Changed
* Ensure OpenCli.Sources are not a dependency of the CLI package. by
@​patriksvensson in d61788d6c681745c8d1158ceeb4545ba37a99522
* Normalizes paths when writing exceptions to the console for tests. by
@​phil-scott-78 in
spectreconsole/spectre.console#1758
* Fixes issue with Panel not applying overflow to children by
@​phil-scott-78 in
spectreconsole/spectre.console#1942

**Full Changelog**:
spectreconsole/spectre.console@0.53.0...0.53.1

## 0.53.0

## What's Changed

* Add top-level CancellationToken support to Spectre.Console.Cli by
[@​0xced](https://github.com/0xced) in
[#​1911](spectreconsole/spectre.console#1911)
* Update the Spectre.Console.Cli documentation with CancellationToken by
[@​0xced](https://github.com/0xced) in
[#​1920](spectreconsole/spectre.console#1920)

**Full Changelog**:
spectreconsole/spectre.console@0.52.0...0.53.0

## 0.52.0

## What's Changed

* Add OpenCLI integration to Spectre.Console.Cli by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1909](spectreconsole/spectre.console#1909)
* Fix OPENCLI_VISIBILITY_INTERNAL to DefineConstants concat by
[@​devlead](https://github.com/devlead) in
[#​1912](spectreconsole/spectre.console#1912)

**Full Changelog**:
spectreconsole/spectre.console@0.51.1...0.52.0

Commits viewable in [compare
view](spectreconsole/spectre.console@0.51.1...0.54.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Spectre.Console.Testing&package-manager=nuget&previous-version=0.51.1&new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
###### Microsoft Reviewers: [Open in
CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/Azure/bicep/pull/19076)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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.

2 participants