profile
Référence de la CLI pour le groupe de commandes apothem profile.
Gère le profil partagé d'Apothem.
profile est un groupe de commandes doté de quatre sous-commandes : init,
show, set et edit. Le profil partagé est l'unique source de vérité que
chaque adaptateur d'environnement matérialise dans sa configuration native.
Synopsis
apothem profile init [--profile PATH] [--force]
[--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]
apothem profile show [--profile PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]
apothem profile set KEY VALUE
[--profile PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]
apothem profile edit [--profile PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]Options communes
Chaque sous-commande accepte les options partagées ci-dessous.
| Option | Description |
|---|---|
--profile PATH | Chemin vers le YAML du profil partagé (par défaut, l'emplacement standard du profil). |
--quiet, -q | Supprime la sortie informative ; seules les erreurs sont émises. |
--verbose, -v | Émet une sortie de diagnostic supplémentaire. |
--format plain|json | Format de sortie (par défaut : plain). |
--json | Raccourci de --format json. |
--no-color | Désactive les codes de couleur ANSI dans la sortie. |
-h, --help | Affiche l'aide et quitte. |
Sous-commandes
profile init
Crée un échafaudage de profil minimal, valide selon le schéma, à
~/.config/apothem/profile.yaml ou à --profile PATH. Les fichiers existants
sont conservés, sauf si --force est fourni.
La première ligne de l'échafaudage est une modeline yaml-language-server qui
nomme le $id du schéma de profil,
https://apothem.ahmedgad.com/schemas/profile.schema.json. Le site sert le
schéma fourni avec le paquet à cette adresse ; un éditeur doté de la prise en
charge du langage YAML valide donc le profil pendant que vous le modifiez.
Chaque schéma fourni avec le paquet sous src/apothem/schemas/ est servi de la
même manière à https://apothem.ahmedgad.com/schemas/<file>.
| Option | Description |
|---|---|
--force | Écrase un échafaudage de profil existant. |
profile show
Affiche le profil partagé validé, avec ses valeurs par défaut développées. Avec
--json, le document est le profil lui-même, précédé de schema_version : la
version du schéma de profil selon laquelle le moteur l'a lu (voir le
contrat de sortie JSON).
profile set KEY VALUE
Définit une clé dans le profil partagé. KEY est un chemin pointé qui descend
dans le profil imbriqué (identity.name, preferences.style,
enforcement.sprints, harnesses.<harness>.preferences.style) ; une clé
unique sans point définit un nœud de niveau supérieur. VALUE est stockée sous
forme de chaîne littérale — les mots nus ne sont pas convertis (no reste
"no", 2024-01-01 et 1.0 restent des chaînes) — sauf true/false (les
drapeaux booléens d'application) et une entrée explicite de liste ou de
dictionnaire [...]/{...}. Le profil entièrement assemblé est validé par
rapport au schéma avant l'écriture ; une affectation invalide est refusée et le
profil sur le disque reste inchangé.
| Argument | Description |
|---|---|
KEY | Chemin pointé dans le profil, à définir (obligatoire). |
VALUE | Valeur littérale à affecter ; validée avant l'écriture (obligatoire). |
profile edit
Ouvre le profil partagé dans l'éditeur du système.
Erreurs de validation
Chaque commande qui lit le profil le valide par rapport au schéma fourni avec le paquet et signale tous les problèmes qu'elle trouve en une seule passe ; une seule modification peut donc tous les corriger :
- La sortie plain nomme intégralement le premier problème (
Field,Reason,FixetOffending value (redacted): l'entrée en échec, dont les valeurs ayant la forme d'un secret sont remplacées par<redacted>; il ne s'agit jamais d'une valeur de remplacement suggérée), puis liste jusqu'à dix autres problèmes sousOther problems. - La sortie JSON conserve le premier problème dans les champs de premier
niveau de l'objet
erroret ajoute un tableauerrorscontenant chaque problème (code,field,reason,fix,safe_value). - Les clés inconnues ne renvoient que la clé inattendue et sa valeur masquée, et non le profil entier.
- Marqueurs de bloc géré. Aucune clé ni aucune valeur textuelle ne peut
contenir
<!-- BEGIN APOTHEM MANAGED BLOCK -->ou<!-- END APOTHEM MANAGED BLOCK -->. Apothem écrit ces marqueurs autour du bloc qu'il gère dans les fichiers d'instructions, et le texte du profil atterrit à l'intérieur de ce bloc ; un marqueur dans ce texte scinderait donc le bloc. Chacun de ces champs échoue avecprofile.managed_block_marker:fieldest son chemin pointé (par exemplerules.2oumcp_servers.search.env.SEARCH_MODE) etreasonnomme le marqueur. La valeur elle-même n'est jamais renvoyée (safe_valuevautnull), car il peut s'agir d'un identifiant.
profile init (et toute autre commande qui crée un échafaudage de profil)
écrit schema_version: 1. Un profil sans schema_version est lu comme la
version 1.
Exemples
apothem profile init
apothem profile init --profile ./profile.yaml --force --json
apothem profile show
apothem profile show --json
apothem profile set seriousness SHARED
apothem profile set rules '["Use fake placeholders in examples."]'
apothem profile editCodes de sortie
| Code | Signification |
|---|---|
| 0 | Succès (ou, pour edit, l'éditeur s'est fermé normalement) |
| 1 | Profil manquant, invalide, déjà existant sans --force, ou impossible à écrire |
| 64 | Erreur d'utilisation : une option ou une commande inconnue, ou une valeur d'option manquante ou invalide. Sous --json, l'erreur est une enveloppe JSON avec le code cli.usage. |
Voir aussi
- apothem install — matérialise le profil dans un environnement
- apothem doctor — exécute les diagnostics d'installation à l'échelle du système