From e08757b60ce8c42125a235cea21a077fc5630701 Mon Sep 17 00:00:00 2001 From: Brian Seong Date: Thu, 23 Apr 2026 20:33:54 +0900 Subject: [PATCH 1/4] docs(tools): add midenup toolchain installer page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit midenup is the Miden toolchain installer — the unified 'miden' entry point that manages Miden VM, compiler (midenc + cargo-miden), client, stdlib, and transaction kernel versions as a single release channel. Until now it had no dedicated page on docs.miden.xyz; it was only referenced in passing from installation and node-setup pages. Add builder/tools/midenup.md with the same CardGrid + Callout pattern as the rest of the Tools section (playground.md, network.md): - Install (cargo install + midenup init) - Components it manages (VM / midenc + cargo-miden / client / stdlib / transaction kernel) - Toolchain management (install, set, override, show, uninstall) - 'miden' entry-point alias table (new, build, account, faucet, send, simulate, …) - Related links to Installation, CLI basics, Network Surface it on the Tools landing — bump the Environments CardGrid from cols={2} to cols={3} so midenup sits alongside Playground and Network ('Toolchain + environments' section header). Mirror into versioned_docs/version-0.14 + versioned_sidebars so the default root route (which currently serves v0.14) shows midenup too — it existed well before v0.14 so the snapshot should document it. --- docs/builder/tools/index.md | 7 +- docs/builder/tools/midenup.md | 116 ++++++++++++++++++ sidebars.ts | 1 + .../version-0.14/builder/tools/index.md | 7 +- .../version-0.14/builder/tools/midenup.md | 116 ++++++++++++++++++ versioned_sidebars/version-0.14-sidebars.json | 1 + 6 files changed, 244 insertions(+), 4 deletions(-) create mode 100644 docs/builder/tools/midenup.md create mode 100644 versioned_docs/version-0.14/builder/tools/midenup.md diff --git a/docs/builder/tools/index.md b/docs/builder/tools/index.md index 5e0d4a94..30cda35e 100644 --- a/docs/builder/tools/index.md +++ b/docs/builder/tools/index.md @@ -22,9 +22,12 @@ Developer tools for building on and interacting with the Miden network. Use the -## Environments +## Toolchain + environments - + + + Install and switch between Miden toolchain channels — VM, compiler, client, stdlib, kernel — from a unified `miden` command. + Interactive environment for writing and testing Miden Assembly programs. diff --git a/docs/builder/tools/midenup.md b/docs/builder/tools/midenup.md new file mode 100644 index 00000000..74c9cf74 --- /dev/null +++ b/docs/builder/tools/midenup.md @@ -0,0 +1,116 @@ +--- +title: midenup +sidebar_position: 2 +description: "The Miden toolchain installer — bootstrap, pin, and switch between Miden VM / compiler / client / stdlib toolchains from a single `miden` entry point." +--- + +# midenup + +`midenup` is the Miden toolchain installer. One install gives you a unified `miden` command that delegates to the Miden VM, compiler (`midenc` + `cargo-miden`), client, stdlib, and transaction kernel — all versioned together as a single release channel. + + + + The installer repo. Tracks the canonical channel manifest and publishes prebuilt toolchain releases. + + + Machine-readable inventory of available toolchain channels and the component versions each one pins. + + + +## Install + +```bash title=">_ Install midenup" +cargo install midenup && midenup init +``` + +`midenup init` sets up `$MIDENUP_HOME`, writes a `miden` symlink into `$CARGO_HOME/bin`, and prepares the toolchain cache. Since most Rust users already have `$CARGO_HOME/bin` on their PATH, the `miden` command is ready immediately. + + +Run `miden --version`. If you see "command not found," add `$CARGO_HOME/bin` (default `~/.cargo/bin`) to your PATH and re-open the shell. + + +## Components it manages + + + + The MASM interpreter, prover, and verifier. Used by every Miden program. + + + `midenc` and `cargo-miden` — the Rust frontend that compiles `#[miden]` code to MASM. + + + `miden-client` — accounts, transactions, notes, proving. + + + `miden-stdlib` — the canonical MASM standard library. + + + `miden-base` — the transaction kernel that runs inside every account and note script. + + + Additional Miden components will be added to `midenup` as they ship. + + + +## Toolchain management + +### Install a channel + +```bash +midenup install stable # latest matching component set +midenup install 0.14 # pin to a specific release line +``` + +### Switch the active toolchain + +```bash +midenup set 0.14 # pin for the current project (writes miden-toolchain.toml) +midenup override 0.14 # set the system-wide default +midenup show active-toolchain # which one is active right now? +``` + +A `miden-toolchain.toml` in the current directory always wins — otherwise the system default applies, falling back to `stable` if none is set. + +### Uninstall + +```bash +midenup uninstall 0.14 +``` + +Delete `$MIDENUP_HOME` to uninstall `midenup` itself. Find its location with `midenup show home`. + + +Removing toolchain directories manually corrupts the `midenup` environment. Use `midenup uninstall` so the installer updates its bookkeeping. + + +## The `miden` entry point + +`miden` delegates to the right component based on the subcommand. Common aliases: + +| `miden` command | Delegates to | What it does | +| --- | --- | --- | +| `miden new` | `cargo miden new` | Create a new Miden Rust project | +| `miden build` | `cargo miden build` | Build the project | +| `miden new-wallet` | `miden-client new-wallet --deploy` | Create and deploy a wallet account | +| `miden account` | `miden-client account` | Create or inspect a local account | +| `miden faucet` | `miden-client mint` | Fund an account from the faucet | +| `miden deploy` | `miden-client -s public --account-type regular-account-immutable-code` | Deploy a public, immutable-code contract | +| `miden call` | `miden-client account --show` | Read state from an account (view) | +| `miden send` | `miden-client send` | Send a state-changing transaction | +| `miden simulate` | `miden-client exec` | Dry-run a transaction without committing | + +Everything outside the alias table is forwarded to the underlying binary — e.g., `miden exec …` goes straight through to `miden-client exec`. + +## Related + + + + Full environment setup — prerequisites, node install, first account. + + + Walk through `miden account`, `miden send`, `miden faucet`, and the rest. + + + Endpoints the `miden` CLI points at — RPC, faucet, remote prover, block explorer. + + diff --git a/sidebars.ts b/sidebars.ts index 2112d7a8..a49f8da5 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -241,6 +241,7 @@ const sidebars: SidebarsConfig = { }, ], }, + "builder/tools/midenup", "builder/tools/playground", "builder/tools/network", ], diff --git a/versioned_docs/version-0.14/builder/tools/index.md b/versioned_docs/version-0.14/builder/tools/index.md index 5e0d4a94..30cda35e 100644 --- a/versioned_docs/version-0.14/builder/tools/index.md +++ b/versioned_docs/version-0.14/builder/tools/index.md @@ -22,9 +22,12 @@ Developer tools for building on and interacting with the Miden network. Use the -## Environments +## Toolchain + environments - + + + Install and switch between Miden toolchain channels — VM, compiler, client, stdlib, kernel — from a unified `miden` command. + Interactive environment for writing and testing Miden Assembly programs. diff --git a/versioned_docs/version-0.14/builder/tools/midenup.md b/versioned_docs/version-0.14/builder/tools/midenup.md new file mode 100644 index 00000000..74c9cf74 --- /dev/null +++ b/versioned_docs/version-0.14/builder/tools/midenup.md @@ -0,0 +1,116 @@ +--- +title: midenup +sidebar_position: 2 +description: "The Miden toolchain installer — bootstrap, pin, and switch between Miden VM / compiler / client / stdlib toolchains from a single `miden` entry point." +--- + +# midenup + +`midenup` is the Miden toolchain installer. One install gives you a unified `miden` command that delegates to the Miden VM, compiler (`midenc` + `cargo-miden`), client, stdlib, and transaction kernel — all versioned together as a single release channel. + + + + The installer repo. Tracks the canonical channel manifest and publishes prebuilt toolchain releases. + + + Machine-readable inventory of available toolchain channels and the component versions each one pins. + + + +## Install + +```bash title=">_ Install midenup" +cargo install midenup && midenup init +``` + +`midenup init` sets up `$MIDENUP_HOME`, writes a `miden` symlink into `$CARGO_HOME/bin`, and prepares the toolchain cache. Since most Rust users already have `$CARGO_HOME/bin` on their PATH, the `miden` command is ready immediately. + + +Run `miden --version`. If you see "command not found," add `$CARGO_HOME/bin` (default `~/.cargo/bin`) to your PATH and re-open the shell. + + +## Components it manages + + + + The MASM interpreter, prover, and verifier. Used by every Miden program. + + + `midenc` and `cargo-miden` — the Rust frontend that compiles `#[miden]` code to MASM. + + + `miden-client` — accounts, transactions, notes, proving. + + + `miden-stdlib` — the canonical MASM standard library. + + + `miden-base` — the transaction kernel that runs inside every account and note script. + + + Additional Miden components will be added to `midenup` as they ship. + + + +## Toolchain management + +### Install a channel + +```bash +midenup install stable # latest matching component set +midenup install 0.14 # pin to a specific release line +``` + +### Switch the active toolchain + +```bash +midenup set 0.14 # pin for the current project (writes miden-toolchain.toml) +midenup override 0.14 # set the system-wide default +midenup show active-toolchain # which one is active right now? +``` + +A `miden-toolchain.toml` in the current directory always wins — otherwise the system default applies, falling back to `stable` if none is set. + +### Uninstall + +```bash +midenup uninstall 0.14 +``` + +Delete `$MIDENUP_HOME` to uninstall `midenup` itself. Find its location with `midenup show home`. + + +Removing toolchain directories manually corrupts the `midenup` environment. Use `midenup uninstall` so the installer updates its bookkeeping. + + +## The `miden` entry point + +`miden` delegates to the right component based on the subcommand. Common aliases: + +| `miden` command | Delegates to | What it does | +| --- | --- | --- | +| `miden new` | `cargo miden new` | Create a new Miden Rust project | +| `miden build` | `cargo miden build` | Build the project | +| `miden new-wallet` | `miden-client new-wallet --deploy` | Create and deploy a wallet account | +| `miden account` | `miden-client account` | Create or inspect a local account | +| `miden faucet` | `miden-client mint` | Fund an account from the faucet | +| `miden deploy` | `miden-client -s public --account-type regular-account-immutable-code` | Deploy a public, immutable-code contract | +| `miden call` | `miden-client account --show` | Read state from an account (view) | +| `miden send` | `miden-client send` | Send a state-changing transaction | +| `miden simulate` | `miden-client exec` | Dry-run a transaction without committing | + +Everything outside the alias table is forwarded to the underlying binary — e.g., `miden exec …` goes straight through to `miden-client exec`. + +## Related + + + + Full environment setup — prerequisites, node install, first account. + + + Walk through `miden account`, `miden send`, `miden faucet`, and the rest. + + + Endpoints the `miden` CLI points at — RPC, faucet, remote prover, block explorer. + + diff --git a/versioned_sidebars/version-0.14-sidebars.json b/versioned_sidebars/version-0.14-sidebars.json index b73e03ee..10b6778e 100644 --- a/versioned_sidebars/version-0.14-sidebars.json +++ b/versioned_sidebars/version-0.14-sidebars.json @@ -270,6 +270,7 @@ } ] }, + "builder/tools/midenup", "builder/tools/playground", "builder/tools/network" ] From 9b3a6adb7789275231ee6fb0a4fddaea0e7d9cfb Mon Sep 17 00:00:00 2001 From: Brian Seong Date: Thu, 23 Apr 2026 20:34:07 +0900 Subject: [PATCH 2/4] chore(release): flip tutorials ingest back to main MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0xMiden/tutorials#186 merged upstream at 2026-04-23 10:11 UTC (merge commit 71cc533). The PR branch (kbg/chore/v14-migration) we pinned both the snapshot manifest and the deploy workflow to is now superseded by main. - .release/release-manifest.yml: tutorials: refs/pull/186/head → refs/heads/main - .github/workflows/deploy-docs.yml: DEFAULT_TUTORIALS_REF: kbg/chore/v14-migration → main Verified by re-cloning tutorials @ main, running the aggregate step, and building — setup_guide.md + all recipe content present, full build exits [SUCCESS] with the same 10 broken-link warnings (no regressions). --- .github/workflows/deploy-docs.yml | 5 +---- .release/release-manifest.yml | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 66ea321f..9277fb01 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -41,10 +41,7 @@ jobs: runs-on: ubuntu-latest env: DEFAULT_REF: next - # v0.14 pins tutorials to the PR #186 branch (kbg/chore/v14-migration) - # so the live /next/ ingest matches what v0.14 snapshot was cut from. - # TODO: flip back to `main` once 0xMiden/tutorials#186 merges upstream. - DEFAULT_TUTORIALS_REF: kbg/chore/v14-migration + DEFAULT_TUTORIALS_REF: main steps: - name: Checkout docs site uses: actions/checkout@v4 diff --git a/.release/release-manifest.yml b/.release/release-manifest.yml index 9d4e5a80..3f94a6c9 100644 --- a/.release/release-manifest.yml +++ b/.release/release-manifest.yml @@ -3,7 +3,7 @@ refs: # exact, immutable refs per source repo (tags or release branches) protocol: "refs/tags/v0.14.4" node: "refs/tags/v0.14.9" miden-client: "refs/tags/v0.14.4" - tutorials: "refs/pull/186/head" + tutorials: "refs/heads/main" miden-vm: "refs/tags/v0.22.1" compiler: "refs/tags/v0.8.1" next_version: "0.15" From be25553fdbc8f9b98e811d74f0c1b178a4f90a2e Mon Sep 17 00:00:00 2001 From: Brian Seong Date: Thu, 23 Apr 2026 20:40:49 +0900 Subject: [PATCH 3/4] docs(landing): point 'Install midenup' CTA at /builder/tools/midenup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously the secondary hero CTA linked to the midenup GitHub repo (external). Now that the docs have a dedicated midenup page, repoint the CTA there — in-docs content explains install + usage, and users stay on-site for the deeper material. Flip the arrow glyph from ↗ (external) to → (internal) to match. --- src/pages/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 8511a830..c0caa9c1 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -73,10 +73,10 @@ export default function Home(): JSX.Element { - Install midenup + Install midenup From 6e2cb1b3a755769e82d9650da160860c1cf31ed1 Mon Sep 17 00:00:00 2001 From: Brian Seong Date: Thu, 23 Apr 2026 20:46:31 +0900 Subject: [PATCH 4/4] =?UTF-8?q?docs(tools):=20capitalize=20sidebar=20label?= =?UTF-8?q?=20for=20midenup=20=E2=86=92=20Midenup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Keep the page title and in-body references to 'midenup' lowercase (that's the command / crate name), but render it as 'Midenup' in the sidebar so it reads as a proper nav item alongside 'Playground' and 'Network'. sidebar_label frontmatter is the scoped override. --- docs/builder/tools/midenup.md | 1 + versioned_docs/version-0.14/builder/tools/midenup.md | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/builder/tools/midenup.md b/docs/builder/tools/midenup.md index 74c9cf74..fa5f0239 100644 --- a/docs/builder/tools/midenup.md +++ b/docs/builder/tools/midenup.md @@ -1,5 +1,6 @@ --- title: midenup +sidebar_label: Midenup sidebar_position: 2 description: "The Miden toolchain installer — bootstrap, pin, and switch between Miden VM / compiler / client / stdlib toolchains from a single `miden` entry point." --- diff --git a/versioned_docs/version-0.14/builder/tools/midenup.md b/versioned_docs/version-0.14/builder/tools/midenup.md index 74c9cf74..fa5f0239 100644 --- a/versioned_docs/version-0.14/builder/tools/midenup.md +++ b/versioned_docs/version-0.14/builder/tools/midenup.md @@ -1,5 +1,6 @@ --- title: midenup +sidebar_label: Midenup sidebar_position: 2 description: "The Miden toolchain installer — bootstrap, pin, and switch between Miden VM / compiler / client / stdlib toolchains from a single `miden` entry point." ---