Setups globales de tooling
Perfiles de desarrollo
Qué son
Un perfil es un conjunto con nombre de pins (artifacts y kits) que HubBound materializa en los homes globales de tus tools — Claude Code, Cursor, Codex, Copilot, Antigravity, etc.
Los perfiles son solo globales. No reemplazan el archivo HubBound del proyecto (hubbound.json), y no aplican con --scope local.
Para qué sirven
Usalos cuando necesitás setups globales distintos — por ejemplo work vs personal — y un swap seguro entre ellos.
El switch quita solo installs opcionales del perfil anterior y después aplica los pins del destino.
- Nunca desinstala installs enforced / RuleMandatory.
- Nunca borra archivos sin marcadores de ownership de HubBound.
- Los pins con versión latest se chequean por updates durante el switch.
Dónde se guardan
Viven bajo el directorio de config de usuario de HubBound (os.UserConfigDir()/hubbound-lab). En macOS suele ser ~/Library/Application Support/hubbound-lab; en Linux ~/.config/hubbound-lab.
hubbound-lab/
profiles/
active # ej. work
work/hubbound.json
personal/hubbound.json
state/
artifact_installs.json
kit_installs.json
| profiles/<name>/hubbound.json | Pins de ese perfil (misma forma que el manifesto de proyecto). |
| profiles/active | Nombre en texto plano del perfil activo. |
| state/artifact_installs.json | Ledger de installs; las filas del perfil llevan profile_id. |
| state/kit_installs.json | Ledger de kits; mismo campo opcional profile_id. |
Qué modifican
Aplicar un perfil instala o actualiza los kits/artifacts pineados en los directorios globales de las tools y estampa profile_id en el ledger.
Al salir de un perfil se desinstalan los opcionales cuyo profile_id coincide con el activo anterior y que el destino no requiere.
- Archivos de providers que HubBound posee (skills, hooks, rules, etc.) de installs opcionales del perfil.
- profiles/active y los pins del hubbound.json del perfil.
- Entradas del ledger — la pertenencia vive en profile_id, no en el formato de marcadores del provider.
Comandos que los usan
Los perfiles se manejan con los subcomandos profile y con install --profile.
$ hubbound profile create work
$ hubbound install artifact author/my-hook --profile work
$ hubbound profile switch personal
$ hubbound profile list
| hubbound profile create | Crea profiles/<name>/hubbound.json. El primero queda activo; puede absorber installs globales sin perfil. |
| hubbound profile switch | Teardown de opcionales del perfil anterior → check de pins latest → aplica destino → escribe profiles/active. |
| hubbound profile list | Escanea profiles/*/hubbound.json; muestra conteos y cuál está activo. |
| hubbound install … --profile | Siempre pinnea en ese perfil. Activo → instala ya. Inactivo → ofrece switch en TUI (o imprime hint con --no-tui). |