Skip to content
Apothem
Referencia de la CLI

profile

Referencia de la CLI para el grupo de comandos apothem profile.

Gestiona el perfil compartido de Apothem.

profile es un grupo de comandos con cuatro subcomandos: init, show, set y edit. El perfil compartido es la única fuente de verdad que cada adaptador de entorno materializa en su configuración nativa.

Sinopsis

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]

Opciones comunes

Cada subcomando acepta las opciones compartidas que se indican a continuación.

OpciónDescripción
--profile PATHRuta al YAML del perfil compartido (por defecto, la ubicación estándar del perfil).
--quiet, -qSuprime la salida informativa; solo se emiten errores.
--verbose, -vEmite salida de diagnóstico adicional.
--format plain|jsonFormato de salida (por defecto: plain).
--jsonAbreviatura de --format json.
--no-colorDesactiva los códigos de color ANSI en la salida.
-h, --helpMuestra la ayuda y sale.

Subcomandos

profile init

Crea un andamiaje de perfil mínimo y válido según el esquema en ~/.config/apothem/profile.yaml o en --profile PATH. Los archivos existentes se conservan, a menos que se proporcione --force.

La primera línea del andamiaje es una modeline de yaml-language-server que nombra el $id del esquema del perfil, https://apothem.ahmedgad.com/schemas/profile.schema.json. El sitio sirve el esquema empaquetado en esa dirección, de modo que un editor con soporte del lenguaje YAML valida el perfil mientras lo editas. Cada esquema empaquetado bajo src/apothem/schemas/ se sirve de la misma manera en https://apothem.ahmedgad.com/schemas/<file>.

OpciónDescripción
--forceSobrescribe un andamiaje de perfil existente.

profile show

Muestra el perfil compartido validado y con los valores predeterminados expandidos. Con --json, el documento es el propio perfil, encabezado por schema_version: la versión del esquema del perfil con la que el motor lo leyó (consulta el contrato de la salida JSON).

profile set KEY VALUE

Establece una clave en el perfil compartido. KEY es una ruta con puntos que desciende por el perfil anidado (identity.name, preferences.style, enforcement.sprints, harnesses.<harness>.preferences.style); una clave única sin punto establece un nodo de nivel superior. VALUE se almacena como una cadena literal —las palabras sueltas no se convierten (no sigue siendo "no", 2024-01-01 y 1.0 siguen siendo cadenas)—, excepto true/false (los indicadores booleanos de aplicación) y la entrada explícita de lista o mapa [...]/{...}. El perfil completamente ensamblado se valida contra el esquema antes de escribir; una asignación no válida se rechaza y el perfil en disco queda sin cambios.

ArgumentoDescripción
KEYRuta con puntos dentro del perfil que se va a establecer (obligatorio).
VALUEValor literal que se asigna; se valida antes de escribir (obligatorio).

profile edit

Abre el perfil compartido en el editor del sistema.

Errores de validación

Cada comando que lee el perfil lo valida contra el esquema empaquetado e informa de todos los problemas que encuentra en una sola pasada, de modo que una sola edición puede corregirlos todos:

  • La salida en texto plano nombra el primer problema por completo (Field, Reason, Fix y Offending value (redacted): la entrada que falló, con los valores con forma de secreto reemplazados por <redacted>; nunca es un reemplazo sugerido) y después lista hasta diez más bajo Other problems.
  • La salida JSON conserva el primer problema en los campos de nivel superior del objeto error y agrega un arreglo errors con cada problema (code, field, reason, fix, safe_value).
  • Las claves desconocidas repiten solo la clave inesperada y su valor ocultado, no el perfil completo.
  • Marcadores de bloque gestionado. Ninguna clave ni ningún valor de texto puede contener <!-- BEGIN APOTHEM MANAGED BLOCK --> ni <!-- END APOTHEM MANAGED BLOCK -->. Apothem escribe esos marcadores alrededor del bloque que gestiona en los archivos de instrucciones, y el texto del perfil acaba dentro de ese bloque, de modo que un marcador en él dividiría el bloque. Cada uno de esos campos falla con profile.managed_block_marker: field es su ruta con puntos (por ejemplo rules.2 o mcp_servers.search.env.SEARCH_MODE) y reason nombra el marcador. El valor en sí nunca se repite (safe_value es null), ya que puede ser una credencial.

profile init (y cualquier otro comando que crea el andamiaje de un perfil) escribe schema_version: 1. Un perfil sin schema_version se lee como versión 1.

Ejemplos

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

Códigos de salida

CódigoSignificado
0Éxito (o, para edit, el editor salió con normalidad)
1El perfil falta, no es válido, ya existe sin --force o no se puede escribir
64Error de uso: una opción o un comando desconocidos, o un valor de opción ausente o no válido. Con --json, el error es un sobre JSON con el código cli.usage.

Véase también

On this page