MILAGPT
Docs · Install

Install from a release, not from main

Mila Agent installs with one command — from the files of the latest release, not from the fresh main branch. A checksum sits next to the installer: download, compare, read, then run. Below is how it works and how a version is released. Every line links to the code.

For anyone who installs Mila on their own computer or server.

First install

One command — from the latest release

The link points at the release files on GitHub: releases/latest/download/get.sh.

01 · COMMAND

One line

curl -fsSL …/releases/latest/download/get.sh | bash downloads the installer from the latest release and runs it.

README:127 get.sh:3
02 · CHECK

The sum first

Every release carries two files: get.sh and SHA256SUMS. Download both, compare the sum, read the script — then run it.

README:130 README:133-139
03 · DRY RUN

Look before you install

With MILA_INSTALL_ARGS=--dry-run the installer shows what will be touched; the kit goes to a temporary folder, nothing is written to your home.

README:144 get.sh:37-39
04 · WHAT IT DOES

Checks, then installs

It checks Claude Code, Bun and git, clones the kit to ~/mila, runs install/install.sh and installs the Telegram plugin mila-telegram.

get.sh:17-24 get.sh:40-44 get.sh:50 get.sh:52-61
Check

Download, compare, then run

The commands come from the README, for Linux and macOS. --ignore-missing checks only the files you downloaded. README:130 README:133-139

The run comes after &&: if the sum does not match, bash get.sh does not start.

$ curl -fsSLO https://github.com/shakhruz/mila-agent/releases/latest/download/get.sh
$ curl -fsSLO https://github.com/shakhruz/mila-agent/releases/latest/download/SHA256SUMS
$ sha256sum -c --ignore-missing SHA256SUMS && bash get.sh        # Linux
$ shasum -a 256 -c --ignore-missing SHA256SUMS && bash get.sh    # macOS
Which version

A release knows its tag and its commit

How a version is released

One script, six steps

The maintainer runs tools/release.sh X.Y.Z. The script goes step by step and pushes nothing by itself.

01 · BEFORE

A tidy tree

The tree is clean, the tag does not exist yet, the version is newer than the last one; CHANGELOG.md has a section for this version with a “For the owner” block.

release.sh:14-24
02 · TESTS

All green

The update tests (test_update, test_nightly, test_renamed), the full tests/run_all.sh and the frontmatter check. One red — no release.

release.sh:25-29
03 · RELEASE.JSON

Version and date

release.json gets the version, the tag and the date, then a commit “release vX.Y.Z”.

release.sh:30-36
04 · TAG

Signed when there is a key

The tag is signed (git tag -s) when the maintainer’s key is set; otherwise it is an annotated tag without a signature, and the script says so.

release.sh:38-42 README:142
05 · FILES

get.sh and SHA256SUMS

In dist/vX.Y.Z/: get.sh with the tag and commit stamped in, and SHA256SUMS for it, under the release file name.

release.sh:43-53
06 · NO PUSH

The last step is a person’s

The script sends nothing: it prints the push commands, a gh release create line with the tag’s commit in the notes, and the install link check.

release.sh:2 release.sh:54-56 CONTRIBUTING:42
After the install

An update counts only when it reports ok

The nightly update installs a version with the release’s own updater and counts itself successful only when that updater answers "ok": true. Any other answer is “rejected”, and the version stays as it was. update.py:1036-1038 test_reexec_nightly.sh:41-45 CHANGELOG:117

How updates arrive and get installed — on the Updates page.

Honestly

What this page does not promise

In the repository

You can read every line yourself

The release and check scripts live in the open repository. CHANGELOG:95 CHANGELOG:121 CHANGELOG:93

Install and release files in the mila-agent repository
FileWhat it does
tools/release.shthe release: checks, tests, release.json, tag, installer and checksum file
install/get.shthe installer: checks, release tag, clone, install.sh, Telegram plugin
tools/check_install_link.pythe README install command answers 200
tools/test_check_install_link.pythe link check tested against a fake GitHub
CHANGELOG.mdv1.7.0: install from a release, not from main
Open source · Apache-2.0

Fork it, teach it, send a PR

The set is open: skills, hooks, tools and templates. Every pull request is read by a human and by Mila Quality.

Facts on this page: github.com/shakhruz/mila-agent (main, b5f1b9d, after v1.7.1), checked on 5 November 2026. The chat in the phone is an illustration. “Mila”, “MILAGPT” and the logo are trademarks of MILAGPT.