Skip to content
Apothem
Référence de la CLI

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.

OptionDescription
--profile PATHChemin vers le YAML du profil partagé (par défaut, l'emplacement standard du profil).
--quiet, -qSupprime la sortie informative ; seules les erreurs sont émises.
--verbose, -vÉmet une sortie de diagnostic supplémentaire.
--format plain|jsonFormat de sortie (par défaut : plain).
--jsonRaccourci de --format json.
--no-colorDésactive les codes de couleur ANSI dans la sortie.
-h, --helpAffiche 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>.

OptionDescription
--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é.

ArgumentDescription
KEYChemin pointé dans le profil, à définir (obligatoire).
VALUEValeur 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, Fix et Offending 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 sous Other problems.
  • La sortie JSON conserve le premier problème dans les champs de premier niveau de l'objet error et ajoute un tableau errors contenant 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 avec profile.managed_block_marker : field est son chemin pointé (par exemple rules.2 ou mcp_servers.search.env.SEARCH_MODE) et reason nomme le marqueur. La valeur elle-même n'est jamais renvoyée (safe_value vaut null), 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 edit

Codes de sortie

CodeSignification
0Succès (ou, pour edit, l'éditeur s'est fermé normalement)
1Profil manquant, invalide, déjà existant sans --force, ou impossible à écrire
64Erreur 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

On this page