Ir al contenido

Comandos CLI

ComandoDescripción
kj initWizard interactivo de configuración
kj run <task>Pipeline completo: coder → sonar → reviewer
kj code <task>Solo coder
kj review <task>Solo reviewer
kj plan <task>Generar plan de implementación
kj scanEjecutar análisis SonarQube
kj doctorVerificar entorno
kj configMostrar configuración
kj reportInformes de sesión con tracking de presupuesto
kj resume <id>Reanudar sesión pausada
kj rolesInspeccionar roles y templates del pipeline
kj agentsListar o cambiar el agente IA por rol del pipeline
kj audit [task]Auditoría de salud del codebase de solo lectura (5 dimensiones, puntuaciones A-F)
kj statusDashboard de terminal con estados de HUs, stage, tiempos, progreso
kj undoRevertir ultima ejecucion del pipeline (soft reset o —hard)
kj board <subcommand>Gestionar dashboard HU Board
kj sonar <subcommand>Gestionar contenedor Docker de SonarQube

Opciones globales: --help, --version


Inicializar configuración, reglas de revisión y setup de SonarQube.

Ventana de terminal
kj init [options]
FlagTipoDefaultDescripción
--no-interactivebooleanfalseSaltar wizard, usar defaults (para CI/scripts)

Que hace:

  • Crea ~/.karajan/kj.config.yml con defaults sensatos
  • Crea review-rules.md y coder-rules.md en el proyecto
  • Detecta agentes IA disponibles y guia la seleccion
  • Arranca contenedor Docker de SonarQube si esta habilitado
  • Auto-añade .kj/, .agent/, .scannerwork/ al .gitignore del proyecto si faltan (v1.57.2+)

Ejemplos:

Ventana de terminal
# Setup interactivo
kj init
# No interactivo (CI/CD)
kj init --no-interactive

Pipeline completo: coder → refactorer → sonar → bucle reviewer con etapas opcionales pre/post.

Ventana de terminal
kj run "<task>" [options]

El argumento <task> acepta:

  • Una descripción en texto: "Corregir el bug de login"
  • Un ID de card del Planning Game: "KJC-TSK-0042" (cuando --pg-project está configurado o el config tiene planning_game.project_id)
FlagTipoDefaultDescripción
--coder <name>stringde configAgente IA para codificar (claude, codex, gemini, aider, opencode)
--reviewer <name>stringde configAgente IA para revisión
--planner <name>stringAgente IA para planificación
--refactorer <name>stringAgente IA para refactoring
--coder-model <model>stringModelo específico para coder (ej: sonnet, opus)
--reviewer-model <model>stringModelo específico para reviewer
--planner-model <model>stringModelo específico para planner
--refactorer-model <model>stringModelo específico para refactorer
FlagDefaultDescripción
--enable-planneroffHabilitar etapa de planificación
--enable-refactoreroffHabilitar etapa de refactoring
--enable-researcheroffHabilitar etapa de investigación (análisis del codebase)
--enable-testeroffHabilitar etapa de testing (quality gate de tests)
--enable-securityoffHabilitar auditoría de seguridad (OWASP)
--enable-triageoffHabilitar clasificación de complejidad
--enable-revieweronHabilitar etapa de revisión
--enable-serenaoffHabilitar integración Serena MCP
--enable-impeccableoffHabilitar auditoría de diseño Impeccable (quality gate automatizado de UI/UX)
--enable-hu-revieweroffHabilitar certificación de HUs (quality gate de historias de usuario)
--hu-file <path>stringRuta al fichero de historia de usuario para el HU reviewer
--auto-simplifyonAuto-simplificar pipeline para triage nivel 1-2 (solo coder, omite reviewer/tester)
--no-auto-simplifyDesactivar auto-simplify: ejecutar siempre el pipeline completo independientemente del nivel de triage
FlagTipoDefaultDescripción
--mode <name>stringstandardExigencia de revisión: paranoid, strict, standard, relaxed
--methodology <name>stringauto-detectadoEnfoque de desarrollo: tdd o standard. Auto-detectado del framework de tests del proyecto desde v1.25.0
--reviewer-fallback <name>stringcodexReviewer de respaldo si el primario falla
--reviewer-retries <n>number1Máximo de reintentos del reviewer
--coder-fallback <name>stringCoder de respaldo si el primario alcanza rate limit
FlagTipoDefaultDescripción
--max-iterations <n>number5Máximo de bucles coder/reviewer
--max-iteration-minutes <n>number15Timeout por iteración (minutos)
--max-total-minutes <n>number120Timeout total de sesión (minutos)
--checkpoint-interval <n>number5Minutos entre checkpoints interactivos (0 para desactivar)
FlagTipoDefaultDescripción
--base-branch <name>stringmainRama base para generar diff
--base-ref <ref>stringRef git explícita (ej: HEAD~3)
--auto-commitbooleanfalseAuto-commit tras aprobación
--auto-pushbooleanfalseAuto-push tras commit
--auto-prbooleanfalseCrear PR tras push
--no-auto-rebasebooleanfalseDesactivar auto-rebase antes de push
--branch-prefix <prefix>stringfeat/Prefijo de nombre de rama
FlagTipoDefaultDescripción
--no-sonarbooleanfalseSaltar análisis SonarQube
--pg-task <cardId>stringID de card del Planning Game
--pg-project <projectId>stringID de proyecto del Planning Game
--smart-modelsbooleande configActivar selección inteligente de modelos según complejidad del triage
--no-smart-modelsbooleanDesactivar selección inteligente de modelos
FlagTipoDefaultDescripción
--dry-runbooleanfalseMostrar qué se ejecutaría sin ejecutar
--jsonbooleanfalseOutput solo JSON (sin display estilizado)
Ventana de terminal
# Ejecución básica con defaults
kj run "Añadir validación de inputs al formulario de registro"
# TDD estricto con agentes específicos
kj run "Corregir inyección SQL en endpoint de búsqueda" \
--coder claude --reviewer codex --mode paranoid
# Multi-agente con todas las etapas
kj run "Implementar autenticación de usuario" \
--enable-planner --enable-tester --enable-security \
--coder claude --reviewer codex --max-iterations 3
# Integración Planning Game
kj run "KJC-TSK-0042" --pg-project "Karajan Code"
# Dry run para previsualizar pipeline
kj run "Refactorizar capa de base de datos" --dry-run
# Auto-commit y push tras aprobación
kj run "Añadir spinner de carga" --auto-commit --auto-push

Ejecutar solo coder — sin bucle de revisión. Útil para cambios rápidos que revisarás tú mismo.

Ventana de terminal
kj code "<task>" [options]
FlagTipoDefaultDescripción
--coder <name>stringde configAgente IA para codificar
--coder-model <model>stringModelo específico para coder

Ejemplos:

Ventana de terminal
kj code "Añadir un spinner de carga al dashboard"
kj code "Escribir tests unitarios para el servicio de auth" --coder gemini

Ejecutar solo reviewer contra el diff git actual. Útil después de cambios manuales.

Ventana de terminal
kj review "<task>" [options]
FlagTipoDefaultDescripción
--reviewer <name>stringde configAgente IA para revisión
--reviewer-model <model>stringModelo específico para reviewer
--base-ref <ref>stringmainRef git contra la que hacer diff

Ejemplos:

Ventana de terminal
kj review "Revisar mi refactor de autenticación"
kj review "Buscar problemas de seguridad" --reviewer claude --base-ref HEAD~5

Generar un plan de implementación sin escribir código.

Ventana de terminal
kj plan "<task>" [options]
FlagTipoDefaultDescripción
--planner <name>stringrol coderAgente IA para planificación
--planner-model <model>stringModelo específico para planner
--context <text>stringContexto adicional para el planner
--jsonbooleanfalseOutput JSON crudo del plan

Ejemplos:

Ventana de terminal
kj plan "Migrar de REST a GraphQL"
kj plan "Añadir soporte multi-tenant" --context "Usando row-level security" --json

Ejecutar análisis estático SonarQube sobre el proyecto actual.

Ventana de terminal
kj scan

Sin opciones adicionales. Usa la configuración de SonarQube del config.

Prerrequisitos: Docker corriendo, contenedor SonarQube arrancado (kj sonar start).


Verificar el entorno del sistema para herramientas y configuración requeridas.

Ventana de terminal
kj doctor

Comprobaciones realizadas:

CheckQué verifica
Karajan versionMuestra la versión instalada de Karajan Code
Config filekj.config.yml existe
Git repositoryDentro de un repo git
DockerDocker instalado
SonarQubeAccesible en el host configurado
Agent CLIsClaude, Codex, Gemini, Aider responden a --version
Core binariesnode, npm, git instalados
Serena MCPserena --version (cuando habilitado)
Rule filesreview-rules.md y coder-rules.md existen

Cada check muestra OK o MISS con una solución sugerida.


Mostrar o editar la configuración.

Ventana de terminal
kj config [options]
FlagTipoDefaultDescripción
--jsonbooleanfalseOutput como JSON
--editbooleanfalseAbrir en $EDITOR para editar

Ejemplos:

Ventana de terminal
kj config # Pretty-print del config actual
kj config --json # Output como JSON
kj config --edit # Abrir en editor

Mostrar informes de sesión con tracking de presupuesto y uso de tokens.

Ventana de terminal
kj report [options]
FlagTipoDefaultDescripción
--listbooleanfalseListar todos los IDs de sesión
--session-id <id>stringúltimaMostrar informe de una sesión específica
--format <type>stringtextFormato de output: text o json
--tracebooleanfalseMostrar traza cronológica de todas las etapas
--currency <code>stringusdMostrar costes en usd o eur

El informe incluye:

  • ID de sesión y estado
  • Descripción de la tarea
  • Etapas del pipeline ejecutadas
  • Iteraciones (ejecuciones del coder, intentos del reviewer, estado de aprobación)
  • Issues de SonarQube (inicial → final → delta)
  • Presupuesto estimado consumido
  • Commits generados
  • Modo trace: timing por etapa, tokens in/out, desglose de costes

Ejemplos:

Ventana de terminal
kj report # Última sesión
kj report --trace # Desglose detallado de costes
kj report --list # Listar todas las sesiones
kj report --session-id s_2026-02-28... # Sesión específica
kj report --trace --currency eur # Costes en EUR
kj report --format json # Legible por máquina

Reanudar una sesión pausada, detenida o fallida. Las sesiones se pausan por detección de repeticiones, avisos de presupuesto o cuando se necesita guía humana.

Ventana de terminal
kj resume <sessionId> [options]
FlagTipoDefaultDescripción
--answer <text>stringRespuesta a la pregunta que causó la pausa
--jsonbooleanfalseOutput solo JSON

Ejemplos:

Ventana de terminal
# Reanudar con guía
kj resume s_2026-02-28T20-47-24 --answer "Enfócate en el issue de seguridad primero"
# Reanudar y ver resultado como JSON
kj resume s_2026-02-28T20-47-24 --answer "Ignora los issues de estilo" --json

Listar roles del pipeline o mostrar instrucciones del template de un rol.

Ventana de terminal
kj roles [subcommand] [role]
SubcomandoDescripción
list (default)Listar todos los roles disponibles
show <role>Mostrar el template completo de un rol

Roles disponibles:

RolPropósito
triageClasificación de complejidad de tareas
researcherInvestigación del codebase
plannerPlanificación de implementación
coderGeneración de código y tests
refactorerMejora de calidad de código
sonarAnálisis estático
reviewerRevisión de código
testerQuality gate de tests
securityAuditoría de seguridad OWASP
solomonResolución de conflictos
commiterAutomatización git
discoverDetección de gaps pre-ejecución
hu-reviewerCertificación de historias de usuario
architectDiseño de arquitectura de solución
auditAuditoría de salud del codebase de solo lectura

Variantes de modo de revisión: reviewer-strict, reviewer-relaxed, reviewer-paranoid

Ejemplos:

Ventana de terminal
kj roles # Listar todos los roles
kj roles show coder # Mostrar template del coder
kj roles show reviewer # Mostrar template del reviewer

Listar o cambiar el agente IA asignado a cada rol del pipeline al vuelo. Los cambios se persisten en kj.config.yml — no requiere reinicio.

Ventana de terminal
kj agents [subcommand] [role] [agent]
SubcomandoDescripción
list (default)Mostrar asignación actual de agente por rol
set <role> <agent>Asignar un agente a un rol y persistir en config

Ejemplos:

Ventana de terminal
kj agents # Listar agente actual por rol
kj agents list # Igual que arriba
kj agents set coder gemini # Cambiar el rol coder a Gemini
kj agents set reviewer claude # Cambiar el rol reviewer a Claude

Muestra un dashboard de terminal con los estados de las HUs, la stage actual del pipeline, tiempos y progreso general.

Ventana de terminal
kj status

Cuando se llama via MCP (kj_status), devuelve JSON estructurado con la misma informacion para acceso programatico.

El output incluye:

  • Stage actual del pipeline y agente
  • Estados de las HUs (pending, coding, reviewing, done, failed, blocked)
  • Cuenta de iteraciones y tiempos
  • Porcentaje de progreso
  • Resumen de errores (si los hay)

Revierte la ultima ejecucion del pipeline. Realiza un soft reset de git por defecto, preservando los cambios en el directorio de trabajo.

Ventana de terminal
kj undo [options]
FlagTipoDefaultDescripcion
--hardbooleanfalseHard reset: descarta todos los cambios de la ultima ejecucion
--session-id <id>stringultimaRevertir una sesion especifica en vez de la ultima

Ejemplos:

Ventana de terminal
# Soft reset (mantiene cambios en directorio de trabajo)
kj undo
# Hard reset (descarta todos los cambios)
kj undo --hard
# Revertir una sesion especifica
kj undo --session-id s_2026-03-28T14-30-00

Gestionar el dashboard HU Board para seguimiento visual de tareas.

Ventana de terminal
kj board <subcommand>
SubcomandoDescripción
startArrancar el dashboard HU Board
stopParar el dashboard HU Board
statusComprobar si el HU Board está corriendo
openAbrir el HU Board en el navegador

Ejemplos:

Ventana de terminal
kj board start # Arrancar el dashboard
kj board status # Comprobar si está corriendo
kj board open # Abrir en el navegador
kj board stop # Parar el dashboard

Gestionar el contenedor Docker de SonarQube.

Ventana de terminal
kj sonar <subcommand>
SubcomandoDescripción
statusComprobar estado del contenedor
startArrancar contenedor SonarQube
stopParar contenedor SonarQube
logsVer logs del contenedor
openAbrir dashboard SonarQube en el navegador

Ejemplos:

Ventana de terminal
kj sonar status # ¿Está SonarQube corriendo?
kj sonar start # Arrancarlo
kj sonar open # Abrir dashboard en http://localhost:9000
kj sonar logs # Ver logs si algo va mal
kj sonar stop # Parar cuando termines

VariableDescripciónDefault
KJ_HOMEDirectorio de config y sesiones~/.karajan
KJ_SONAR_TOKENToken de autenticación SonarQubede config
KJ_SONAR_PROJECT_KEYClave de proyecto SonarQubeauto-detectada
KJ_SONAR_ADMIN_USERUsuario admin SonarQubeadmin
KJ_SONAR_ADMIN_PASSWORDContraseña admin SonarQubede config
SONAR_TOKENToken SonarQube alternativofallback
HU_BOARD_TOKENToken Bearer para autenticacion del HU Board
PG_API_URLURL del API del Planning Gamehttps://planning-game.geniova.com/api
VISUALEditor de texto para kj config --editfallback a EDITOR
EDITOREditor de texto fallbackvi

CódigoSignificado
0Éxito
1Error (comando fallido, error de validación, error de config, presupuesto excedido)