Cuentas por carpeta
Esta página se tradujo automáticamente del inglés. Las correcciones son bienvenidas. Editar esta página en GitHub
ccam folder work ~/code/company hace que todo inicio sin nombre de cuenta dentro de ~/code/company, y en cualquier carpeta debajo de ella, inicie Claude Code como work. Fuera de ella, se inicia la cuenta predeterminada como antes. Si nombras una cuenta, con ccam personal o un atajo como ccpersonal, siempre se inicia esa cuenta.
Uso
ccam folder work ~/code/company # use work in ~/code/company and below
ccam folder personal # use personal in the current folder
ccam folder # list the folders and the account used here
ccam folder --remove ~/code/company # stop using an account there
cd ~/code/company/api && ccam -p "summarise the open issues" # runs as work$ ccam folder work ~/code/company
✓ /home/me/code/company → work
ccam without an account name starts work here and in every folder below.
$ cd ~/code/company/api && ccam folder
/home/me/code/company → work
Here (/home/me/code/company/api): work, set for /home/me/code/companyEstos inicios usan la cuenta de la carpeta:
ccam -p "…"y cualquier otro inicio cuyo primer argumento sea una opción para Claude Codeccam runsin nombre, yccam --dry-runccam --fallback -p "…"en su primer intento- el selector,
ccama secas, que empieza con el cursor en la cuenta de la carpeta
Opciones
| Opción | Qué hace | Valor predeterminado |
|---|---|---|
<account> |
Nombre o número de la cuenta que se usará | |
[folder] |
La carpeta, relativa o absoluta | la carpeta actual |
--remove |
Quita la entrada de exactamente esa carpeta | desactivada |
--dry-run |
Se respeta: imprime el cambio sin guardarlo | desactivada |
Cómo funciona
Cada carpeta es una entrada [[folder]] en ~/.config/ccam/config.toml, el archivo que cada inicio lee de todos modos:
[[folder]]
path = '/home/me/code/company'
account = 'work'ccam folderconvierte la carpeta en una ruta absoluta con los enlaces simbólicos resueltos y la guarda. Volver a asignar una carpeta reemplaza su cuenta.- Un inicio sin nombre llama a
launcher.HereProfile. Sin entradas, toma la cuenta predeterminada de inmediato. - Si no, compara el directorio de trabajo con cada
pathcomo cadenas: la propia carpeta o una debajo de ella, nunca una carpeta que solo empieza con las mismas letras (/code/companyno abarca/code/companyx). Gana la entrada más profunda, así que~/codepuede serpersonalmientras~/code/companyeswork. - Solo si el directorio de trabajo tal cual no coincide con nada, ccam resuelve sus enlaces simbólicos y compara una vez más.
- En Windows, la comparación no distingue mayúsculas de minúsculas, igual que Windows.
No se lee ningún archivo aparte de config.toml, así que un inicio dentro de una carpeta no cuesta un tiempo medible (4,0 ms con o sin entradas, hyperfine, 300 ejecuciones).
Seguridad y casos límite
ccam renametraslada las entradas de carpeta al nuevo nombre, yccam removeelimina las entradas de la cuenta quitada.- Una entrada cuya cuenta ya no existe detiene un inicio sin nombre en esa carpeta:
<folder> is set to account "<name>", which does not exist. Change it with ccam folder.ccam doctorinforma de esas entradas y de las entradas cuya carpeta ya no está. ccam folder --removedentro de una carpeta que obtiene su cuenta de una carpeta superior indica esa carpeta en lugar de quitar nada.ccam nextelige por rotación o por uso y no tiene en cuenta las carpetas.