Get one slmcode binary on your PATH. Same energy as the big coding CLIs —
fewer zeros on the invoice. 💅
Plot twist: you do not need Go installed. One-liners fetch a shiny GitHub Release. Keep the compiler for contributing (or vibes).
!!! success "🎉 No Go required" Prebuilt binaries for macOS / Linux / Windows. Your laptop can stay a laptop.
-
:material-apple: 🍎 macOS / Linux / WSL
curl -fsSL https://raw.githubusercontent.com/UnicoLab/smlcode/main/scripts/install-remote.sh | bashClassic. Reliable. Slightly mysterious until
doctorsmiles. -
:material-microsoft-windows: 🪟 Windows
irm https://raw.githubusercontent.com/UnicoLab/smlcode/main/scripts/install.ps1 | iex
PowerShell one-liner. SmartScreen may raise an eyebrow — unblock and proceed.
-
:material-glass-mug-variant: 🍺 Homebrew
brew install --formula https://raw.githubusercontent.com/UnicoLab/smlcode/main/Formula/slmcode.rb
For people who install everything with brew, including existential dread.
-
:material-lock: 🔒 Locked-down machine
git clone --depth 1 https://github.com/UnicoLab/smlcode.git cd smlcode && ./scripts/install-offline.sh
Everything above 403s at work? The binaries ship inside the repo. Full guide →
=== "🍎 User install"
```bash
curl -fsSL https://raw.githubusercontent.com/UnicoLab/smlcode/main/scripts/install-remote.sh | bash
```
=== "🧰 System install"
```bash
curl -fsSL https://raw.githubusercontent.com/UnicoLab/smlcode/main/scripts/install-remote.sh | bash -s -- --system
```
Lands in Homebrew prefix or `/usr/local` (may ask for `sudo`). Also symlinks into
`~/.local/bin` so PATH priority doesn't fork your brain. 🧠
=== "📌 Pin a version"
```bash
curl -fsSL https://raw.githubusercontent.com/UnicoLab/smlcode/main/scripts/install-remote.sh \
| bash -s -- --version v0.20.0
```
=== "🪟 PowerShell"
```powershell
irm https://raw.githubusercontent.com/UnicoLab/smlcode/main/scripts/install.ps1 | iex
```
=== "🪟 CMD"
```bat
curl -fsSL https://raw.githubusercontent.com/UnicoLab/smlcode/main/scripts/install.cmd -o install.cmd && install.cmd && del install.cmd
```
=== "🍺 Brew tap"
```bash
brew tap UnicoLab/smlcode https://github.com/UnicoLab/smlcode
brew install slmcode
```
slmcode version
slmcode doctorEvery install path above verifies a SHA-256 checksum for you: the shell installer and
the PowerShell installer both fetch the release's SHA256SUMS and refuse to install on a
mismatch, and Homebrew checks the sha256 in the formula. If a checksum could not be
fetched, the installer says so loudly rather than pretending it checked.
To check by hand, or to verify a binary you downloaded from the Releases page:
curl -fsSLO https://github.com/UnicoLab/smlcode/releases/download/v0.24.0/SHA256SUMS
shasum -a 256 -c SHA256SUMS --ignore-missing # macOS
sha256sum -c SHA256SUMS --ignore-missing # LinuxYou want: binary on PATH, a provider/model listed, and a model server that answers the phone.
doctor exits 4 when the provider check fails — an unreachable endpoint, a rejected or
missing API key, or a model the endpoint does not serve — and the message says which.
cd your-project
slmcode init
slmcode # premium TUI — board goes brrr→ ⏱️ Quick start · 🔌 Providers
=== "⬆️ Update"
```bash
slmcode update
slmcode update --check
```
Binary installs re-download the latest release asset for your OS/arch, verify it against
the release `SHA256SUMS`, and replace the running binary atomically — no `curl | bash`.
Source installs rebuild from the checkout recorded in `~/.config/slmcode/install.json`.
`--check` reports without installing; `--yes` skips the confirmation prompt.
=== "🗑️ Uninstall (curl)"
```bash
curl -fsSL https://raw.githubusercontent.com/UnicoLab/smlcode/main/scripts/install-remote.sh \
| bash -s -- --uninstall
```
=== "🍺 Uninstall (brew)"
```bash
brew uninstall slmcode
```
| Mode | Location |
|---|---|
| 👤 User | ~/.local/bin/slmcode |
| 🧰 System | $(brew --prefix)/bin or /usr/local/bin |
| 🪟 Windows | %LOCALAPPDATA%\slmcode\bin\slmcode.exe |
| 🍺 Homebrew | Cellar → linked on PATH |
Metadata: ~/.config/slmcode/install.json (Windows: %APPDATA%\slmcode\install.json).
Needs Go 1.23+. Module proxy pulls GoLangGraph — no sibling clone required.
git clone https://github.com/UnicoLab/smlcode.git
cd smlcode
make install-system
# or make installNode is optional — for a source build. make install builds the Studio SPA when npm is
available and the registry is reachable; when it is not, it says so and installs anyway with the
built-in placeholder page. The CLI, the API and every command are unaffected — only the Studio
web page is missing, and slmcode studio tells you that on startup. Build it later with
make bootstrap.
!!! success "Released binaries always ship the real Studio"
This caveat applies to source builds only. Every binary published to GitHub Releases —
which is what the curl one-liner, the PowerShell one-liner, Homebrew and slmcode update
all install — is built by CI with the Studio SPA compiled in, and the release workflow
fails outright rather than publishing a binary that would serve the placeholder. If you
installed with a one-liner, slmcode studio gives you the real UI.
Optional: GOLANGGRAPH=/path/to/GoLangGraph for local framework hacking. Bring snacks.
| Symptom | Fix |
|---|---|
command not found 👻 |
Fix PATH, open a new shell |
| Checksum mismatch 🔐 | Re-run; check proxies / TLS inspection |
| SmartScreen 🛡️ | Unblock or use PowerShell one-liner |
| Go build fails 💥 | Use the one-liner (seriously) |
More comedy → ❓ FAQ
Pro tip: if slmcode doctor is green, resist the urge to
“just tweak one more config”. Ship a tiny task first. Future-you will send a thank-you emoji.
☀️ Made with ♥ by UnicoLab