Saltar al contenido principal

PARA TODOS

Varios proyectos

Si trabajas en varios repos — unos cuantos clientes, un par de proyectos personales, un monorepo — claude-kit encaja sin que nada se mezcle. La regla general: un /kit-init por proyecto.

Por qué es por proyecto

El kit configura deliberadamente cada proyecto por su cuenta, en lugar de una sola vez a nivel del directorio padre:

  • Viaja con el repo. Los agentes, las habilidades, las reglas y el kit.config.json de un proyecto viven todos en su propio .claude/. Haz commit de eso y todo el equipo comparte la misma configuración — clona el repo en otro lugar y simplemente funciona.
  • Memoria limpia. Cada proyecto se asocia a su propia ala (wing) de memoria, de modo que las decisiones y el contexto nunca se filtran de un proyecto a otro. Consulta Memoria.

En un espacio de trabajo o un monorepo, ejecuta /kit-init dentro de cada proyecto en lugar de en la raíz. /kit-init detecta si estás en un único proyecto o en una carpeta con varios y te recomienda en consecuencia.

Valores predeterminados compartidos en una carpeta

Que sea por proyecto no significa repetirse. Si una carpeta contiene varios proyectos y quieres que compartan una preferencia — el mismo idioma, el mismo formato de plan, la misma configuración de anotaciones — coloca un .claudekit/config.json en la carpeta padre.

Se propaga en cascada a todo lo que haya debajo, igual que hace .editorconfig: la carpeta más cercana gana, y sus ajustes se fusionan por encima de la config propia de cada proyecto sin pisar las decisiones específicas de cada proyecto.

clients/
.claudekit/config.json # valores predeterminados compartidos para todo lo de abajo
acme/
.claude/ # configuración propia de acme; hereda + puede sobrescribir
globex/
.claude/ # configuración propia de globex; hereda + puede sobrescribir

Así fijas las partes compartidas una sola vez, y cada proyecto sigue teniendo la última palabra sobre sus propios detalles.

Cómo funciona por dentro
  • Config del proyecto. El .claude/kit.config.json de cada proyecto es la fuente de verdad para ese proyecto, cargado por los scripts vía scripts/lib/kit-config.shload_kit_config, que lo aplana en variables de entorno KIT_*.
  • La cascada. Después de cargar la config del proyecto, load_kit_config recorre los directorios ancestros buscando archivos .claudekit/config.json y los fusiona en profundidad sobre la config del proyecto (de lejos → cerca, gana el más cercano) usando jq '.[0] * .[1]'. Reexporta los campos que tienen sentido a nivel de carpeta — KIT_LANG, KIT_PLANS_FORMAT, el conjunto KIT_ANNOTATE_* — y expone el resultado totalmente fusionado como KIT_EFFECTIVE_CONFIG.
  • ¿Sin .claudekit/? Sin cambios. Los proyectos sin ningún .claudekit/ ancestro se comportan exactamente como antes — la cascada es puramente aditiva.

A dónde ir después