# Installer AgentMaurice One

Tu es l’agent de code de cette machine, avec un terminal. « Connecte-toi » veut dire que tu peux appeler Maurice depuis cette session. Un compte Console n’est pas requis pour ce premier usage local. N’utilise pas sudo. Ne colle aucun secret, jeton ou lien d’appairage dans ton rapport.

Maurice est un runtime local gratuit : un binaire, pas de compte, pas de Docker. Le script télécharge l’archive et son SHA-256 depuis https://get.agentmaurice.app et vérifie la somme lui-même. Il choisit la dernière version publiée pour cette machine via le manifest get (pas l’API GitHub).

## 1. Dire où tu es, avant tout téléchargement

Affiche le système (`uname -s`), l’architecture (`uname -m`), le dossier de données `$HOME/.maurice/one`, et si ce shell est un conteneur (`/.dockerenv` ou `/run/.containerenv`), une session distante (`SSH_CONNECTION`) ou le compte `id -un`.

Qualifié aujourd’hui : macOS Apple Silicon (`Darwin` et `arm64`), Linux `x86_64` (amd64), Linux `aarch64` (arm64). Windows et Mac Intel (`Darwin` et `x86_64`) : arrête-toi, il n’y a pas d’archive publique. Si ce n’est pas la machine demandée, arrête-toi avant de télécharger.

## 2. Installer le script depuis agentmaurice.ai

Télécharge dans un dossier temporaire, jamais dans le répertoire courant. URL d’install : https://agentmaurice.ai/install.sh. Source lisible (audit) : https://github.com/agentmaurice/one/blob/29706e911d29b33ec05cee5c516ec52af302573a/install.sh. N’utilise pas `raw.githubusercontent.com` ni `api.github.com`. N’ajoute pas `--version`.

Le script prend la dernière archive publique qui existe pour ce système et cette architecture. S’il en existe déjà une identique ou plus récente, il la garde. Sinon il remplace le binaire sur le même dossier `$HOME/.maurice/one`, arrête l’ancien processus et relance Maurice. Il n’efface pas ce dossier et n’imprime pas un nouveau prompt d’appairage.

```sh
install_tmp="$(mktemp -d)"
curl -fsSL https://agentmaurice.ai/install.sh -o "$install_tmp/install.sh"
sh "$install_tmp/install.sh" --install-dir "$HOME/.local/bin" --no-autostart --data-dir "$HOME/.maurice/one"
```

Ajoute `--report-installation` seulement si le message de la personne contient « J'accepte le comptage de cette installation ». Ce drapeau envoie seulement un identifiant aléatoire, la version, le système et l’architecture à https://get.agentmaurice.app/products/one/installations et les mêmes quatre champs à PostHog EU. Sans cette phrase, n’ajoute pas le drapeau.

Si un drapeau est refusé, arrête-toi et montre le texte d’usage exact. N’invente pas un autre installeur.

## 3. Prouver que tu peux t’en servir

La version et doctor ne suffisent pas. Maurice doit répondre, tu dois avoir un accès qui fonctionne, et un appel sans effet métier doit réussir.

```sh
"$HOME/.local/bin/maurice" version --json
"$HOME/.local/bin/maurice" doctor --data-dir "$HOME/.maurice/one" --json
"$HOME/.local/bin/maurice" ping
```

Attendu : doctor avec running, health_ok et storage_ok, et ping qui répond. `--data-dir` est temporaire : le contexte ne garde pas encore le dossier.

Si tu ne peux pas encore appeler Maurice, suis le bloc d’appairage déjà imprimé. S’il n’y en a pas, lance une seule fois `"$HOME/.local/bin/maurice" setup --pairing-prompt`. Ne le relance pas si tu peux déjà appeler Maurice. Ne colle pas le lien.

Si ce bloc contient une commande d’appel, exécute-la une fois. Un `workflow call` a encore besoin de `--runtime-url http://127.0.0.1:5011` tant que le contexte ne garde pas cette URL. Ce drapeau est temporaire. N’invente pas de workflow.

Compte-rendu d’une ligne : « Maurice est installé et connecté », plus la version, l’état doctor et le résultat de l’appel. Sans lien d’appairage.

Le dossier de données est lisible par les programmes de cet utilisateur. Arrête-toi au premier échec. Une commande en échec se rejoue au plus une fois.
