Variables d'environnement de l'installateur
Piloter l'installateur par script (destination, source, environnement, profil, vérification) avec des variables d'environnement.
Objectif : piloter install.sh / install.ps1 sans modifier le script, en
définissant des variables d'environnement avant de l'exécuter.
Prérequis
- Un shell POSIX (
bash) ou PowerShell 5.1+. Les exemples PowerShell ci-dessous exécutentpwsh(PowerShell 7+). Sous Windows PowerShell 5.1, exécutez plutôtpowershell -NoProfile -ExecutionPolicy Bypass -File install.ps1. - Les variables sont lues une seule fois, au début de l'installateur ; définissez-les donc dans la même commande (ou exportez-les d'abord), puis exécutez l'installateur.
Les variables de l'installateur
| Variable | Contrôle | Valeur par défaut |
|---|---|---|
APOTHEM_HOME | Destination d'installation de l'arborescence source clonée | $HOME/.apothem |
APOTHEM_REPO | Dépôt Git distant à cloner | https://github.com/ahmed-g-gad/apothem |
APOTHEM_REF | Ref Git à extraire ; non définie, elle résout la dernière étiquette signée vMAJOR.MINOR.PATCH, une valeur d'étiquette l'épingle, main sélectionne la branche mouvante. Une ref qui n'est pas une étiquette, comme main, interrompt l'opération sauf si APOTHEM_ALLOW_UNVERIFIED=1. | non définie (dernière étiquette signée) |
APOTHEM_ALLOW_UNVERIFIED | Lorsqu'elle vaut 1, rétrograde un échec de vérification de la signature de l'étiquette d'un arrêt fatal à un avertissement | 0 (vérification, échec fermé) |
APOTHEM_VERIFY | signature vérifie la signature GPG de l'étiquette de publication ; checksum installe l'archive de plateforme de la publication après avoir contrôlé son SHA-256 par rapport au SHA256SUMS de la publication (intégrité, et non preuve de l'identité de la personne qui l'a publiée) | signature |
APOTHEM_RELEASE_BASE | Base de téléchargement pour le mode checksum | <APOTHEM_REPO>/releases/download |
APOTHEM_SOURCE | Arborescence source locale explicite à utiliser au lieu de cloner | non définie (clonage) |
APOTHEM_HARNESS | Environnement de portée utilisateur à installer (antigravity, claude-code, codex, hermes, open-claw, opencode, qwen-code). L'installateur ne transmet pas --project ; un environnement de portée projet échoue donc avec project.required ; installez ceux-ci ensuite avec apothem install --harness NAME --project PATH. | claude-code |
APOTHEM_PROFILE | Chemin vers le YAML du profil partagé | $HOME/.config/apothem/profile.yaml |
APOTHEM_SKIP_VERIFY | Lorsqu'elle vaut 1, ignore l'étape de vérification post-installation | 0 (la vérification s'exécute) |
APOTHEM_AUTO_INSTALL_DEPS | Lorsqu'elle vaut 1, installe automatiquement les prérequis click / rich manquants, sans demande de confirmation | 0 (demande de confirmation, ou refus dans un pipe non interactif) |
APOTHEM_BIN_DIR | Répertoire du shim de commande apothem mis en place | $HOME/.local/bin (POSIX) ; %LOCALAPPDATA%\Microsoft\WindowsApps (Windows) |
NO_COLOR | Désactive la sortie en couleur lorsqu'elle est définie, quelle que soit sa valeur (no-color.org) ; la couleur est aussi désactivée chaque fois que la sortie n'est pas un terminal (un pipe, un fichier, un journal de CI) | non définie (couleur uniquement dans un terminal interactif) |
APOTHEM_SOURCE a priorité sur un clonage : lorsqu'elle pointe vers un checkout
qui contient src/apothem, l'installateur l'utilise directement, ne touche
jamais à APOTHEM_REPO / APOTHEM_REF, et ignore la résolution de l'étiquette
et la vérification de la signature (rien n'est récupéré, donc il n'y a rien à
vérifier).
Lorsque APOTHEM_HOME pointe vers un répertoire existant qui n'est pas un clone
git, l'installateur refuse de le supprimer : déplacez-le, faites pointer
APOTHEM_HOME ailleurs, ou passez --yes (-Yes sous Windows) pour autoriser
le remplacement. Un répertoire vide obsolète est remplacé sans cette option.
Modèle de confiance
Lorsque APOTHEM_REF n'est pas définie, l'installateur résout la dernière
étiquette de publication signée et vérifie sa signature avec git verify-tag
avant de matérialiser la moindre configuration ; une étiquette non signée ou
altérée interrompt l'installation. Une étiquette signée dont la clé publique du
mainteneur est absente du trousseau local interrompt plutôt l'installation avec
des indications pour importer la clé : importez la clé et comparez son
empreinte avec la valeur publiée dans
SECURITY.md.
Épinglez une publication connue avec APOTHEM_REF=<tag>, en prenant l'étiquette
sur la
page des publications ; une
étiquette épinglée est vérifiée de la même manière. Sélectionnez la branche
mouvante avec APOTHEM_REF=main plus APOTHEM_ALLOW_UNVERIFIED=1 ; cette
installation n'est pas vérifiée, et main seule interrompt l'installation,
car une branche n'est pas une étiquette signée. Définissez
APOTHEM_ALLOW_UNVERIFIED=1 seule pour passer outre un échec de vérification
avec un avertissement (usage isolé du réseau, local, ou antérieur aux
publications signées).
APOTHEM_REF=vMAJOR.MINOR.PATCH bash install.shAPOTHEM_VERIFY=checksum bash install.shAPOTHEM_ALLOW_UNVERIFIED=1 bash install.shÉtapes (POSIX bash)
-
Installer un environnement de portée utilisateur autre que celui par défaut :
APOTHEM_HARNESS=codex bash install.sh -
Épingler la destination d'installation et sélectionner la branche mouvante
main. Une branche n'est pas une étiquette signée : l'installateur a donc aussi besoin deAPOTHEM_ALLOW_UNVERIFIED=1:APOTHEM_REF=main APOTHEM_ALLOW_UNVERIFIED=1 APOTHEM_HOME=/opt/apothem bash install.sh -
Utiliser un checkout local et un profil personnalisé, en ignorant la vérification :
APOTHEM_SOURCE=/work/apothem \ APOTHEM_PROFILE=/work/profile.yaml \ APOTHEM_SKIP_VERIFY=1 \ bash install.sh
Étapes (PowerShell)
Définissez chaque variable sur $env: avant d'exécuter l'installateur :
$env:APOTHEM_HARNESS = 'codex'
pwsh -NoProfile -File install.ps1$env:APOTHEM_ALLOW_UNVERIFIED = '1'
$env:APOTHEM_REF = 'main'
$env:APOTHEM_HOME = 'C:\opt\apothem'
pwsh -NoProfile -File install.ps1$env:APOTHEM_SOURCE = 'C:\work\apothem'
$env:APOTHEM_PROFILE = 'C:\work\profile.yaml'
$env:APOTHEM_SKIP_VERIFY = '1'
pwsh -NoProfile -File install.ps1Vérifier
L'installateur affiche ✓ Harness <name> installed, puis (sauf si
APOTHEM_SKIP_VERIFY=1) ✓ verify passed. Confirmez de manière indépendante :
apothem verify --harness codexPour un environnement de portée projet tel que Cursor, lancez vous-même
l'installation et la vérification après l'installateur, avec --project :
apothem install --harness cursor --project /path/to/project
apothem verify --harness cursor --project /path/to/projectLorsque le profil n'existait pas encore, l'installateur en crée un à partir de
l'exemple et poursuit l'installation et la vérification au cours de la même
exécution. Les champs d'identité de l'exemple sont des espaces réservés ;
l'installation affiche donc une remarque. Modifiez $APOTHEM_PROFILE, puis
exécutez apothem update --harness <name> pour appliquer votre identité. Un
--dry-run sans profil effectue l'aperçu avec l'exemple en place et n'écrit
rien.
Voir aussi
- Installation couvre l'installation réseau en une seule étape.
- Ajouter un environnement couvre l'ajout d'environnements via la CLI après la première installation.
Ajouter un environnement
Activer un adaptateur d'environnement pour que sa configuration native soit matérialisée depuis le profil partagé.
Run the behavioural evals
Measure whether Apothem's commands and subagents fire on the right requests, whether each pipeline stage produces its artifact, and whether a rule changes behaviour, with a cost-capped eval run.