Skip to content

Commit ea98064

Browse files
claudeako
authored andcommitted
docs: sweep install guidance — correct asset format, go install, recommend nightly
Swept all user-facing docs for install accuracy. Two real inaccuracies fixed beyond the go-install issue: - Release assets are RAW binaries named mxcli-<os>-<arch> (not mxcli_<os>_<arch>. tar.gz archives). quickstart.md and installation.md told users to download and `tar xzf` a .tar.gz that doesn't exist — replaced with a direct curl of the raw binary + chmod +x. - `go install …@latest` was listed as "build from source"/an install option in quickstart.md and installation.md; it fails (uncommitted generated parser). Replaced with `git clone && make build`, plus a caveat note. Also: recommend the rolling `nightly` build across README/quickstart/installation while mxcli is fast-moving alpha (features land there before a tagged release), with vX.Y.Z pinning for reproducibility. Flagged the go-install reality in the warm-loop proposal's release row (it claimed a public Go module suffices). Files: README.md, docs-site/src/tutorial/{quickstart,installation}.md, docs-site/src/tools/bootstrap-prompt.md (earlier), PROPOSAL_mxcli_dev_warm_loop.md. Docs-only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JXnEgoc2NQP1Y2TWMCMXC4
1 parent abccb50 commit ea98064

4 files changed

Lines changed: 35 additions & 16 deletions

File tree

README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,16 @@ mxcli add-tool cursor
180180

181181
## Installation
182182

183-
Download the latest release for your platform from the [releases page](https://github.com/mendixlabs/mxcli/releases), or build from source:
183+
Download a pre-built binary from the [releases page](https://github.com/mendixlabs/mxcli/releases) — the assets are raw binaries named `mxcli-<os>-<arch>` (nothing to extract). While mxcli is fast-moving alpha, the rolling `nightly` build is recommended (new features land there first); pin a `vX.Y.Z` release for reproducibility:
184+
185+
```bash
186+
# Linux/macOS — nightly
187+
curl -fsSL -o mxcli \
188+
https://github.com/mendixlabs/mxcli/releases/download/nightly/mxcli-linux-amd64
189+
chmod +x mxcli && sudo mv mxcli /usr/local/bin/
190+
```
191+
192+
Or build from source (Go + Make — `make build` runs the ANTLR parser generation that `go install` can't):
184193

185194
```bash
186195
git clone https://github.com/mendixlabs/mxcli.git
@@ -189,6 +198,8 @@ make build
189198
# binary is at ./bin/mxcli
190199
```
191200

201+
> `go install …@latest` is not supported: the generated ANTLR parser isn't committed, so a module-source build fails. Use a pre-built binary or `make build`.
202+
192203
## Core Features
193204

194205
### Explore Project Structure

docs-site/src/tutorial/installation.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,25 @@ When you're ready to work on your own Mendix project, use one of the installatio
2626

2727
## Binary download
2828

29-
Pre-built binaries are available for Linux, macOS, and Windows on both amd64 and arm64 architectures.
29+
Pre-built binaries are published for Linux, macOS, and Windows on both amd64 and arm64. Release assets are **raw binaries** named `mxcli-<os>-<arch>` (Windows: `.exe`) — there is nothing to extract.
3030

31-
1. Go to the [GitHub Releases page](https://github.com/mendixlabs/mxcli/releases).
32-
2. Download the archive for your platform (e.g., `mxcli_linux_amd64.tar.gz` or `mxcli_darwin_arm64.tar.gz`).
33-
3. Extract the binary and move it somewhere on your `PATH`:
31+
While mxcli is fast-moving alpha, use the rolling **`nightly`** build (new features land there before a tagged release); pin a `vX.Y.Z` release for reproducibility.
3432

3533
```bash
36-
# Example for Linux/macOS
37-
tar xzf mxcli_linux_amd64.tar.gz
38-
sudo mv mxcli /usr/local/bin/
34+
# Linux/macOS — nightly (recommended for now)
35+
curl -fsSL -o mxcli \
36+
https://github.com/mendixlabs/mxcli/releases/download/nightly/mxcli-linux-amd64
37+
chmod +x mxcli && sudo mv mxcli /usr/local/bin/
38+
39+
# ...or pin a specific release
40+
curl -fsSL -o mxcli \
41+
https://github.com/mendixlabs/mxcli/releases/download/v0.16.0/mxcli-darwin-arm64
42+
chmod +x mxcli && sudo mv mxcli /usr/local/bin/
3943
```
4044

41-
On Windows, extract the `.zip` and add the folder containing `mxcli.exe` to your system PATH.
45+
Assets: `mxcli-linux-amd64`, `mxcli-linux-arm64`, `mxcli-darwin-amd64`, `mxcli-darwin-arm64`, `mxcli-windows-amd64.exe`, `mxcli-windows-arm64.exe`. On Windows, download the `.exe` and add its folder to your PATH. You can browse them on the [GitHub Releases page](https://github.com/mendixlabs/mxcli/releases).
46+
47+
> `go install github.com/mendixlabs/mxcli/cmd/mxcli@latest` does **not** work: the ANTLR parser is generated at build time and isn't committed, so a `go install` from the module source fails. Use a pre-built binary, or **Build from source** below (which runs `make grammar`).
4248
4349
## Build from source
4450

docs-site/src/tutorial/quickstart.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,20 @@ Open the [mxcli Playground](https://github.com/mendixlabs/mxcli-playground) in a
1212

1313
**Option B: Binary download**
1414

15-
Download from the [GitHub Releases page](https://github.com/mendixlabs/mxcli/releases) and extract:
15+
Release assets are raw binaries named `mxcli-<os>-<arch>` (nothing to extract). Use the rolling `nightly` build while mxcli is alpha:
1616

1717
```bash
1818
# macOS / Linux
19-
tar xzf mxcli_<platform>.tar.gz
20-
sudo mv mxcli /usr/local/bin/
19+
curl -fsSL -o mxcli \
20+
https://github.com/mendixlabs/mxcli/releases/download/nightly/mxcli-linux-amd64
21+
chmod +x mxcli && sudo mv mxcli /usr/local/bin/
2122
```
2223

23-
**Option C: Build from source**
24+
**Option C: Build from source** (Go + Make)
2425

2526
```bash
26-
go install github.com/mendixlabs/mxcli/cmd/mxcli@latest
27+
git clone https://github.com/mendixlabs/mxcli.git && cd mxcli && make build
28+
# binary at ./bin/mxcli (go install @latest doesn't work — see Installation)
2729
```
2830

2931
Verify: `mxcli --version` should print the version number.
@@ -132,6 +134,6 @@ No errors? You're done. Open in Studio Pro and everything is there.
132134
mxcli setup mxbuild -p your-app.mpr
133135
```
134136

135-
**"CGO not available"** -- mxcli uses pure Go SQLite. No C compiler needed. If you see CGO errors, ensure you're using the official binary or `go install`.
137+
**"CGO not available"** -- mxcli uses pure Go SQLite. No C compiler needed. If you see CGO errors, ensure you're using the official pre-built binary or a `make build` from source.
136138

137139
**Project won't open in Studio Pro after changes** -- Close Studio Pro before running mxcli write commands, then reopen. See [F4 sync support](../appendixes/version-compatibility.md) for details.

docs/11-proposals/PROPOSAL_mxcli_dev_warm_loop.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,7 @@ downloads/caches mxbuild + runtime and speaks the M2EE admin API.
501501
| `cmd/mxcli/init.go` | Emit a **SessionStart hook** (Claude Code Web) and/or devcontainer `postStart` that runs `mxcli dev up`; keep the existing devcontainer + `.claude/` scaffolding. |
502502
| `cmd/mxcli/new.go` | Add `--emit-template`: write a GitHub-template-ready repo (config + starter `.mpr`), for CI-per-version publishing of `mendix-mxcli-starter`. |
503503
| `docs-site/.../bootstrap-prompt.md` | Ship the canonical **prompt template** (the web/iPad seed prompt) as documented, copy-pasteable text. |
504-
| release / go.mod | Ensure mxcli is deliverable into a gated web session**public Go module** (`go install`) and/or an **environment setup-script** that pre-installs it; do not rely on a GitHub release `curl` (may be gate-blocked). |
504+
| release / go.mod | Ensure mxcli is deliverable into a gated web session. **Status:** the module is public (tags to v0.16.0) but **`go install` does not build** — the generated ANTLR parser (`mdl/grammar/parser/`) is gitignored/uncommitted, so the tagged source is missing the package. Working paths today: prebuilt release binaries (`mxcli-<os>-<arch>`, incl. a rolling `nightly`) via `mxcli setup mxcli` / direct download, or an **environment setup-script** pre-install. Enabling `go install` needs the parser committed (or generated during module build) — open decision. |
505505
| `cmd/mxcli/tunnelhub/*_test.go` | Tests: slot allocation/isolation, authfile + vhost reload, register/heartbeat/deregister lifecycle, admin-page rendering. |
506506
| `cmd/mxcli/dev_test.go` | Tests for the serve client and the `restartRequired` branch logic (mock the serve/admin HTTP endpoints). |
507507

0 commit comments

Comments
 (0)