Skip to content

Rune Story 1.0.0-beta.1 release

v1beta1 is the first public beta of Rune Story. It ships the story .NET tool and a source-only Rune Story extension. The two artifacts are installed explicitly; installing one never silently downloads or executes the other.

Publication gate: The install commands and repository URLs on this page are valid only after the release workflow has published Rune.Story.Cli 1.0.0-beta.1 and both the v1.0.0-beta.1 tag and latest branch exist. If any is absent, this page is release-candidate documentation and the coordinated release is not complete.

Four independent version axes

Axisv1beta1 release valueWhat it versions
Story, Sprite, and Design schemav1beta1YAML/source document headers
NuGet tool and product1.0.0-beta.1Rune.Story.Cli package and story --version
Canvas host protocol1Extension-to-host wire messages and capabilities
Copilot extension manifest format1copilot-extension.json structure

These numbers are intentionally independent. In particular, the integer manifest and protocol versions must not be compared with the product or schema version.

Prerequisites

  • .NET 10 SDK.
  • Windows x64 or Windows ARM64. The beta is Windows-only because the Story runtime and native rendering assets are Windows-specific.
  • GitHub Copilot App with Canvas extensions enabled.
  • Permission to install a user or project extension in the Copilot App.

Install the released artifacts after publication

Install the pinned prerelease tool from nuget.org. The explicit version is the prerelease opt-in:

powershell
dotnet tool install --global Rune.Story.Cli --version 1.0.0-beta.1 --prerelease
story --version

For a quick install that intentionally follows the latest published prerelease, omit the exact version and pair it with the latest extension URL below:

powershell
dotnet tool install --global Rune.Story.Cli --prerelease

The wrapper package selects the matching win-x64 or win-arm64 native package. The three published package files are Rune.Story.Cli, Rune.Story.Cli.win-x64, and Rune.Story.Cli.win-arm64; users install the wrapper, not a RID package directly.

Then install the source-only Rune Story extension in the GitHub Copilot App. For reproducible installation, use the immutable product-version tag:

text
https://github.com/devkanro/Rune/tree/v1.0.0-beta.1/.github/extensions/rune-story

For quick installation of the latest fully published CLI-compatible extension, use the moving latest branch alias:

text
https://github.com/devkanro/Rune/tree/latest/.github/extensions/rune-story

The release workflow moves latest only after NuGet publication, ARM64 validation, portable artifacts, checksums, and GitHub Release creation have all succeeded. In the App, install_extension supports a Gist URL or a GitHub repository folder URL. Use the exact tag for reproducibility or latest for convenience. Do not pass an arbitrary raw extension.mjs URL or a generic GitHub Release ZIP URL: rune-story is a multi-file extension and one standalone module is not installable. The v1.0.0-beta.1 tag is the immutable release reference. The extension source does not contain a native binary or a hidden downloader; it invokes the explicitly installed story tool.

A Gist is suitable only for a private development snapshot and is not the official immutable supply-chain channel. The source ZIP attached to the GitHub Release is an audit, offline-install, and rollback mirror; it is not the primary Copilot App installer URL.

Repo-local development install

For a repository-local tool, pin the wrapper in the repository's tool manifest and restore it explicitly:

powershell
dotnet tool install --local Rune.Story.Cli --version 1.0.0-beta.1 --prerelease
dotnet tool restore
dotnet tool run story --version

If the manifest does not exist yet, create it first with dotnet new tool-manifest. A project-scoped Rune Story extension is discovered for that repository. Copilot discovery gives project scope precedence over a same-named user extension, so the project copy shadows the user copy while the repository is open.

Update, rollback, and uninstall

To update, install the next pinned tool version and update the extension from its matching protected tag. For the beta tool:

powershell
dotnet tool update --global Rune.Story.Cli --version 1.0.0-beta.1 --prerelease

To roll back, install the desired older version explicitly, for example:

powershell
dotnet tool update --global Rune.Story.Cli --version <known-good-version> --prerelease

Replace <known-good-version> with the published version selected for the rollback. For a repo-local rollback, change the version in the tool manifest and run dotnet tool restore. Remove the global tool with dotnet tool uninstall --global Rune.Story.Cli; remove a local tool with dotnet tool uninstall --local Rune.Story.Cli. Remove the extension from the Copilot App's extension manager at the scope where it was installed. Reload the App after changing an extension.

Compatibility matrix

ComponentSupported in this releaseNot supported
OS/runtimeWindows x64 and ARM64; .NET 10Linux, macOS, other architectures
Story/Sprite/Design sourceExplicit story: v1beta1, sprite: v1beta1, or design: v1beta1v1 and unknown schema versions
CLI packageRune.Story.Cli 1.0.0-beta.1, command storyUnpinned or non-Windows native installs
Portable CLIrune-story-1.0.0-beta.1-win-x64.zip or rune-story-1.0.0-beta.1-win-arm64.zipArchives for other operating systems/architectures
Canvas protocolProtocol integer 1, capability-based handshakeProtocols that omit required capabilities
Canvas extensionManifest format integer 1, source-only folder at the protected tagBinary/Gist distribution as the official channel
Document/session modelOne Story document per Canvas sessionMultiple open Story documents in one session

The old v1 schema is not a compatibility alias. Migration examples: replace a legacy story: v1, sprite: v1, or design: v1 header directly with v1beta1; the old value is hard-rejected with a diagnostic. There is no warning or compatibility execution path.

Release assets and WinGet

The GitHub prerelease includes self-contained portable archives for Windows x64 and ARM64. Each archive contains story.exe, the managed runtime, and the matching rune_engine.dll, so it can be extracted and run without a separate .NET installation. SHA256SUMS.txt covers the three NuGet packages, both portable archives, and the extension source ZIP.

WinGet publication is intentionally deferred until a stable release. The portable archives are structured as future WinGet portable assets, but the beta's supported install paths are the NuGet tool and the tag-pinned source-folder extension.

Trusted publishing administration

The release workflow is version-independent. Push a canonical product tag such as v1.0.0-beta.1; it derives 1.0.0-beta.1 for MSBuild, NuGet packages, portable archives, checksums, release title, and the matching docs/release/1.0.0-beta.1.md. Manual dispatch accepts the same SemVer for validation but does not publish. A stable tag creates a normal GitHub Release; a SemVer containing - creates a prerelease.

Before enabling the release workflow, a nuget.org administrator must configure Trusted Publishing for this repository and bind it to .github/workflows/release-story.yml. Bind the policy to the release environment as well if environment protection is used. Add the nuget.org profile name as the repository/environment secret NUGET_USER; do not store a NuGet API key.

The workflow requests only the id-token: write permission needed by NuGet/login@v1, receives its short-lived NUGET_API_KEY output, and pushes the packages that were already built and tested. Configure required reviewers and any branch/tag restrictions on the GitHub release environment. Those NuGet trusted-publisher and environment-protection policies are administrative prerequisites and cannot be completed by repository code.

Known beta limits

  • Windows x64 and ARM64 only.
  • One Story document per Canvas session.
  • The official Canvas artifact is source-only and requires the separately installed CLI.
  • There is no v1 schema compatibility or automatic source rewrite.
  • The Canvas host gates on protocol/capabilities, not exact product-version equality; compatible beta patches can interoperate.

Rune Project brings Rune Story authoring together with the Rune Engine rendering foundation.